acts_as_commentable_more 1.2.5 → 1.2.6

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 037f9f38c5c7fd1a25f744df3f3a0c49e78f2e69
4
- data.tar.gz: e061ee04950bd58ac4eda48e24d6514a51ab1c36
3
+ metadata.gz: 765add18f643c88f9c310c82fbe8a4a147759bfb
4
+ data.tar.gz: c9e2e38774735fd8563836a5bb9bd8fc60e54e39
5
5
  SHA512:
6
- metadata.gz: a0563be11b18e542f091c016c10797d378f675677cb18128fd7b086f33c6863e80af39b03cbfa473da6524660529247d421215af1ef1728555b66c7139a4a28d
7
- data.tar.gz: 258925f06bee0b39f901e1b5db50fad0c4ffa670e517124143363221c550084aaf05f9ea979c4982f7e3a2b6da5f8277e44b99c5d2f555d8192bfde1aeb10aa0
6
+ metadata.gz: 9b0b142c6e0e69ea986d08c06d127cf50429229cfa5092e16e319e3f07f8d4a8d55726ed943c2440e3a163b8423efdcb63130924ddc0c2329386347e9380e8d2
7
+ data.tar.gz: 7f8a5dc85e78b00e3fd418c148452437b20020255750707f96087a327f6a25da3bd042f283e7a6719af145c38d39de86777eba7be2612dec8ac9ea2b2fea1ce6
@@ -1,4 +1,4 @@
1
- Dir[File.dirname(__FILE__) + "/helpers/**/*.rb"].each {|file| require file }
1
+ Dir[File.dirname(__FILE__) + "/helpers/**/*.rb"].each {|file| require_relative file }
2
2
 
3
3
  module ActsAsCommentableMore
4
4
  extend ActiveSupport::Concern
@@ -8,7 +8,7 @@ module ActsAsCommentableMore
8
8
  include Helpers::Post::MethodsHelper
9
9
  include Helpers::Post::ScopesHelper
10
10
  include Helpers::Comment::CacheCounterHelper
11
- include Helpers::Comment::MethodsHelper
11
+ include Helpers::Comment::InstanceMethodsHelper
12
12
 
13
13
  def acts_as_commentable(types: [], options: {}, as: nil, counter_cache: true)
14
14
  mattr_accessor :comment_model
@@ -28,32 +28,35 @@ module ActsAsCommentableMore
28
28
  ###########################
29
29
  ### basic comment ###
30
30
  ###########################
31
- define_role_based_inflection(comment_roles.first, association_comment_name, association_options)
32
- define_create_role_comments(association_comment_name)
31
+ post_define_role_based_inflection(comment_roles.first, association_comment_name, association_options)
32
+ post_define_create_role(association_comment_name)
33
33
  else
34
34
  ###########################
35
35
  ### many roles comment ###
36
36
  ###########################
37
37
  # scope method for post model
38
- define_all_comments_scope(association_comment_name, association_options[:as])
38
+ post_define_all_scope(association_comment_name, association_options[:as])
39
39
 
40
40
  comment_roles.each do |role|
41
41
  # association for post model
42
42
  association_name = "#{role.to_s}_#{association_comment_name.to_s}"
43
- define_role_based_inflection(role, association_name, association_options)
43
+ post_define_role_based_inflection(role, association_name, association_options)
44
44
  # support method for comment model
45
- define_create_role_comments(association_name)
46
- define_is_role?(role)
47
- define_to_role(role)
48
- define_to_role!(role)
45
+ post_define_create_role(association_name)
46
+ comment_define_is_role?(role)
47
+ comment_define_to_role(role)
48
+ comment_define_to_role!(role)
49
49
  end
50
50
  # helpper method for comment model
51
- define_can_change_role_of(association_options[:as])
51
+ comment_define_can_change_role_of(association_options[:as])
52
52
  end
53
53
 
54
54
  # counter cache for comment model
55
- define_counter_cache_role_comment_callback(association_comment_name, association_options[:as]) if enable_counter_cache
55
+ comment_define_counter_cache_role(association_comment_name, association_options[:as]) if enable_counter_cache
56
56
 
57
+ # instance method for comment
58
+ comment_define_instance_method
59
+ comment_define_class_method
57
60
  end
58
61
 
59
62
  end
@@ -5,7 +5,7 @@ module ActsAsCommentableMore
5
5
 
6
6
  private
7
7
 
8
- def define_counter_cache_role_comment_callback association_comment_name, commentable_name
8
+ def comment_define_counter_cache_role association_comment_name, commentable_name
9
9
  never_has_counter_cache = !comment_model._create_callbacks.select {|cb| cb.kind == :after }.collect(&:filter).include?(:acts_as_commentable_more_increment!)
10
10
 
11
11
  if never_has_counter_cache
@@ -1,11 +1,38 @@
1
1
  module ActsAsCommentableMore
2
2
  module Helpers
3
3
  module Comment
4
- module MethodsHelper
4
+ module InstanceMethodsHelper
5
5
 
6
6
  private
7
7
 
8
- def define_can_change_role_of(commentable_name)
8
+ def comment_define_instance_method
9
+
10
+ comment_model.class_eval do
11
+ def related_attributes
12
+ read_attribute(:related_attributes).symbolize_keys
13
+ end
14
+ end
15
+
16
+ end
17
+
18
+ def comment_define_class_method
19
+
20
+ comment_model.class_eval do
21
+
22
+ class << self
23
+
24
+ def find_comments_by_user(user, role = nil)
25
+ attr_finder = { user: user }
26
+ attr_finder.merge!(role: role.to_s) if role.present?
27
+ where(attr_finder).order(created_at: :desc)
28
+ end
29
+
30
+ end
31
+ end
32
+
33
+ end
34
+
35
+ def comment_define_can_change_role_of(commentable_name)
9
36
  comment_model.redefine_method("can_change_role?") do |role|
