acts_as_commentable_with_threading 1.1.1 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/Gemfile CHANGED
@@ -1,13 +1,13 @@
1
1
  # Generated from /Users/light/work/my/acts_as_commentable_with_threading/acts_as_commentable_with_threading.gemspec
2
2
  source :gemcutter
3
- gem "activerecord", "~> 3.0"
4
- gem "activesupport", "~> 3.0"
5
- gem "moretea-awesome_nested_set", ">= 0"
3
+ gem "activerecord", "~> 3.2"
4
+ gem "activesupport", "~> 3.2"
5
+ gem "awesome_nested_set", "~> 2.0.0"
6
6
 
7
7
  group :development do
8
8
  gem "rake", ">= 0"
9
- gem "bundler", "~> 1.0"
9
+ gem "bundler"
10
10
  gem "rspec", "~> 1.3"
11
11
  gem "sqlite3-ruby", ">= 0"
12
- gem "rails", "~> 3.0"
12
+ gem "rails", "~> 3.2"
13
13
  end
@@ -1,82 +1,98 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- abstract (1.0.0)
5
- actionmailer (3.0.0)
6
- actionpack (= 3.0.0)
7
- mail (~> 2.2.5)
8
- actionpack (3.0.0)
9
- activemodel (= 3.0.0)
10
- activesupport (= 3.0.0)
11
- builder (~> 2.1.2)
12
- erubis (~> 2.6.6)
13
- i18n (~> 0.4.1)
14
- rack (~> 1.2.1)
15
- rack-mount (~> 0.6.12)
16
- rack-test (~> 0.5.4)
17
- tzinfo (~> 0.3.23)
18
- activemodel (3.0.0)
19
- activesupport (= 3.0.0)
20
- builder (~> 2.1.2)
21
- i18n (~> 0.4.1)
22
- activerecord (3.0.0)
23
- activemodel (= 3.0.0)
24
- activesupport (= 3.0.0)
25
- arel (~> 1.0.0)
26
- tzinfo (~> 0.3.23)
27
- activeresource (3.0.0)
28
- activemodel (= 3.0.0)
29
- activesupport (= 3.0.0)
30
- activesupport (3.0.0)
31
- arel (1.0.1)
32
- activesupport (~> 3.0.0)
33
- builder (2.1.2)
34
- erubis (2.6.6)
35
- abstract (>= 1.0.0)
36
- i18n (0.4.1)
37
- mail (2.2.6.1)
38
- activesupport (>= 2.3.6)
39
- mime-types
40
- treetop (>= 1.4.5)
41
- mime-types (1.16)
42
- moretea-awesome_nested_set (1.4.3.1)
43
- activerecord (~> 3.0.0)
44
- polyglot (0.3.1)
45
- rack (1.2.1)
46
- rack-mount (0.6.13)
47
- rack (>= 1.0.0)
48
- rack-test (0.5.5)
4
+ actionmailer (3.2.2)
5
+ actionpack (= 3.2.2)
6
+ mail (~> 2.4.0)
7
+ actionpack (3.2.2)
8
+ activemodel (= 3.2.2)
9
+ activesupport (= 3.2.2)
10
+ builder (~> 3.0.0)
11
+ erubis (~> 2.7.0)
12
+ journey (~> 1.0.1)
13
+ rack (~> 1.4.0)
14
+ rack-cache (~> 1.1)
15
+ rack-test (~> 0.6.1)
16
+ sprockets (~> 2.1.2)
17
+ activemodel (3.2.2)
18
+ activesupport (= 3.2.2)
19
+ builder (~> 3.0.0)
20
+ activerecord (3.2.2)
21
+ activemodel (= 3.2.2)
22
+ activesupport (= 3.2.2)
23
+ arel (~> 3.0.2)
24
+ tzinfo (~> 0.3.29)
25
+ activeresource (3.2.2)
26
+ activemodel (= 3.2.2)
27
+ activesupport (= 3.2.2)
28
+ activesupport (3.2.2)
29
+ i18n (~> 0.6)
30
+ multi_json (~> 1.0)
31
+ arel (3.0.2)
32
+ awesome_nested_set (2.0.2)
33
+ activerecord (>= 3.0.0)
34
+ builder (3.0.0)
35
+ erubis (2.7.0)
36
+ hike (1.2.1)
37
+ i18n (0.6.0)
38
+ journey (1.0.3)
39
+ json (1.6.5)
40
+ mail (2.4.4)
41
+ i18n (>= 0.4.0)
42
+ mime-types (~> 1.16)
43
+ treetop (~> 1.4.8)
44
+ mime-types (1.18)
45
+ multi_json (1.1.0)
46
+ polyglot (0.3.3)
47
+ rack (1.4.1)
48
+ rack-cache (1.2)
49
+ rack (>= 0.4)
50
+ rack-ssl (1.3.2)
51
+ rack
52
+ rack-test (0.6.1)
49
53
  rack (>= 1.0)
