commontator 2.0.2 → 4.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/MIT-LICENSE +1 -1
- data/README.md +20 -2
- data/app/controllers/commontator/comments_controller.rb +19 -11
- data/app/controllers/commontator/subscriptions_controller.rb +5 -5
- data/app/controllers/commontator/threads_controller.rb +3 -3
- data/app/mailers/commontator/subscriptions_mailer.rb +3 -2
- data/app/models/commontator/comment.rb +0 -6
- data/app/models/commontator/subscription.rb +0 -4
- data/app/models/commontator/thread.rb +4 -7
- data/app/views/commontator/comments/_actions.html.erb +1 -1
- data/app/views/commontator/comments/_votes.html.erb +4 -4
- data/app/views/commontator/shared/_thread.html.erb +1 -1
- data/app/views/commontator/subscriptions/_link.html.erb +1 -1
- data/app/views/commontator/threads/_show.html.erb +1 -1
- data/config/initializers/commontator.rb +1 -1
- data/config/routes.rb +15 -15
- data/db/migrate/0_install.rb +50 -0
- data/db/migrate/0_install.rb~ +3 -3
- data/lib/commontator/shared_helper.rb +1 -1
- data/lib/commontator/version.rb +1 -1
- data/lib/commontator/version.rb~ +1 -1
- data/spec/app/controllers/commontator/comments_controller_spec.rb +90 -41
- data/spec/app/controllers/commontator/subscriptions_controller_spec.rb +16 -16
- data/spec/app/controllers/commontator/threads_controller_spec.rb +13 -13
- data/spec/app/helpers/commontator/application_helper_spec.rb +1 -1
- data/spec/app/helpers/commontator/threads_helper_spec.rb +1 -1
- data/spec/app/mailers/commontator/subscriptions_mailer_spec.rb +2 -2
- data/spec/app/models/commontator/comment_spec.rb +1 -1
- data/spec/app/models/commontator/subscription_spec.rb +1 -1
- data/spec/app/models/commontator/thread_spec.rb +1 -1
- data/spec/dummy/Rakefile +0 -1
- data/spec/dummy/config.ru +1 -1
- data/spec/dummy/config/application.rb +4 -36
- data/spec/dummy/config/boot.rb +4 -9
- data/spec/dummy/config/environment.rb +2 -2
- data/spec/dummy/config/environments/development.rb +11 -19
- data/spec/dummy/config/environments/production.rb +40 -27
- data/spec/dummy/config/environments/test.rb +13 -14
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy/config/initializers/inflections.rb +6 -5
- data/spec/dummy/config/initializers/secret_token.rb +7 -2
- data/spec/dummy/config/initializers/session_store.rb +0 -5
- data/spec/dummy/config/initializers/wrap_parameters.rb +6 -6
- data/spec/dummy/config/locales/en.yml +20 -2
- data/spec/dummy/db/schema.rb +41 -41
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/test.log +0 -8352
- data/spec/lib/commontator/acts_as_commontable_spec.rb +1 -1
- data/spec/lib/commontator/acts_as_commontable_spec.rb~ +2 -2
- data/spec/lib/commontator/acts_as_commontator_spec.rb +1 -1
- data/spec/lib/commontator/commontable_config_spec.rb +1 -1
- data/spec/lib/commontator/commontator_config_spec.rb +1 -1
- data/spec/lib/commontator/controller_includes_spec.rb +3 -3
- data/spec/lib/commontator/shared_helper_spec.rb +7 -3
- data/spec/lib/commontator_spec.rb +1 -1
- data/spec/{minitest_helper.rb → test_helper.rb} +8 -4
- metadata +9 -10
- data/app/models/commontator/comment_observer.rb +0 -12
- data/db/migrate/0_install_commontator.rb +0 -50
- data/spec/app/models/commontator/comment_observer_spec.rb +0 -27
@@ -1,9 +1,9 @@
|
|
1
|
-
require '
|
1
|
+
require 'minitest_helper'
|
2
2
|
|
3
3
|
module Commontator
|
4
4
|
describe ActsAsCommontable do
|
5
5
|
it 'must add methods to ActiveRecord and subclasses' do
|
6
|
-
ActiveRecord::Base.must_respond_to :
|
6
|
+
ActiveRecord::Base.must_respond_to :acts_as_commontable
|
7
7
|
ActiveRecord::Base.must_respond_to :is_commontable
|
8
8
|
ActiveRecord::Base.is_commontable.must_equal false
|
9
9
|
DummyModel.must_respond_to :acts_as_commontable
|
@@ -1,10 +1,10 @@
|
|
1
|
-
require '
|
1
|
+
require 'test_helper'
|
2
2
|
|
3
3
|
module Commontator
|
4
4
|
describe ControllerIncludes do
|
5
5
|
it 'must add commontator_thread_show to ActionController instances' do
|
6
|
-
ActionController::Base.new.
|
7
|
-
DummyModelsController.new.
|
6
|
+
ActionController::Base.new.respond_to?(:commontator_thread_show, true).must_equal true
|
7
|
+
DummyModelsController.new.respond_to?(:commontator_thread_show, true).must_equal true
|
8
8
|
end
|
9
9
|
|
10
10
|
it 'must add shared helper to ActionController and subclasses' do
|
@@ -1,10 +1,14 @@
|
|
1
|
-
require '
|
1
|
+
require 'test_helper'
|
2
2
|
|
3
3
|
module Commontator
|
4
4
|
describe SharedHelper do
|
5
5
|
it 'must show commontator thread' do
|
6
|
-
|
7
|
-
|
6
|
+
controller = DummyModelsController.new
|
7
|
+
# Workaround for https://github.com/rails/rails/issues/11662
|
8
|
+
controller.define_singleton_method(:params) do
|
9
|
+
{}
|
10
|
+
end
|
11
|
+
thread_link = controller.view_context.commontator_thread(DummyModel.create)
|
8
12
|
thread_link.wont_be_nil
|
9
13
|
thread_link.wont_be_empty
|
10
14
|
end
|
@@ -1,10 +1,14 @@
|
|
1
|
-
# Configure Rails Environment
|
2
1
|
ENV["RAILS_ENV"] = "test"
|
2
|
+
require File.expand_path("../dummy/config/environment", __FILE__)
|
3
|
+
require "rails/test_help"
|
4
|
+
require "minitest/rails"
|
3
5
|
|
4
|
-
|
6
|
+
# To add Capybara feature tests add `gem "minitest-rails-capybara"`
|
7
|
+
# to the test group in the Gemfile and uncomment the following:
|
8
|
+
# require "minitest/rails/capybara"
|
5
9
|
|
6
|
-
|
7
|
-
require "minitest/
|
10
|
+
# Uncomment for awesome colorful output
|
11
|
+
# require "minitest/pride"
|
8
12
|
|
9
13
|
Rails.backtrace_cleaner.remove_silencers!
|
10
14
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: commontator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dante Soares
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-09-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '4.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '4.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: jquery-rails
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,7 +108,6 @@ files:
|
|
108
108
|
- app/models/commontator/subscription.rb~
|
109
109
|
- app/models/commontator/thread.rb
|
110
110
|
- app/models/commontator/comment.rb
|
111
|
-
- app/models/commontator/comment_observer.rb
|
112
111
|
- app/models/commontator/comment.rb~
|
113
112
|
- app/helpers/commontator/threads_helper.rb
|
114
113
|
- app/helpers/commontator/application_helper.rb
|
@@ -144,7 +143,7 @@ files:
|
|
144
143
|
- config/initializers/commontator.rb~
|
145
144
|
- config/initializers/commontator.rb
|
146
145
|
- config/routes.rb~
|
147
|
-
- db/migrate/
|
146
|
+
- db/migrate/0_install.rb
|
148
147
|
- db/migrate/0_install.rb~
|
149
148
|
- lib/commontator.rb~
|
150
149
|
- lib/commontator/version.rb~
|
@@ -168,7 +167,6 @@ files:
|
|
168
167
|
- MIT-LICENSE
|
169
168
|
- Rakefile
|
170
169
|
- README.md
|
171
|
-
- spec/minitest_helper.rb
|
172
170
|
- spec/app/controllers/commontator/comments_controller_spec.rb~
|
173
171
|
- spec/app/controllers/commontator/threads_controller_spec.rb~
|
174
172
|
- spec/app/controllers/commontator/threads_controller_spec.rb
|
@@ -176,7 +174,6 @@ files:
|
|
176
174
|
- spec/app/controllers/commontator/comments_controller_spec.rb
|
177
175
|
- spec/app/controllers/commontator/subscriptions_controller_spec.rb
|
178
176
|
- spec/app/models/commontator/comment_observer_spec.rb~
|
179
|
-
- spec/app/models/commontator/comment_observer_spec.rb
|
180
177
|
- spec/app/models/commontator/thread_spec.rb~
|
181
178
|
- spec/app/models/commontator/comment_spec.rb
|
182
179
|
- spec/app/models/commontator/subscription_spec.rb
|
@@ -189,6 +186,7 @@ files:
|
|
189
186
|
- spec/app/helpers/commontator/application_helper_spec.rb
|
190
187
|
- spec/app/mailers/commontator/subscriptions_mailer_spec.rb
|
191
188
|
- spec/app/mailers/commontator/subscriptions_mailer_spec.rb~
|
189
|
+
- spec/test_helper.rb
|
192
190
|
- spec/minitest_helper.rb~
|
193
191
|
- spec/dummy/script/rails
|
194
192
|
- spec/dummy/Rakefile
|
@@ -222,6 +220,7 @@ files:
|
|
222
220
|
- spec/dummy/config/initializers/secret_token.rb~
|
223
221
|
- spec/dummy/config/initializers/wrap_parameters.rb
|
224
222
|
- spec/dummy/config/initializers/secret_token.rb
|
223
|
+
- spec/dummy/config/initializers/filter_parameter_logging.rb
|
225
224
|
- spec/dummy/config/initializers/mime_types.rb
|
226
225
|
- spec/dummy/config/initializers/session_store.rb
|
227
226
|
- spec/dummy/config/initializers/commontator.rb
|
@@ -288,7 +287,6 @@ signing_key:
|
|
288
287
|
specification_version: 4
|
289
288
|
summary: Allows users to comment on any model in your application.
|
290
289
|
test_files:
|
291
|
-
- spec/minitest_helper.rb
|
292
290
|
- spec/app/controllers/commontator/comments_controller_spec.rb~
|
293
291
|
- spec/app/controllers/commontator/threads_controller_spec.rb~
|
294
292
|
- spec/app/controllers/commontator/threads_controller_spec.rb
|
@@ -296,7 +294,6 @@ test_files:
|
|
296
294
|
- spec/app/controllers/commontator/comments_controller_spec.rb
|
297
295
|
- spec/app/controllers/commontator/subscriptions_controller_spec.rb
|
298
296
|
- spec/app/models/commontator/comment_observer_spec.rb~
|
299
|
-
- spec/app/models/commontator/comment_observer_spec.rb
|
300
297
|
- spec/app/models/commontator/thread_spec.rb~
|
301
298
|
- spec/app/models/commontator/comment_spec.rb
|
302
299
|
- spec/app/models/commontator/subscription_spec.rb
|
@@ -309,6 +306,7 @@ test_files:
|
|
309
306
|
- spec/app/helpers/commontator/application_helper_spec.rb
|
310
307
|
- spec/app/mailers/commontator/subscriptions_mailer_spec.rb
|
311
308
|
- spec/app/mailers/commontator/subscriptions_mailer_spec.rb~
|
309
|
+
- spec/test_helper.rb
|
312
310
|
- spec/minitest_helper.rb~
|
313
311
|
- spec/dummy/script/rails
|
314
312
|
- spec/dummy/Rakefile
|
@@ -342,6 +340,7 @@ test_files:
|
|
342
340
|
- spec/dummy/config/initializers/secret_token.rb~
|
343
341
|
- spec/dummy/config/initializers/wrap_parameters.rb
|
344
342
|
- spec/dummy/config/initializers/secret_token.rb
|
343
|
+
- spec/dummy/config/initializers/filter_parameter_logging.rb
|
345
344
|
- spec/dummy/config/initializers/mime_types.rb
|
346
345
|
- spec/dummy/config/initializers/session_store.rb
|
347
346
|
- spec/dummy/config/initializers/commontator.rb
|
@@ -1,12 +0,0 @@
|
|
1
|
-
module Commontator
|
2
|
-
class CommentObserver < ActiveRecord::Observer
|
3
|
-
def after_create(comment)
|
4
|
-
thread = comment.thread
|
5
|
-
thread.subscribe(comment.creator) if thread.config.auto_subscribe_on_comment
|
6
|
-
thread.add_unread_except_for(comment.creator)
|
7
|
-
recipients = thread.active_subscribers.reject{|s| s == comment.creator}
|
8
|
-
SubscriptionsMailer.comment_created(comment, recipients).deliver \
|
9
|
-
unless recipients.empty?
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
@@ -1,50 +0,0 @@
|
|
1
|
-
class InstallCommontator < ActiveRecord::Migration
|
2
|
-
def change
|
3
|
-
create_table "commontator_comments" do |t|
|
4
|
-
t.string "creator_type"
|
5
|
-
t.integer "creator_id"
|
6
|
-
t.string "editor_type"
|
7
|
-
t.integer "editor_id"
|
8
|
-
t.integer "thread_id", :null => false
|
9
|
-
t.text "body", :null => false
|
10
|
-
t.datetime "deleted_at"
|
11
|
-
|
12
|
-
t.integer "cached_votes_total", :default => 0
|
13
|
-
t.integer "cached_votes_up", :default => 0
|
14
|
-
t.integer "cached_votes_down", :default => 0
|
15
|
-
|
16
|
-
t.timestamps
|
17
|
-
end
|
18
|
-
|
19
|
-
add_index :commontator_comments, [:creator_type, :creator_id, :thread_id], :name => "index_c_c_on_c_type_and_c_id_and_t_id"
|
20
|
-
add_index :commontator_comments, :thread_id
|
21
|
-
|
22
|
-
add_index :commontator_comments, :cached_votes_total
|
23
|
-
add_index :commontator_comments, :cached_votes_up
|
24
|
-
add_index :commontator_comments, :cached_votes_down
|
25
|
-
|
26
|
-
create_table "commontator_subscriptions" do |t|
|
27
|
-
t.string "subscriber_type", :null => false
|
28
|
-
t.integer "subscriber_id", :null => false
|
29
|
-
t.integer "thread_id", :null => false
|
30
|
-
t.integer "unread", :null => false, :default => 0
|
31
|
-
|
32
|
-
t.timestamps
|
33
|
-
end
|
34
|
-
|
35
|
-
add_index :commontator_subscriptions, [:subscriber_type, :subscriber_id, :thread_id], :unique => true, :name => "index_c_s_on_s_type_and_s_id_and_t_id"
|
36
|
-
add_index :commontator_subscriptions, :thread_id
|
37
|
-
|
38
|
-
create_table "commontator_threads" do |t|
|
39
|
-
t.string "commontable_type"
|
40
|
-
t.integer "commontable_id"
|
41
|
-
t.datetime "closed_at"
|
42
|
-
t.string "closer_type"
|
43
|
-
t.integer "closer_id"
|
44
|
-
|
45
|
-
t.timestamps
|
46
|
-
end
|
47
|
-
|
48
|
-
add_index :commontator_threads, [:commontable_type, :commontable_id], :unique => true
|
49
|
-
end
|
50
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
require 'minitest_helper'
|
2
|
-
|
3
|
-
module Commontator
|
4
|
-
describe CommentObserver do
|
5
|
-
before do
|
6
|
-
setup_model_spec
|
7
|
-
@comment_observer = CommentObserver.instance
|
8
|
-
@thread.subscribe(@user)
|
9
|
-
@comment = Comment.new
|
10
|
-
@comment.thread = @thread
|
11
|
-
@comment.creator = @user
|
12
|
-
@comment.body = 'Something'
|
13
|
-
@comment.save!
|
14
|
-
end
|
15
|
-
|
16
|
-
it 'wont send mail unless recipients not empty' do
|
17
|
-
@comment_observer.after_create(@comment).must_be_nil
|
18
|
-
end
|
19
|
-
|
20
|
-
it 'must send mail if recipients not empty' do
|
21
|
-
@user2 = DummyUser.create
|
22
|
-
@thread.subscribe(@user2)
|
23
|
-
@comment.reload
|
24
|
-
@comment_observer.after_create(@comment).must_be_instance_of Mail::Message
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|