diff --git a/Gemfile b/Gemfile
index 0400404..2c798dd 100644
--- a/Gemfile
+++ b/Gemfile
@@ -57,6 +57,7 @@ group :development do
gem 'binding_of_caller', '~> 0.7.2'
gem 'annotate', '~> 2.6.2'
gem 'quiet_assets', '~> 1.0.2'
+ gem 'web-console'
end
group :test do
diff --git a/Gemfile.lock b/Gemfile.lock
index 10835d7..0379660 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -309,8 +309,18 @@ GEM
execjs (>= 0.3.0)
json (>= 1.8.0)
unicode_utils (1.4.0)
+<<<<<<< Updated upstream
websocket (1.0.7)
websocket-driver (0.7.0)
+=======
+ web-console (2.3.0)
+ activemodel (>= 4.0)
+ binding_of_caller (>= 0.7.2)
+ railties (>= 4.0)
+ sprockets-rails (>= 2.0, < 4.0)
+ websocket (1.2.8)
+ websocket-driver (0.7.1)
+>>>>>>> Stashed changes
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.3)
will_paginate (3.0.12)
@@ -373,6 +383,7 @@ DEPENDENCIES
timecop (~> 0.7.1)
tinymce-rails (~> 3.5.9)
uglifier (~> 2.5.0)
+ web-console
will_paginate (~> 3.0.5)
RUBY VERSION
diff --git a/app/controllers/shoutmsgs_controller.rb b/app/controllers/shoutmsgs_controller.rb
index 6647daf..9181c3a 100644
--- a/app/controllers/shoutmsgs_controller.rb
+++ b/app/controllers/shoutmsgs_controller.rb
@@ -1,6 +1,13 @@
class ShoutmsgsController < ApplicationController
respond_to :html, :js
+<<<<<<< Updated upstream
+=======
+ def index
+ @shoutmsgs = Shoutmsg.typebox
+ end
+
+>>>>>>> Stashed changes
def show
if params[:id2]
@shoutmsgs = Shoutmsg.recent.of_object(params[:id], params[:id2]).reverse
diff --git a/app/models/shoutmsg.rb b/app/models/shoutmsg.rb
index 60e0d59..2047eeb 100644
--- a/app/models/shoutmsg.rb
+++ b/app/models/shoutmsg.rb
@@ -39,6 +39,16 @@ class Shoutmsg < ActiveRecord::Base
belongs_to :user
belongs_to :shoutable, :polymorphic => true
+<<<<<<< Updated upstream
+=======
+ scope :recent, -> { includes(:user).order("id DESC").limit(8) }
+ scope :box, -> { where(shoutable_type: nil, shoutable_id: nil).limit(8) }
+ scope :typebox, -> { where(shoutable_type: nil, shoutable_id: nil) }
+ scope :last500, -> { includes(:user).order("id DESC").limit(500) }
+ scope :of_object, -> (object, id) { where(shoutable_type: object, shoutable_id: id) }
+ scope :ordered, order("id")
+
+>>>>>>> Stashed changes
def domain
self[:shoutable_type] ? "shout_#{shoutable_type}_#{shoutable_id}" : "shoutbox"
end
diff --git a/app/views/shoutmsgs/index.html.erb b/app/views/shoutmsgs/index.html.erb
new file mode 100644
index 0000000..9a984f6
--- /dev/null
+++ b/app/views/shoutmsgs/index.html.erb
@@ -0,0 +1,20 @@
+
Last 500 Shoutbox Messages
+
+
+
+ Date |
+ Time |
+ User |
+ Text |
+
+
+ <% @shoutmsgs.each do |shoutmsg| %>
+
+ <%= shoutmsg.created_at.strftime("%Y/%m/%d") %> |
+ <%= shoutmsg.created_at.strftime("%H:%M") %> |
+ <%= namelink shoutmsg.user %> |
+ <%= shoutmsg.text %> |
+
+ <% end %>
+
+
diff --git a/config/environments/development.rb b/config/environments/development.rb
index 16d3963..3180594 100644
--- a/config/environments/development.rb
+++ b/config/environments/development.rb
@@ -31,6 +31,13 @@ Ensl::Application.configure do
# Use a different cache store
config.cache_store = :dalli_store
+<<<<<<< Updated upstream
# Enable threaded mode
# config.threadsafe!
+=======
+ config.eager_load = false
+
+ config.web_console.permissions = '172.18.0.0/16'
+ config.web_console.whiny_requests = true
+>>>>>>> Stashed changes
end
diff --git a/spec/controllers/shoutmsgs_controller_spec.rb b/spec/controllers/shoutmsgs_controller_spec.rb
new file mode 100644
index 0000000..271d523
--- /dev/null
+++ b/spec/controllers/shoutmsgs_controller_spec.rb
@@ -0,0 +1,9 @@
+require 'rails_helper'
+
+RSpec.describe ShoutmsgsController, type: :controller do
+ it "renders the index template" do
+ get :index
+ expect(response).to have_http_status(200)
+ expect(response).to render_template("index")
+ end
+end
\ No newline at end of file
diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb
new file mode 100644
index 0000000..2ad2089
--- /dev/null
+++ b/spec/rails_helper.rb
@@ -0,0 +1,52 @@
+# This file is copied to spec/ when you run 'rails generate rspec:install'
+ENV['RAILS_ENV'] ||= 'test'
+require File.expand_path('../../config/environment', __FILE__)
+# Prevent database truncation if the environment is production
+abort("The Rails environment is running in production mode!") if Rails.env.production?
+require 'rails_helper'
+require 'rspec/rails'
+# Add additional requires below this line. Rails is not loaded until this point!
+
+# Requires supporting ruby files with custom matchers and macros, etc, in
+# spec/support/ and its subdirectories. Files matching `spec/**/*_spec.rb` are
+# run as spec files by default. This means that files in spec/support that end
+# in _spec.rb will both be required and run as specs, causing the specs to be
+# run twice. It is recommended that you do not name files matching this glob to
+# end with _spec.rb. You can configure this pattern with the --pattern
+# option on the command line or in ~/.rspec, .rspec or `.rspec-local`.
+#
+# The following line is provided for convenience purposes. It has the downside
+# of increasing the boot-up time by auto-requiring all files in the support
+# directory. Alternatively, in the individual `*_spec.rb` files, manually
+# require only the support files necessary.
+#
+Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }
+
+# Checks for pending migrations before tests are run.
+# If you are not using ActiveRecord, you can remove this line.
+ActiveRecord::Migration.maintain_test_schema!
+
+RSpec.configure do |config|
+ # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
+ config.fixture_path = "#{::Rails.root}/spec/fixtures"
+
+ # If you're not using ActiveRecord, or you'd prefer not to run each of your
+ # examples within a transaction, remove the following line or assign false
+ # instead of true.
+ config.use_transactional_fixtures = true
+
+ # RSpec Rails can automatically mix in different behaviours to your tests
+ # based on their file location, for example enabling you to call `get` and
+ # `post` in specs under `spec/controllers`.
+ #
+ # You can disable this behaviour by removing the line below, and instead
+ # explicitly tag your specs with their type, e.g.:
+ #
+ # RSpec.describe UsersController, :type => :controller do
+ # # ...
+ # end
+ #
+ # The different available types are documented in the features, such as in
+ # https://relishapp.com/rspec/rspec-rails/docs
+ config.infer_spec_type_from_file_location!
+end