10
37
  commentable_class = send(commentable_name).class
11
38
  limit_role = commentable_class.comment_roles
@@ -14,14 +41,14 @@ module ActsAsCommentableMore
14
41
  comment_model.send(:private, "can_change_role?".to_sym)
15
42
  end
16
43
 
17
- def define_is_role?(role)
44
+ def comment_define_is_role?(role)
18
45
  comment_model.redefine_method("is_#{role}?") do
19
46
  raise(NoMethodError, "undefined method 'is_" + role.to_s + "?'") unless can_change_role?(role.to_s)
20
47
  self.role == role.to_s
21
48
  end
22
49
  end
23
50
 
24
- def define_to_role(role)
51
+ def comment_define_to_role(role)
25
52
  comment_model.redefine_method("to_#{role}") do
26
53
  raise(NoMethodError, "undefined method 'is_" + role.to_s + "?'") unless can_change_role?(role.to_s)
27
54
  self.role = role.to_s
@@ -29,7 +56,7 @@ module ActsAsCommentableMore
29
56
  end
30
57
  end
31
58
 
32
- def define_to_role!(role)
59
+ def comment_define_to_role!(role)
33
60
  comment_model.redefine_method("to_#{role}!") do
34
61
  raise(NoMethodError, "undefined method 'is_" + role.to_s + "?'") unless can_change_role?(role.to_s)
35
62
  self.update(role: role.to_s)
@@ -5,7 +5,7 @@ module ActsAsCommentableMore
5
5
 
6
6
  private
7
7
 
8
- def define_role_based_inflection(role, association_comment_name, join_options)
8
+ def post_define_role_based_inflection(role, association_comment_name, join_options)
9
9
  send("define_role_based_inflection_#{Rails.version.first}", role, association_comment_name,join_options)
10
10
  end
11
11
 
@@ -5,7 +5,7 @@ module ActsAsCommentableMore
5
5
 
6
6
  private
7
7
 
8
- def define_create_role_comments(association_comment_name)
8
+ def post_define_create_role(association_comment_name)
9
9
  redefine_method("creates_#{association_comment_name.to_s.pluralize}") do |attributes = nil|
10
10
  send(association_comment_name).create(attributes)
11
11
  end
@@ -3,7 +3,7 @@ module ActsAsCommentableMore
3
3
  module Post
4
4
  module ScopesHelper
5
5
 
6
- def define_all_comments_scope comment_name, commentable
6
+ def post_define_all_scope comment_name, commentable
7
7
  redefine_method("all_#{comment_name.to_s}") do
8
8
  comment_model
9
9
  .includes(commentable.to_sym, :user)
@@ -1,3 +1,3 @@
1
1
  module ActsAsCommentableMore
2
- VERSION = "1.2.5"
2
+ VERSION = "1.2.6"
3
3
  end
@@ -1,7 +1,4 @@
1
1
  module ActsAsCommentableMore
2
- require 'acts_as_commentable_more/commentable_methods'
3
- require 'acts_as_commentable_more/comment_methods'
4
-
2
+ require_relative 'acts_as_commentable_more/commentable_methods'
5
3
  ActiveRecord::Base.send(:include, ActsAsCommentableMore)
6
-
7
4
  end
@@ -8,8 +8,6 @@ class <%= class_name %> < ActiveRecord::Base
8
8
  ### for example if you have public and private comment
9
9
  ### your types would be [:public, :private]
10
10
 
11
- include ActsAsCommentableMore::Finders
12
-
13
11
  belongs_to :<%= class_name.demodulize.underscore + "able" %>, :polymorphic => true
14
12
  belongs_to :user, polymorphic: true
15
13
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acts_as_commentable_more
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.5
4
+ version: 1.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - piya23300
8
8
  autorequire: acts_as_commentable_more
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-12 00:00:00.000000000 Z
11
+ date: 2015-07-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -76,10 +76,9 @@ files:
76
76
  - MIT-LICENSE
77
77
  - Rakefile
78
78
  - lib/acts_as_commentable_more.rb
79
- - lib/acts_as_commentable_more/comment_methods.rb
80
79
  - lib/acts_as_commentable_more/commentable_methods.rb
81
80
  - lib/acts_as_commentable_more/helpers/comment/cache_counter_helper.rb
82
- - lib/acts_as_commentable_more/helpers/comment/methods_helper.rb
81
+ - lib/acts_as_commentable_more/helpers/comment/instance_methods_helper.rb
83
82
  - lib/acts_as_commentable_more/helpers/post/associations_helper.rb
84
83
  - lib/acts_as_commentable_more/helpers/post/methods_helper.rb
85
84
  - lib/acts_as_commentable_more/helpers/post/scopes_helper.rb
@@ -121,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
121
120
  version: '0'
122
121
  requirements: []
123
122
  rubyforge_project:
124
- rubygems_version: 2.2.2
123
+ rubygems_version: 2.4.5
125
124
  signing_key:
126
125
  specification_version: 4
127
126
  summary: gem that provides comment functionality.
@@ -1,18 +0,0 @@
1
- module ActsAsCommentableMore::Finders
2
- extend ActiveSupport::Concern
3
-
4
- def related_attributes
5
- read_attribute(:related_attributes).symbolize_keys
6
- end
7
-
8
- module ClassMethods
9
-
10
- def find_comments_by_user(user, role = nil)
11
- attr_finder = { user: user }
12
- attr_finder.merge!(role: role.to_s) if role.present?
13
- where(attr_finder).order("created_at DESC")
14
- end
15
-
16
- end
17
-
18
- end