the_comments 0.9.0 → 0.9.9
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/README.md +398 -121
- data/app/assets/javascripts/the_comments.js.coffee +3 -3
- data/app/assets/javascripts/the_comments_manage.js.coffee +0 -2
- data/app/assets/stylesheets/the_comments.css.scss +6 -5
- data/app/controllers/concerns/the_comments_controller.rb +18 -16
- data/app/controllers/concerns/the_comments_user_agent_controller.rb +10 -12
- data/app/helpers/render_comments_tree_helper.rb +6 -5
- data/app/models/concerns/the_comments_base.rb +33 -28
- data/app/models/concerns/the_comments_commentable.rb +52 -40
- data/app/models/concerns/the_comments_states.rb +12 -12
- data/app/models/concerns/the_comments_user.rb +23 -16
- data/config/routes.rb +6 -6
- data/db/migrate/20130101010101_create_comments.rb +12 -3
- data/{the_comments.jpg → docs/the_comments.jpg} +0 -0
- data/docs/the_comments_view_1.gif +0 -0
- data/docs/the_comments_view_2.gif +0 -0
- data/docs/the_comments_view_3.gif +0 -0
- data/docs/the_comments_view_4.gif +0 -0
- data/docs/the_comments_view_5.gif +0 -0
- data/lib/generators/the_comments/templates/the_comments.rb +6 -3
- data/lib/generators/the_comments/views_generator.rb +3 -1
- data/lib/the_comments/config.rb +7 -4
- data/lib/the_comments/version.rb +1 -1
- data/lib/the_comments.rb +0 -1
- data/the_comments.gemspec +2 -1
- metadata +12 -18
@@ -2,24 +2,31 @@ module TheCommentsUser
|
|
2
2
|
extend ActiveSupport::Concern
|
3
3
|
|
4
4
|
included do
|
5
|
-
has_many :
|
6
|
-
has_many :comcoms,
|
5
|
+
has_many :posted_comments, class_name: :Comment, foreign_key: :user_id
|
6
|
+
has_many :comcoms, class_name: :Comment, foreign_key: :holder_id
|
7
|
+
end
|
8
|
+
|
9
|
+
def my_comments
|
10
|
+
posted_comments.with_state([:draft,:published])
|
11
|
+
end
|
7
12
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
send "deleted_#{name}_count=", send(name).with_state(:deleted).count
|
13
|
-
end
|
14
|
-
save
|
15
|
-
end
|
13
|
+
def recalculate_my_comments_counter!
|
14
|
+
self.my_comments_count = my_comments.count
|
15
|
+
save
|
16
|
+
end
|
16
17
|
|
17
|
-
|
18
|
-
|
19
|
-
|
18
|
+
def recalculate_comcoms_counters!
|
19
|
+
self.draft_comcoms_count = comcoms.with_state(:draft).count
|
20
|
+
self.published_comcoms_count = comcoms.with_state(:published).count
|
21
|
+
self.deleted_comcoms_count = comcoms.with_state(:deleted).count
|
22
|
+
save
|
23
|
+
end
|
24
|
+
|
25
|
+
def comments_sum
|
26
|
+
published_comments_count + draft_comments_count
|
27
|
+
end
|
20
28
|
|
21
|
-
|
22
|
-
|
23
|
-
end
|
29
|
+
def comcoms_sum
|
30
|
+
published_comcoms_count + draft_comcoms_count
|
24
31
|
end
|
25
32
|
end
|
data/config/routes.rb
CHANGED
@@ -8,17 +8,17 @@ Rails.application.routes.draw do
|
|
8
8
|
end
|
9
9
|
|
10
10
|
resources :comments do
|
11
|
-
collection do
|
12
|
-
get :my
|
13
|
-
get :incoming
|
14
|
-
get :trash
|
15
|
-
end
|
16
|
-
|
17
11
|
member do
|
18
12
|
post :to_spam
|
19
13
|
post :to_draft
|
20
14
|
post :to_published
|
21
15
|
delete :to_trash
|
22
16
|
end
|
17
|
+
|
18
|
+
collection do
|
19
|
+
get :my
|
20
|
+
get :incoming
|
21
|
+
get :trash
|
22
|
+
end
|
23
23
|
end
|
24
24
|
end
|
@@ -36,6 +36,9 @@ class CreateComments < ActiveRecord::Migration
|
|
36
36
|
t.string :user_agent, default: :undefined
|
37
37
|
t.integer :tolerance_time
|
38
38
|
|
39
|
+
# unusable: for future versions
|
40
|
+
t.boolean :spam, default: false
|
41
|
+
|
39
42
|
# nested set
|
40
43
|
t.integer :parent_id
|
41
44
|
t.integer :lft
|
@@ -58,18 +61,24 @@ class CreateComments < ActiveRecord::Migration
|
|
58
61
|
t.string :state, default: :warning
|
59
62
|
end
|
60
63
|
|
61
|
-
# Add fields to User
|
64
|
+
# Add fields to User Model
|
62
65
|
change_table :users do |t|
|
66
|
+
# posted_comments.with_state([:draft,:published])
|
67
|
+
t.integer :my_comments_count, default: 0
|
68
|
+
|
63
69
|
# commentable's comments => comcoms (cache)
|
64
70
|
# Relation through Comment#holder_id field
|
65
71
|
t.integer :draft_comcoms_count, default: 0
|
66
72
|
t.integer :published_comcoms_count, default: 0
|
67
73
|
t.integer :deleted_comcoms_count, default: 0
|
74
|
+
|
75
|
+
# unusable: for future versions
|
76
|
+
t.integer :spam_comcoms_count, default: 0
|
68
77
|
end
|
69
78
|
|
70
|
-
# Uncomment this. Add fields
|
79
|
+
# Uncomment this. Add fields Commentable Models
|
71
80
|
#
|
72
|
-
# [:
|
81
|
+
# [:posts, :blogs, :articles, :pages].each do |table_name|
|
73
82
|
# change_table table_name do |t|
|
74
83
|
# t.integer :draft_comments_count, default: 0
|
75
84
|
# t.integer :published_comments_count, default: 0
|
File without changes
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -1,7 +1,10 @@
|
|
1
1
|
# TheComments.config.param_name => value
|
2
2
|
|
3
3
|
TheComments.configure do |config|
|
4
|
-
config.max_reply_depth
|
5
|
-
config.tolerance_time
|
6
|
-
config.
|
4
|
+
config.max_reply_depth = 3
|
5
|
+
config.tolerance_time = 5
|
6
|
+
config.default_state = :draft
|
7
|
+
config.default_owner_state = :published
|
8
|
+
config.empty_inputs = [:commentBody]
|
9
|
+
config.default_title = 'Undefined title'
|
7
10
|
end
|
@@ -28,7 +28,9 @@ BANNER
|
|
28
28
|
copy_file "../assets/javascripts/the_comments", "app/assets/javascripts/the_comments"
|
29
29
|
copy_file "../assets/stylesheets/the_comments", "app/assets/stylesheets/the_comments"
|
30
30
|
elsif param_name == 'views'
|
31
|
-
directory "../views/the_comments",
|
31
|
+
directory "../views/the_comments", "app/views/the_comments"
|
32
|
+
directory "../views/ip_black_lists", "app/views/ip_black_lists"
|
33
|
+
directory "../views/user_agent_black_lists", "app/views/user_agent_black_lists"
|
32
34
|
elsif param_name == 'helper'
|
33
35
|
copy_file "../helpers/render_comments_tree_helper.rb", "app/helpers/render_comments_tree_helper.rb"
|
34
36
|
else
|
data/lib/the_comments/config.rb
CHANGED
@@ -10,12 +10,15 @@ module TheComments
|
|
10
10
|
# Configuration class
|
11
11
|
class Configuration
|
12
12
|
include ActiveSupport::Configurable
|
13
|
-
config_accessor :tolerance_time, :empty_inputs, :max_reply_depth
|
13
|
+
config_accessor :tolerance_time, :empty_inputs, :max_reply_depth, :default_state, :default_owner_state, :default_title
|
14
14
|
end
|
15
15
|
|
16
16
|
configure do |config|
|
17
|
-
config.max_reply_depth
|
18
|
-
config.tolerance_time
|
19
|
-
config.
|
17
|
+
config.max_reply_depth = 3
|
18
|
+
config.tolerance_time = 5
|
19
|
+
config.default_state = :draft
|
20
|
+
config.default_owner_state = :published
|
21
|
+
config.empty_inputs = [:message]
|
22
|
+
config.default_title = 'Undefined title'
|
20
23
|
end
|
21
24
|
end
|
data/lib/the_comments/version.rb
CHANGED
data/lib/the_comments.rb
CHANGED
data/the_comments.gemspec
CHANGED
@@ -17,7 +17,8 @@ Gem::Specification.new do |gem|
|
|
17
17
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
18
18
|
gem.require_paths = ["lib"]
|
19
19
|
|
20
|
-
gem.add_dependency 'haml'
|
21
20
|
gem.add_dependency 'state_machine'
|
22
21
|
gem.add_dependency 'the_sortable_tree'
|
22
|
+
|
23
|
+
# gem.add_dependency 'rails', '>= 4.0'
|
23
24
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: the_comments
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.9
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,22 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-04-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
-
- !ruby/object:Gem::Dependency
|
15
|
-
name: haml
|
16
|
-
requirement: &80817540 !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
|
-
requirements:
|
19
|
-
- - ! '>='
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: '0'
|
22
|
-
type: :runtime
|
23
|
-
prerelease: false
|
24
|
-
version_requirements: *80817540
|
25
14
|
- !ruby/object:Gem::Dependency
|
26
15
|
name: state_machine
|
27
|
-
requirement: &
|
16
|
+
requirement: &78089010 !ruby/object:Gem::Requirement
|
28
17
|
none: false
|
29
18
|
requirements:
|
30
19
|
- - ! '>='
|
@@ -32,10 +21,10 @@ dependencies:
|
|
32
21
|
version: '0'
|
33
22
|
type: :runtime
|
34
23
|
prerelease: false
|
35
|
-
version_requirements: *
|
24
|
+
version_requirements: *78089010
|
36
25
|
- !ruby/object:Gem::Dependency
|
37
26
|
name: the_sortable_tree
|
38
|
-
requirement: &
|
27
|
+
requirement: &78088800 !ruby/object:Gem::Requirement
|
39
28
|
none: false
|
40
29
|
requirements:
|
41
30
|
- - ! '>='
|
@@ -43,7 +32,7 @@ dependencies:
|
|
43
32
|
version: '0'
|
44
33
|
type: :runtime
|
45
34
|
prerelease: false
|
46
|
-
version_requirements: *
|
35
|
+
version_requirements: *78088800
|
47
36
|
description: ! ' Nested Comments '
|
48
37
|
email:
|
49
38
|
- zykin-ilya@ya.ru
|
@@ -81,6 +70,12 @@ files:
|
|
81
70
|
- config/locales/en.yml
|
82
71
|
- config/routes.rb
|
83
72
|
- db/migrate/20130101010101_create_comments.rb
|
73
|
+
- docs/the_comments.jpg
|
74
|
+
- docs/the_comments_view_1.gif
|
75
|
+
- docs/the_comments_view_2.gif
|
76
|
+
- docs/the_comments_view_3.gif
|
77
|
+
- docs/the_comments_view_4.gif
|
78
|
+
- docs/the_comments_view_5.gif
|
84
79
|
- lib/generators/the_comments/USAGE
|
85
80
|
- lib/generators/the_comments/templates/comments_controller.rb
|
86
81
|
- lib/generators/the_comments/templates/ip_black_lists_controller.rb
|
@@ -92,7 +87,6 @@ files:
|
|
92
87
|
- lib/the_comments/config.rb
|
93
88
|
- lib/the_comments/version.rb
|
94
89
|
- the_comments.gemspec
|
95
|
-
- the_comments.jpg
|
96
90
|
homepage: https://github.com/open-cook/the_comments
|
97
91
|
licenses: []
|
98
92
|
post_install_message:
|