50
- rails (3.0.0)
51
- actionmailer (= 3.0.0)
52
- actionpack (= 3.0.0)
53
- activerecord (= 3.0.0)
54
- activeresource (= 3.0.0)
55
- activesupport (= 3.0.0)
56
- bundler (~> 1.0.0)
57
- railties (= 3.0.0)
58
- railties (3.0.0)
59
- actionpack (= 3.0.0)
60
- activesupport (= 3.0.0)
61
- rake (>= 0.8.4)
62
- thor (~> 0.14.0)
63
- rake (0.8.7)
64
- rspec (1.3.0)
65
- sqlite3-ruby (1.3.1)
66
- thor (0.14.2)
67
- treetop (1.4.8)
54
+ rails (3.2.2)
55
+ actionmailer (= 3.2.2)
56
+ actionpack (= 3.2.2)
57
+ activerecord (= 3.2.2)
58
+ activeresource (= 3.2.2)
59
+ activesupport (= 3.2.2)
60
+ bundler (~> 1.0)
61
+ railties (= 3.2.2)
62
+ railties (3.2.2)
63
+ actionpack (= 3.2.2)
64
+ activesupport (= 3.2.2)
65
+ rack-ssl (~> 1.3.2)
66
+ rake (>= 0.8.7)
67
+ rdoc (~> 3.4)
68
+ thor (~> 0.14.6)
69
+ rake (0.9.2.2)
70
+ rdoc (3.12)
71
+ json (~> 1.4)
72
+ rspec (1.3.2)
73
+ sprockets (2.1.2)
74
+ hike (~> 1.2)
75
+ rack (~> 1.0)
76
+ tilt (~> 1.1, != 1.3.0)
77
+ sqlite3 (1.3.5)
78
+ sqlite3-ruby (1.3.3)
79
+ sqlite3 (>= 1.3.3)
80
+ thor (0.14.6)
81
+ tilt (1.3.3)
82
+ treetop (1.4.10)
83
+ polyglot
68
84
  polyglot (>= 0.3.1)
69
- tzinfo (0.3.23)
85
+ tzinfo (0.3.32)
70
86
 
71
87
  PLATFORMS
72
88
  ruby
73
89
 
74
90
  DEPENDENCIES
75
- activerecord (~> 3.0)
76
- activesupport (~> 3.0)
77
- bundler (~> 1.0)
78
- moretea-awesome_nested_set
79
- rails (~> 3.0)
91
+ activerecord (~> 3.2)
92
+ activesupport (~> 3.2)
93
+ awesome_nested_set (~> 2.0.0)
94
+ bundler
95
+ rails (~> 3.2)
80
96
  rake
81
97
  rspec (~> 1.3)
82
98
  sqlite3-ruby
data/README.md CHANGED
@@ -1,98 +1,110 @@
1
- Acts As Commentable (now with comment threads (TM)!!! -- kidding on the (TM))
1
+ Acts As Commentable (now with comment threads(TM)!!! -- kidding on the (TM))
2
2
  ===================
3
3
 
4
- Allows for threaded comments to be added to multiple and different models. Drop-in compatible for acts_as_commentable (however requiring a database schema change)
4
+ Allows for threaded comments to be added to multiple and different models.
5
+ Drop-in compatible for acts_as_commentable (however requiring a database
6
+ schema change)
5
7
 
6
8
  Requirements
7
9
  ------------
8
-
9
10
  This gem is for Rails 3 and later versions only.
10
11
 
11
- This gem depends on [moretea's version](http://github.com/moretea/awesome_nested_set) of CollectiveIdea's Awesome Nested Set gem. It is installed if not already present when you install this gem.
12
+ This gem depends on CollectiveIdea's Awesome Nested Set gem. It is installed if
13
+ not already present when you install this gem.
14
+
15
+ You can find the gem on GitHub at [collectiveidea/awesome_nested_set]
12
16
 
13
- You can find the gem on GitHub at [http://github.com/moretea/awesome_nested_set](http://github.com/moretea/awesome_nested_set).
17
+ [collectiveidea/awesome_nested_set]: https://github.com/collectiveidea/awesome_nested_set
14
18
 
15
19
  Install
16
20
  -------
21
+ In your Gemfile, add:
17
22
 
18
- In your Gemfile, add
19
23
  gem 'acts_as_commentable_with_threading'
20
24
 
21
25
  and run `bundle install`.
22
-
26
+
23
27
  Migrations
24
28
  ----------
25
-
26
29
  * To install from scratch:
27
30
 
28
- `rails generate acts_as_commentable_with_threading_migration`
31
+ rails generate acts_as_commentable_with_threading_migration
32
+
33
+ This will generate the migration script necessary for the table
34
+
35
+ * To upgrade to acts_as_commentable_with_threading from the
36
+ old acts_as_commentable:
37
+
38
+ rails generate acts_as_commentable_upgrade_migration
29
39
 
30
- This will generate the migration script necessary for the table
31
-
32
- * To upgrade to acts_as_commentable_with_threading from the old acts_as_commentable:
40
+ This will generate the necessary migration to upgrade your comments
41
+ table to work with acts_as_commentable_with_threading
33
42
 
34
- `rails generate acts_as_commentable_upgrade_migration`
43
+ If the generators fail, you can just as easily create the migrations by hand.
44
+ See the templates in the generators under [`lib/generators`].
35
45
 
36
- This will generate the necessary migration to upgrade your comments table to work with acts_as_commentable_with_threading
46
+ [`lib/generators`]: https://github.com/elight/acts_as_commentable_with_threading/tree/master/lib/generators
37
47
 
38
- If the generators fail, you can just as easily create the migrations by hand. See the templates in the generators under `lib/generators`.
39
-
40
48
  Usage
41
49
  -----
42
50
  class Article < ActiveRecord::Base
43
51
  acts_as_commentable
44
52
  end
45
-
46
- * Add a comment to a model instance, for example an Article
47
-
48
- @article = Article.find(params[:id])
49
- @user_who_commented = @current_user
50
- @comment = Comment.build_from(@article, @user_who_commented.id, "Hey guys this is my comment!" )
51
-
52
- * To make a newly created comment into a child/reply of another comment
53
-
54
- comment.move_to_child_of(the_desired_parent_comment)
55
-
56
- * To retrieve all comments for an article, including child comments
57
-
58
- @all_comments = @article.comment_threads
59
-
60
- * To retrieve only the root comments without their children comments
61
-
62
- @root_comments = @article.root_comments
63
-
64
- * To check if a comment has children
65
-
66
- @comment.has_children?
67
-
68
- * To verify the number of children a comment has
69
-
70
- @comment.children.size
71
-
72
- * To retrieve a comments children
73
-
74
- @comment.children
75
-
76
-
77
- *If you plan to use the acts_as_voteable plugin with your comment system be sure to uncomment two things:
78
-
79
- in `lib/comment.rb` uncomment the line `acts_as_voteable`
80
-
81
- in `lib/acts_as_commentable_with_threading.rb` uncomment the line `include Juixe::Acts::Voteable` near the top
82
-
53
+
54
+ * Add a comment to a model instance, for example an Article:
55
+
56
+ @article = Article.find(params[:id])
57
+ @user_who_commented = @current_user
58
+ @comment = Comment.build_from( @article, @user_who_commented.id, "Hey guys this is my comment!" )
59
+
60
+ * To make a newly created comment into a child/reply of another comment:
61
+
62
+ comment.move_to_child_of(the_desired_parent_comment)
63
+
64
+ * To retrieve all comments for an article, including child comments:
65
+
66
+ @all_comments = @article.comment_threads
67
+
68
+ * To retrieve only the root comments without their child comments:
69
+
70
+ @root_comments = @article.root_comments
71
+
72
+ * To check if a comment has children:
73
+
74
+ @comment.has_children?
75
+
76
+ * To verify the number of children a comment has:
77
+
78
+ @comment.children.size
79
+
80
+ * To retrieve a comment's children:
81
+
82
+ @comment.children
83
+
84
+ * If you plan to use the `acts_as_voteable` plugin with your comment system be
85
+ sure to uncomment two things:
86
+
87
+ * In `lib/comment.rb` uncomment the line [`acts_as_voteable`][L9].
88
+
89
+ * In `lib/acts_as_commentable_with_threading.rb` uncomment the line
90
+ [`include Juixe::Acts::Voteable`][L5] near the top.
91
+
92
+ [L9]: https://github.com/elight/acts_as_commentable_with_threading/blob/master/lib/generators/acts_as_commentable_with_threading_migration/templates/comment.rb#L9
93
+ [L5]: https://github.com/elight/acts_as_commentable_with_threading/blob/master/lib/acts_as_commentable_with_threading.rb#L5
94
+
83
95
  Credits
84
96
  -------
85
- xxx - For contributing the updates for Rails 3!
97
+ * [xxx](https://github.com/xxx) - For contributing the updates for Rails 3!
98
+ * [Jack Dempsey](https://github.com/jackdempsey) - This plugin/gem is heavily
99
+ influenced/liberally borrowed/stolen from [acts_as_commentable].
86
100
 
87
- Jack Dempsey - This plugin/gem is heavily influenced/liberally borrowed/stole from acts_as_commentable
101
+ And in turn...
88
102
 
89
- which in turn credits....
103
+ * Xelipe - Because acts_as_commentable was heavily influenced by Acts As Taggable.
90
104
 
91
- Xelipe - Because acts_as_commentable was heavily influenced by Acts As Taggable.
105
+ [acts_as_commentable]: https://github.com/jackdempsey/acts_as_commentable
92
106
 
93
107
  More
94
108
  ----
95
-
96
- [http://tripledogdare.net](http://tripledogdare.net)
97
-
98
- [http://evan.tiggerpalace.com](http://evan.tiggerpalace.com)
109
+ * [http://tripledogdare.net](http://tripledogdare.net)
110
+ * [http://evan.tiggerpalace.com](http://evan.tiggerpalace.com)
data/Rakefile CHANGED
@@ -1,8 +1,8 @@
1
1
  require 'rubygems'
2
- require 'rake/gempackagetask'
2
+ require 'bundler/setup'
3
+ require 'rubygems/package_task'
3
4
  require 'spec'
4
5
  require 'spec/rake/spectask'
5
- require 'bundler/setup'
6
6
 
7
7
  PLUGIN = "acts_as_commentable_with_threading"
8
8
  NAME = "acts_as_commentable_with_threading"
@@ -11,10 +11,9 @@ AUTHOR = "Evan Light"
11
11
  EMAIL = "evan@tripledogdare.net"
12
12
  SUMMARY = "Plugin/gem that provides threaded comment functionality"
13
13
 
14
- load 'acts_as_commentable_with_threading.gemspec'
15
- spec = ACTS_AS_COMMENTABLE_WITH_THREADING
14
+ spec = eval(File.read('acts_as_commentable_with_threading.gemspec'))
16
15
 
17
- Rake::GemPackageTask.new(spec) do |pkg|
16
+ Gem::PackageTask.new(spec) do |pkg|
18
17
  pkg.gem_spec = spec
19
18
  end
20
19
 
@@ -1,12 +1,12 @@
1
- ACTS_AS_COMMENTABLE_WITH_THREADING = Gem::Specification.new do |s|
1
+ Gem::Specification.new do |s|
2
2
  s.name = "acts_as_commentable_with_threading"
3
- s.version = "1.1.1"
4
- s.date = "2011-12-08"
3
+ s.version = "1.1.2"
4
+ s.date = "2012-03-23"
5
5
  s.summary = "Polymorphic comments Rails gem - Rails 3+ only"
6
6
  s.email = "evan@tripledogdare.net"
7
7
  s.homepage = "http://github.com/elight/acts_as_commentable_with_threading"
8
8
  s.description = "Polymorphic threaded comments Rails gem for Rails 3+"
9
- s.authors = ["Evan Light", "Jack Dempsey", "Xelipe", "xxx"]
9
+ s.authors = ["Evan Light", "Jack Dempsey", "Xelipe", "xxx"]
10
10
  s.files = `git ls-files`.split("\n")
11
11
  s.test_files = ["spec/commentable_spec.rb", "spec/comment_spec.rb", "spec/spec_helper.rb", "spec/db/database.yml", "spec/db/schema.rb"]
12
12
 
@@ -16,7 +16,7 @@ ACTS_AS_COMMENTABLE_WITH_THREADING = Gem::Specification.new do |s|
16
16
  s.add_development_dependency 'sqlite3-ruby'
17
17
  s.add_development_dependency 'rails', '~> 3.0'
18
18
 
19
- s.add_dependency 'activerecord', '~> 3.0'
19
+ s.add_dependency 'activerecord', '>= 3.0'
20
20
  s.add_dependency 'activesupport', '~> 3.0'
21
- s.add_dependency 'moretea-awesome_nested_set'
21
+ s.add_dependency 'awesome_nested_set', '>= 2.0'
22
22
  end
@@ -28,7 +28,7 @@ module Acts #:nodoc:
28
28
  # Helper method to lookup for comments for a given object.
29
29
  # This method is equivalent to obj.comments.
30
30
  def find_comments_for(obj)
31
- Comment.where(:commentable_id => obj.id, :commentable_type => obj.class).order('created_at DESC')
31
+ Comment.where(:commentable_id => obj.id, :commentable_type => obj.class.base_class).order('created_at DESC')
32
32
  end
33
33
 
34
34
  # Helper class method to lookup comments for
@@ -1,47 +1,49 @@
1
1
  class Comment < ActiveRecord::Base
2
2
  acts_as_nested_set :scope => [:commentable_id, :commentable_type]
3
-
3
+
4
4
  validates_presence_of :body
5
5
  validates_presence_of :user
6
-
7
- # NOTE: install the acts_as_votable plugin if you
6
+
7
+ # NOTE: install the acts_as_votable plugin if you
8
8
  # want user to vote on the quality of comments.
9
9
  #acts_as_voteable
10
-
10
+
11
+ belongs_to :commentable, :polymorphic => true
12
+
11
13
  # NOTE: Comments belong to a user
12
14
  belongs_to :user
13
-
15
+
14
16
  # Helper class method that allows you to build a comment
15
17
  # by passing a commentable object, a user_id, and comment text
16
18
  # example in readme
17
19
  def self.build_from(obj, user_id, comment)
18
20
  c = self.new
19
- c.commentable_id = obj.id
20
- c.commentable_type = obj.class.name
21
- c.body = comment
21
+ c.commentable_id = obj.id
22
+ c.commentable_type = obj.class.base_class.name
23
+ c.body = comment
22
24
  c.user_id = user_id
23
25
  c
24
26
  end
25
-
27
+
26
28
  #helper method to check if a comment has children
27
29
  def has_children?
28
- self.children.size > 0
30
+ self.children.size > 0
29
31
  end
30
-
32
+
31
33
  # Helper class method to lookup all comments assigned
32
34
  # to all commentable types for a given user.
33
35
  scope :find_comments_by_user, lambda { |user|
34
36
  where(:user_id => user.id).order('created_at DESC')
35
37
  }
36
38
 
37
- # Helper class method to look up all comments for
39
+ # Helper class method to look up all comments for
38
40
  # commentable class name and commentable id.
39
41
  scope :find_comments_for_commentable, lambda { |commentable_str, commentable_id|
40
42
  where(:commentable_type => commentable_str.to_s, :commentable_id => commentable_id).order('created_at DESC')
41
43
  }
42
44
 
43
45
  # Helper class method to look up a commentable object
44
- # given the commentable class name and id
46
+ # given the commentable class name and id
45
47
  def self.find_commentable(commentable_str, commentable_id)
46
48
  commentable_str.constantize.find(commentable_id)
47
49
  end
@@ -1,47 +1,49 @@
1
1
  class Comment < ActiveRecord::Base
2
2
  acts_as_nested_set :scope => [:commentable_id, :commentable_type]
3
-
3
+
4
4
  validates_presence_of :body
5
5
  validates_presence_of :user
6
-
7
- # NOTE: install the acts_as_votable plugin if you
6
+
7
+ # NOTE: install the acts_as_votable plugin if you
8
8
  # want user to vote on the quality of comments.
9
9
  #acts_as_voteable
10
-
10
+
11
+ belongs_to :commentable, :polymorphic => true
12
+
11
13
  # NOTE: Comments belong to a user
12
14
  belongs_to :user
13
-
15
+
14
16
  # Helper class method that allows you to build a comment
15
17
  # by passing a commentable object, a user_id, and comment text
16
18
  # example in readme
17
19
  def self.build_from(obj, user_id, comment)
18
20
  c = self.new
19
- c.commentable_id = obj.id
20
- c.commentable_type = obj.class.name
21
- c.body = comment
21
+ c.commentable_id = obj.id
22
+ c.commentable_type = obj.class.base_class.name
23
+ c.body = comment
22
24
  c.user_id = user_id
23
25
  c
24
26
  end
25
-
27
+
26
28
  #helper method to check if a comment has children
27
29
  def has_children?
28
- self.children.size > 0
30
+ self.children.size > 0
29
31
  end
30
-
32
+
31
33
  # Helper class method to lookup all comments assigned
32
34
  # to all commentable types for a given user.
33
35
  scope :find_comments_by_user, lambda { |user|
34
36
  where(:user_id => user.id).order('created_at DESC')
35
37
  }
36
38
 
37
- # Helper class method to look up all comments for
39
+ # Helper class method to look up all comments for
38
40
  # commentable class name and commentable id.
39
41
  scope :find_comments_for_commentable, lambda { |commentable_str, commentable_id|
40
42
  where(:commentable_type => commentable_str.to_s, :commentable_id => commentable_id).order('created_at DESC')
41
43
  }
42
44
 
43
45
  # Helper class method to look up a commentable object
44
- # given the commentable class name and id
46
+ # given the commentable class name and id
45
47
  def self.find_commentable(commentable_str, commentable_id)
46
48
  commentable_str.constantize.find(commentable_id)
47
49
  end
@@ -1,6 +1,2 @@
1
1
  # encoding: utf-8
2
2
  require 'acts_as_commentable_with_threading'
3
-
4
- # Why isn't this being done in the railtie require?
5
- ActiveRecord::Base.send(:include, CollectiveIdea::Acts::NestedSet::Base)
6
-
@@ -14,9 +14,9 @@ describe "A class that is commentable" do
14
14
 
15
15
  describe "#find_comments_for" do
16
16
  before :each do
17
- @comment = Comment.create!(:user => @user, :commentable_type => @commentable.class, :commentable_id => @commentable.id, :body => 'blargh')
17
+ @comment = Comment.create!(:user => @user, :commentable => @commentable, :body => 'blargh')
18
18
 
19
- @other_comment = Comment.create!(:user => @user, :commentable_type => @other_commentable.class, :commentable_id => @other_commentable.id, :body => 'hello')
19
+ @other_comment = Comment.create!(:user => @user, :commentable => @other_commentable, :body => 'hello')
20
20
 
21
21
  @comments = Commentable.find_comments_for(@commentable)
22
22
  end
@@ -34,9 +34,9 @@ describe "A class that is commentable" do
34
34
  before :each do
35
35
  @user2 = User.create!
36
36
 
37
- @comment = Comment.create!(:user => @user, :commentable_type => @commentable.class, :commentable_id => @commentable.id, :body => 'blargh')
37
+ @comment = Comment.create!(:user => @user, :commentable => @commentable, :body => 'blargh')
38
38
 
39
- @other_comment = Comment.create!(:user => @user2, :commentable_type => @other_commentable.class, :commentable_id => @other_commentable.id, :body => 'hello')
39
+ @other_comment = Comment.create!(:user => @user2, :commentable => @other_commentable, :body => 'hello')
40
40
 
41
41
  @comments = Commentable.find_comments_by_user(@user)
42
42
  end
@@ -51,25 +51,25 @@ describe "A class that is commentable" do
51
51
  end
52
52
  end
53
53
  end
54
-
54
+
55
55
  describe "instance methods" do
56
56
  describe "#comments_ordered_by_submitted" do
57
57
  before :each do
58
58
  @user = User.create!
59
59
  @commentable = Commentable.create!
60
60
  @other_commentable = Commentable.create!
61
- @comment = Comment.create!(:user => @user, :commentable_type => @commentable.class, :commentable_id => @commentable.id, :body => 'sup')
62
- @older_comment = Comment.create!(:user => @user, :commentable_type => @commentable.class, :commentable_id => @commentable.id, :body => 'sup', :created_at => 1.week.ago)
63
- @oldest_comment = Comment.create!(:user => @user, :commentable_type => @commentable.class, :commentable_id => @commentable.id, :body => 'sup', :created_at => 2.years.ago)
64
- @other_comment = Comment.create!(:user => @user, :commentable_type => @other_commentable.class, :commentable_id => @other_commentable.id, :body => 'sup')
61
+ @comment = Comment.create!(:user => @user, :commentable => @commentable, :body => 'sup')
62
+ @older_comment = Comment.create!(:user => @user, :commentable => @commentable, :body => 'sup', :created_at => 1.week.ago)
63
+ @oldest_comment = Comment.create!(:user => @user, :commentable => @commentable, :body => 'sup', :created_at => 2.years.ago)
64
+ @other_comment = Comment.create!(:user => @user, :commentable => @other_commentable, :body => 'sup')
65
65
  @comments = @commentable.comments_ordered_by_submitted
66
66
  end
67
-
67
+
68
68
  it "should return its own comments, ordered with the newest first" do
69
69
  @comments.all? { |c| c.commentable_type == @commentable.class.to_s and c.commentable_id == @commentable.id }.should be_true
70
70
  @comments.each_cons(2) { |c, c2| c.created_at.should > c2.created_at }
71
71
  end
72
-
72
+
73
73
  it "should not include comments for other commentables" do
74
74
  @comments.any? { |c| c.commentable_type != @commentable.class.to_s or c.commentable_id != @commentable.id }.should be_false
75
75
  end
@@ -1,4 +1,4 @@
1
- ActiveRecord::Schema.define(:version => 0) do
1
+ ActiveRecord::Schema.define(:version => 1) do
2
2
  create_table "users", :force => true do |t|
3
3
  t.timestamps
4
4
  end
@@ -12,6 +12,7 @@ ActiveRecord::Migration.verbose = false
12
12
  load(File.join(plugin_test_dir, "db", "schema.rb"))
13
13
 
14
14
  require File.join(plugin_test_dir, '..', 'init')
15
+ require File.join(plugin_test_dir, '..', 'lib', 'generators', 'acts_as_commentable_with_threading_migration', 'templates', 'comment')
15
16
 
16
17
  class User < ActiveRecord::Base
17
18
  has_many :comments
metadata CHANGED
@@ -1,15 +1,10 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: acts_as_commentable_with_threading
3
- version: !ruby/object:Gem::Version
4
- hash: 17
5
- prerelease: false
6
- segments:
7
- - 1
8
- - 1
9
- - 1
10
- version: 1.1.1
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.1.2
5
+ prerelease:
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Evan Light
14
9
  - Jack Dempsey
15
10
  - Xelipe
@@ -17,136 +12,142 @@ authors:
17
12
  autorequire:
18
13
  bindir: bin
19
14
  cert_chain: []
20
-
21
- date: 2011-12-08 00:00:00 -05:00
22
- default_executable:
23
- dependencies:
24
- - !ruby/object:Gem::Dependency
15
+ date: 2012-03-23 00:00:00.000000000 Z
16
+ dependencies:
17
+ - !ruby/object:Gem::Dependency
25
18
  name: rake
26
- prerelease: false
27
- requirement: &id001 !ruby/object:Gem::Requirement
28
- none: false
29
- requirements:
30
- - - ">="
31
- - !ruby/object:Gem::Version
32
- hash: 3
33
- segments:
34
- - 0
35
- version: "0"
19
+ requirement: !ruby/object:Gem::Requirement
20
+ none: false
21
+ requirements:
22
+ - - ! '>='
23
+ - !ruby/object:Gem::Version
24
+ version: '0'
36
25
  type: :development
37
- version_requirements: *id001
38
- - !ruby/object:Gem::Dependency
39
- name: bundler
40
26
  prerelease: false
41
- requirement: &id002 !ruby/object:Gem::Requirement
27
+ version_requirements: !ruby/object:Gem::Requirement
42
28
  none: false
43
- requirements:
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ - !ruby/object:Gem::Dependency
34
+ name: bundler
35
+ requirement: !ruby/object:Gem::Requirement
36
+ none: false
37
+ requirements:
44
38
  - - ~>
45
- - !ruby/object:Gem::Version
46
- hash: 15
47
- segments:
48
- - 1
49
- - 0
50
- version: "1.0"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.0'
51
41
  type: :development
52
- version_requirements: *id002
53
- - !ruby/object:Gem::Dependency
54
- name: rspec
55
42
  prerelease: false
56
- requirement: &id003 !ruby/object:Gem::Requirement
43
+ version_requirements: !ruby/object:Gem::Requirement
57
44
  none: false
58
- requirements:
45
+ requirements:
59
46
  - - ~>
60
- - !ruby/object:Gem::Version
61
- hash: 9
62
- segments:
63
- - 1
64
- - 3
65
- version: "1.3"
47
+ - !ruby/object:Gem::Version
48
+ version: '1.0'
49
+ - !ruby/object:Gem::Dependency
50
+ name: rspec
51
+ requirement: !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ~>
55
+ - !ruby/object:Gem::Version
56
+ version: '1.3'
66
57
  type: :development
67
- version_requirements: *id003
68
- - !ruby/object:Gem::Dependency
69
- name: sqlite3-ruby
70
58
  prerelease: false
71
- requirement: &id004 !ruby/object:Gem::Requirement
72
- none: false
73
- requirements:
74
- - - ">="
75
- - !ruby/object:Gem::Version
76
- hash: 3
77
- segments:
78
- - 0
79
- version: "0"
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ none: false
61
+ requirements:
62
+ - - ~>
63
+ - !ruby/object:Gem::Version
64
+ version: '1.3'
65
+ - !ruby/object:Gem::Dependency
66
+ name: sqlite3-ruby
67
+ requirement: !ruby/object:Gem::Requirement
68
+ none: false
69
+ requirements:
70
+ - - ! '>='
71
+ - !ruby/object:Gem::Version
72
+ version: '0'
80
73
  type: :development
81
- version_requirements: *id004
82
- - !ruby/object:Gem::Dependency
83
- name: rails
84
74
  prerelease: false
85
- requirement: &id005 !ruby/object:Gem::Requirement
75
+ version_requirements: !ruby/object:Gem::Requirement
76
+ none: false
77
+ requirements:
78
+ - - ! '>='
79
+ - !ruby/object:Gem::Version
80
+ version: '0'
81
+ - !ruby/object:Gem::Dependency
82
+ name: rails
83
+ requirement: !ruby/object:Gem::Requirement
86
84
  none: false
87
- requirements:
85
+ requirements:
88
86
  - - ~>
89
- - !ruby/object:Gem::Version
90
- hash: 7
91
- segments:
92
- - 3
93
- - 0
94
- version: "3.0"
87
+ - !ruby/object:Gem::Version
88
+ version: '3.0'
95
89
  type: :development
96
- version_requirements: *id005
97
- - !ruby/object:Gem::Dependency
98
- name: activerecord
99
90
  prerelease: false
100
- requirement: &id006 !ruby/object:Gem::Requirement
91
+ version_requirements: !ruby/object:Gem::Requirement
101
92
  none: false
102
- requirements:
93
+ requirements:
103
94
  - - ~>
104
- - !ruby/object:Gem::Version
105
- hash: 7
106
- segments:
107
- - 3
108
- - 0
109
- version: "3.0"
95
+ - !ruby/object:Gem::Version
96
+ version: '3.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: activerecord
99
+ requirement: !ruby/object:Gem::Requirement
100
+ none: false
101
+ requirements:
102
+ - - ! '>='
103
+ - !ruby/object:Gem::Version
104
+ version: '3.0'
110
105
  type: :runtime
111
- version_requirements: *id006
112
- - !ruby/object:Gem::Dependency
113
- name: activesupport
114
106
  prerelease: false
115
- requirement: &id007 !ruby/object:Gem::Requirement
107
+ version_requirements: !ruby/object:Gem::Requirement
116
108
  none: false
117
- requirements:
109
+ requirements:
110
+ - - ! '>='
111
+ - !ruby/object:Gem::Version
112
+ version: '3.0'
113
+ - !ruby/object:Gem::Dependency
114
+ name: activesupport
115
+ requirement: !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
118
  - - ~>
119
- - !ruby/object:Gem::Version
120
- hash: 7
121
- segments:
122
- - 3
123
- - 0
124
- version: "3.0"
119
+ - !ruby/object:Gem::Version
120
+ version: '3.0'
125
121
  type: :runtime
126
- version_requirements: *id007
127
- - !ruby/object:Gem::Dependency
128
- name: moretea-awesome_nested_set
129
122
  prerelease: false
130
- requirement: &id008 !ruby/object:Gem::Requirement
131
- none: false
132
- requirements:
133
- - - ">="
134
- - !ruby/object:Gem::Version
135
- hash: 3
136
- segments:
137
- - 0
138
- version: "0"
123
+ version_requirements: !ruby/object:Gem::Requirement
124
+ none: false
125
+ requirements:
126
+ - - ~>
127
+ - !ruby/object:Gem::Version
128
+ version: '3.0'
129
+ - !ruby/object:Gem::Dependency
130
+ name: awesome_nested_set
131
+ requirement: !ruby/object:Gem::Requirement
132
+ none: false
133
+ requirements:
134
+ - - ! '>='
135
+ - !ruby/object:Gem::Version
136
+ version: '2.0'
139
137
  type: :runtime
140
- version_requirements: *id008
138
+ prerelease: false
139
+ version_requirements: !ruby/object:Gem::Requirement
140
+ none: false
141
+ requirements:
142
+ - - ! '>='
143
+ - !ruby/object:Gem::Version
144
+ version: '2.0'
141
145
  description: Polymorphic threaded comments Rails gem for Rails 3+
142
146
  email: evan@tripledogdare.net
143
147
  executables: []
144
-
145
148
  extensions: []
146
-
147
149
  extra_rdoc_files: []
148
-
149
- files:
150
+ files:
150
151
  - .gitignore
151
152
  - CHANGELOG
152
153
  - Gemfile
@@ -172,41 +173,31 @@ files:
172
173
  - spec/db/database.yml
173
174
  - spec/db/schema.rb
174
175
  - spec/spec_helper.rb
175
- has_rdoc: true
176
176
  homepage: http://github.com/elight/acts_as_commentable_with_threading
177
177
  licenses: []
178
-
179
178
  post_install_message:
180
179
  rdoc_options: []
181
-
182
- require_paths:
180
+ require_paths:
183
181
  - lib
184
- required_ruby_version: !ruby/object:Gem::Requirement
182
+ required_ruby_version: !ruby/object:Gem::Requirement
185
183
  none: false
186
- requirements:
187
- - - ">="
188
- - !ruby/object:Gem::Version
189
- hash: 3
190
- segments:
191
- - 0
192
- version: "0"
193
- required_rubygems_version: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ! '>='
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ required_rubygems_version: !ruby/object:Gem::Requirement
194
189
  none: false
195
- requirements:
196
- - - ">="
197
- - !ruby/object:Gem::Version
198
- hash: 3
199
- segments:
200
- - 0
201
- version: "0"
190
+ requirements:
191
+ - - ! '>='
192
+ - !ruby/object:Gem::Version
193
+ version: '0'
202
194
  requirements: []
203
-
204
195
  rubyforge_project:
205
- rubygems_version: 1.3.7
196
+ rubygems_version: 1.8.21
206
197
  signing_key:
207
198
  specification_version: 3
208
199
  summary: Polymorphic comments Rails gem - Rails 3+ only
209
- test_files:
200
+ test_files:
210
201
  - spec/commentable_spec.rb
211
202
  - spec/comment_spec.rb
212
203
  - spec/spec_helper.rb