muck-comments 0.1.20 → 0.1.21
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/active_record/acts/muck_comment.rb +5 -28
- data/lib/acts_as_commentable_with_threading.rb +2 -31
- data/muck-comments.gemspec +37 -4
- data/test/rails_root/config/database.yml +15 -18
- data/test/rails_root/db/migrate/20100206000906_remove_name_fields.rb +15 -0
- data/test/rails_root/public/images/fancybox/blank.gif +0 -0
- data/test/rails_root/public/images/fancybox/fancy_close.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_loading.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_nav_left.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_nav_right.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_e.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_n.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_ne.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_nw.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_s.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_se.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_sw.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_w.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_title_left.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_title_main.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_title_over.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_title_right.png +0 -0
- data/test/rails_root/public/images/fancybox/fancybox-x.png +0 -0
- data/test/rails_root/public/images/fancybox/fancybox-y.png +0 -0
- data/test/rails_root/public/images/fancybox/fancybox.png +0 -0
- data/test/rails_root/public/images/icon_no.gif +0 -0
- data/test/rails_root/public/images/icon_success.gif +0 -0
- data/test/rails_root/public/javascripts/jquery/fg.menu.js +517 -0
- data/test/rails_root/public/javascripts/jquery/jquery-ui.js +862 -123
- data/test/rails_root/public/javascripts/jquery/jquery.easing.js +46 -1
- data/test/rails_root/public/javascripts/jquery/jquery.fancybox.js +34 -6
- data/test/rails_root/public/javascripts/jquery/jquery.form.js +45 -30
- data/test/rails_root/public/javascripts/jquery/jquery.js +150 -15
- data/test/rails_root/public/javascripts/jquery/jquery.mousewheel.js +13 -0
- data/test/rails_root/public/javascripts/jquery/jquery.timers.js +138 -0
- data/test/rails_root/public/javascripts/muck-countries.js +1 -1
- data/test/rails_root/public/javascripts/muck-src.js +147 -0
- data/test/rails_root/public/javascripts/muck-users.js +6 -0
- data/test/rails_root/public/javascripts/muck.js +5 -91
- data/test/rails_root/public/javascripts/muck_admin.js +13 -0
- data/test/rails_root/public/stylesheets/admin.css +22 -0
- data/test/rails_root/public/stylesheets/fgmenu/fg.menu.css +114 -0
- data/test/rails_root/public/stylesheets/flick/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/test/rails_root/public/stylesheets/flick/images/ui-bg_flat_0_eeeeee_40x100.png +0 -0
- data/test/rails_root/public/stylesheets/flick/images/ui-bg_flat_55_ffffff_40x100.png +0 -0
- data/test/rails_root/public/stylesheets/flick/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/test/rails_root/public/stylesheets/flick/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/test/rails_root/public/stylesheets/flick/images/ui-bg_highlight-soft_100_f6f6f6_1x100.png +0 -0
- data/test/rails_root/public/stylesheets/flick/images/ui-bg_highlight-soft_25_0073ea_1x100.png +0 -0
- data/test/rails_root/public/stylesheets/flick/images/ui-bg_highlight-soft_50_dddddd_1x100.png +0 -0
- data/test/rails_root/public/stylesheets/flick/images/ui-icons_0073ea_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/flick/images/ui-icons_454545_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/flick/images/ui-icons_666666_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/flick/images/ui-icons_ff0084_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/flick/images/ui-icons_ffffff_256x240.png +0 -0
- data/test/rails_root/public/stylesheets/flick/jquery-ui-1.8.1.custom.css +486 -0
- data/test/rails_root/public/stylesheets/jquery/jquery.fancybox.css +77 -38
- metadata +50 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.21
|
@@ -17,12 +17,13 @@ module ActiveRecord
|
|
17
17
|
acts_as_nested_set :scope => [:commentable_id, :commentable_type]
|
18
18
|
validates_presence_of :body
|
19
19
|
belongs_to :user
|
20
|
-
belongs_to :commentable, :
|
20
|
+
belongs_to :commentable, :polymorphic => true, :counter_cache => 'comment_count', :touch => true
|
21
21
|
|
22
22
|
named_scope :limit, lambda { |num| { :limit => num } }
|
23
|
-
named_scope :by_newest, :order => "created_at DESC"
|
24
|
-
named_scope :by_oldest, :order => "created_at ASC"
|
25
|
-
named_scope :recent, lambda { { :conditions => ['created_at > ?', 1.week.ago] } }
|
23
|
+
named_scope :by_newest, :order => "comments.created_at DESC"
|
24
|
+
named_scope :by_oldest, :order => "comments.created_at ASC"
|
25
|
+
named_scope :recent, lambda { { :conditions => ['comments.created_at > ?', 1.week.ago] } }
|
26
|
+
named_scope :by_user, lambda { { :conditions => ['comments.user_id ?', user.id] } }
|
26
27
|
|
27
28
|
if options[:sanitize_content]
|
28
29
|
before_save :sanitize_attributes
|
@@ -41,30 +42,6 @@ module ActiveRecord
|
|
41
42
|
|
42
43
|
# class methods
|
43
44
|
module SingletonMethods
|
44
|
-
|
45
|
-
# Helper class method to lookup all comments assigned
|
46
|
-
# to all commentable types for a given user.
|
47
|
-
def find_comments_by_user(user)
|
48
|
-
find(:all,
|
49
|
-
:conditions => ["user_id = ?", user.id],
|
50
|
-
:order => "created_at DESC"
|
51
|
-
)
|
52
|
-
end
|
53
|
-
|
54
|
-
# Helper class method to look up all comments for
|
55
|
-
# commentable class name and commentable id.
|
56
|
-
def find_comments_for_commentable(commentable_str, commentable_id)
|
57
|
-
find(:all,
|
58
|
-
:conditions => ["commentable_type = ? and commentable_id = ?", commentable_str, commentable_id],
|
59
|
-
:order => "created_at DESC"
|
60
|
-
)
|
61
|
-
end
|
62
|
-
|
63
|
-
# Helper class method to look up a commentable object
|
64
|
-
# given the commentable class name and id
|
65
|
-
def find_commentable(commentable_str, commentable_id)
|
66
|
-
commentable_str.constantize.find(commentable_id)
|
67
|
-
end
|
68
45
|
|
69
46
|
end
|
70
47
|
|
@@ -8,7 +8,7 @@ module Acts #:nodoc:
|
|
8
8
|
|
9
9
|
module ClassMethods
|
10
10
|
def acts_as_commentable
|
11
|
-
has_many :comments, :as => :commentable, :dependent => :destroy
|
11
|
+
has_many :comments, :as => :commentable, :dependent => :destroy
|
12
12
|
include Acts::CommentableWithThreading::InstanceMethods
|
13
13
|
extend Acts::CommentableWithThreading::SingletonMethods
|
14
14
|
end
|
@@ -16,28 +16,7 @@ module Acts #:nodoc:
|
|
16
16
|
|
17
17
|
# This module contains class methods
|
18
18
|
module SingletonMethods
|
19
|
-
# Helper method to lookup for comments for a given object.
|
20
|
-
# This method is equivalent to obj.comments.
|
21
|
-
def find_comments_for(obj)
|
22
|
-
commentable = ActiveRecord::Base.send(:class_name_of_active_record_descendant, self).to_s
|
23
|
-
|
24
|
-
self.find(:all,
|
25
|
-
:conditions => ["commentable_id = ? and commentable_type = ?", obj.id, commentable],
|
26
|
-
:order => "created_at DESC"
|
27
|
-
)
|
28
|
-
end
|
29
19
|
|
30
|
-
# Helper class method to lookup comments for
|
31
|
-
# the mixin commentable type written by a given user.
|
32
|
-
# This method is NOT equivalent to Comment.find_comments_for_user
|
33
|
-
def find_comments_by_user(user)
|
34
|
-
commentable = ActiveRecord::Base.send(:class_name_of_active_record_descendant, self).to_s
|
35
|
-
|
36
|
-
self.find(:all,
|
37
|
-
:conditions => ["user_id = ? and commentable_type = ?", user.id, commentable],
|
38
|
-
:order => "created_at DESC"
|
39
|
-
)
|
40
|
-
end
|
41
20
|
end
|
42
21
|
|
43
22
|
# This module contains instance methods
|
@@ -48,17 +27,9 @@ module Acts #:nodoc:
|
|
48
27
|
self.comments.find(:all, :conditions => {:parent_id => nil})
|
49
28
|
end
|
50
29
|
|
51
|
-
# Helper method to sort comments by date
|
52
|
-
def comments_ordered_by_submitted
|
53
|
-
self.class.find(:all,
|
54
|
-
:conditions => ["commentable_id = ? and commentable_type = ?", id, self.class.name],
|
55
|
-
:order => "created_at DESC"
|
56
|
-
)
|
57
|
-
end
|
58
|
-
|
59
30
|
# Helper method that defaults the submitted time.
|
60
31
|
def add_comment(comment)
|
61
|
-
comments << comment
|
32
|
+
self.comments << comment
|
62
33
|
end
|
63
34
|
|
64
35
|
# Determines whether or not the give user can comment on the parent object
|
data/muck-comments.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{muck-comments}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.21"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Justin Ball", "Joel Duffin"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-07-23}
|
13
13
|
s.description = %q{The comment engine for the muck system.}
|
14
14
|
s.email = %q{justin@tatemae.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -143,6 +143,7 @@ Gem::Specification.new do |s|
|
|
143
143
|
"test/rails_root/db/migrate/20091124205819_add_fields_to_profiles.rb",
|
144
144
|
"test/rails_root/db/migrate/20100123035450_create_access_codes.rb",
|
145
145
|
"test/rails_root/db/migrate/20100123233654_create_access_code_requests.rb",
|
146
|
+
"test/rails_root/db/migrate/20100206000906_remove_name_fields.rb",
|
146
147
|
"test/rails_root/features/comments.feature",
|
147
148
|
"test/rails_root/features/step_definitions/comment_steps.rb",
|
148
149
|
"test/rails_root/features/step_definitions/common_steps.rb",
|
@@ -166,8 +167,13 @@ Gem::Specification.new do |s|
|
|
166
167
|
"test/rails_root/public/images/arrow_left.gif",
|
167
168
|
"test/rails_root/public/images/arrow_right.gif",
|
168
169
|
"test/rails_root/public/images/arrow_up.gif",
|
170
|
+
"test/rails_root/public/images/fancybox/blank.gif",
|
171
|
+
"test/rails_root/public/images/fancybox/fancy_close.png",
|
169
172
|
"test/rails_root/public/images/fancybox/fancy_closebox.png",
|
170
173
|
"test/rails_root/public/images/fancybox/fancy_left.png",
|
174
|
+
"test/rails_root/public/images/fancybox/fancy_loading.png",
|
175
|
+
"test/rails_root/public/images/fancybox/fancy_nav_left.png",
|
176
|
+
"test/rails_root/public/images/fancybox/fancy_nav_right.png",
|
171
177
|
"test/rails_root/public/images/fancybox/fancy_progress.png",
|
172
178
|
"test/rails_root/public/images/fancybox/fancy_right.png",
|
173
179
|
"test/rails_root/public/images/fancybox/fancy_shadow_e.png",
|
@@ -180,7 +186,13 @@ Gem::Specification.new do |s|
|
|
180
186
|
"test/rails_root/public/images/fancybox/fancy_shadow_w.png",
|
181
187
|
"test/rails_root/public/images/fancybox/fancy_title_left.png",
|
182
188
|
"test/rails_root/public/images/fancybox/fancy_title_main.png",
|
189
|
+
"test/rails_root/public/images/fancybox/fancy_title_over.png",
|
183
190
|
"test/rails_root/public/images/fancybox/fancy_title_right.png",
|
191
|
+
"test/rails_root/public/images/fancybox/fancybox-x.png",
|
192
|
+
"test/rails_root/public/images/fancybox/fancybox-y.png",
|
193
|
+
"test/rails_root/public/images/fancybox/fancybox.png",
|
194
|
+
"test/rails_root/public/images/icon_no.gif",
|
195
|
+
"test/rails_root/public/images/icon_success.gif",
|
184
196
|
"test/rails_root/public/images/icons/accept.png",
|
185
197
|
"test/rails_root/public/images/icons/add.png",
|
186
198
|
"test/rails_root/public/images/icons/blue_guy.png",
|
@@ -563,6 +575,7 @@ Gem::Specification.new do |s|
|
|
563
575
|
"test/rails_root/public/javascripts/effects.js",
|
564
576
|
"test/rails_root/public/javascripts/fancyzoom.min.js",
|
565
577
|
"test/rails_root/public/javascripts/jquery/colorpicker.js",
|
578
|
+
"test/rails_root/public/javascripts/jquery/fg.menu.js",
|
566
579
|
"test/rails_root/public/javascripts/jquery/jquery-ui.js",
|
567
580
|
"test/rails_root/public/javascripts/jquery/jquery.autocomplete.js.readme",
|
568
581
|
"test/rails_root/public/javascripts/jquery/jquery.autocomplete.min.js",
|
@@ -573,15 +586,19 @@ Gem::Specification.new do |s|
|
|
573
586
|
"test/rails_root/public/javascripts/jquery/jquery.jgrowl.js",
|
574
587
|
"test/rails_root/public/javascripts/jquery/jquery.js",
|
575
588
|
"test/rails_root/public/javascripts/jquery/jquery.metadata.min.js",
|
589
|
+
"test/rails_root/public/javascripts/jquery/jquery.mousewheel.js",
|
576
590
|
"test/rails_root/public/javascripts/jquery/jquery.queryString.js",
|
577
591
|
"test/rails_root/public/javascripts/jquery/jquery.swapimage.js",
|
578
592
|
"test/rails_root/public/javascripts/jquery/jquery.swapimage.min.js",
|
593
|
+
"test/rails_root/public/javascripts/jquery/jquery.timers.js",
|
579
594
|
"test/rails_root/public/javascripts/jquery/jquery.tips.js",
|
580
595
|
"test/rails_root/public/javascripts/jquery/jrails.js",
|
581
596
|
"test/rails_root/public/javascripts/muck-countries.js",
|
597
|
+
"test/rails_root/public/javascripts/muck-src.js",
|
582
598
|
"test/rails_root/public/javascripts/muck-users.js",
|
583
599
|
"test/rails_root/public/javascripts/muck.js",
|
584
600
|
"test/rails_root/public/javascripts/muck_activities.js",
|
601
|
+
"test/rails_root/public/javascripts/muck_admin.js",
|
585
602
|
"test/rails_root/public/javascripts/muck_time/en.js",
|
586
603
|
"test/rails_root/public/javascripts/prototype.js",
|
587
604
|
"test/rails_root/public/javascripts/scriptaculous.js",
|
@@ -624,6 +641,21 @@ Gem::Specification.new do |s|
|
|
624
641
|
"test/rails_root/public/stylesheets/blueprint/src/print.css",
|
625
642
|
"test/rails_root/public/stylesheets/blueprint/src/reset.css",
|
626
643
|
"test/rails_root/public/stylesheets/blueprint/src/typography.css",
|
644
|
+
"test/rails_root/public/stylesheets/fgmenu/fg.menu.css",
|
645
|
+
"test/rails_root/public/stylesheets/flick/images/ui-bg_flat_0_aaaaaa_40x100.png",
|
646
|
+
"test/rails_root/public/stylesheets/flick/images/ui-bg_flat_0_eeeeee_40x100.png",
|
647
|
+
"test/rails_root/public/stylesheets/flick/images/ui-bg_flat_55_ffffff_40x100.png",
|
648
|
+
"test/rails_root/public/stylesheets/flick/images/ui-bg_flat_75_ffffff_40x100.png",
|
649
|
+
"test/rails_root/public/stylesheets/flick/images/ui-bg_glass_65_ffffff_1x400.png",
|
650
|
+
"test/rails_root/public/stylesheets/flick/images/ui-bg_highlight-soft_100_f6f6f6_1x100.png",
|
651
|
+
"test/rails_root/public/stylesheets/flick/images/ui-bg_highlight-soft_25_0073ea_1x100.png",
|
652
|
+
"test/rails_root/public/stylesheets/flick/images/ui-bg_highlight-soft_50_dddddd_1x100.png",
|
653
|
+
"test/rails_root/public/stylesheets/flick/images/ui-icons_0073ea_256x240.png",
|
654
|
+
"test/rails_root/public/stylesheets/flick/images/ui-icons_454545_256x240.png",
|
655
|
+
"test/rails_root/public/stylesheets/flick/images/ui-icons_666666_256x240.png",
|
656
|
+
"test/rails_root/public/stylesheets/flick/images/ui-icons_ff0084_256x240.png",
|
657
|
+
"test/rails_root/public/stylesheets/flick/images/ui-icons_ffffff_256x240.png",
|
658
|
+
"test/rails_root/public/stylesheets/flick/jquery-ui-1.8.1.custom.css",
|
627
659
|
"test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_diagonals-small_0_aaaaaa_40x40.png",
|
628
660
|
"test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_diagonals-thick_15_444444_40x40.png",
|
629
661
|
"test/rails_root/public/stylesheets/jquery/cupertino/images/ui-bg_glass_100_f0f0f0_1x400.png",
|
@@ -772,7 +804,7 @@ Gem::Specification.new do |s|
|
|
772
804
|
s.rdoc_options = ["--charset=UTF-8"]
|
773
805
|
s.require_paths = ["lib"]
|
774
806
|
s.rubyforge_project = %q{muck-comments}
|
775
|
-
s.rubygems_version = %q{1.3.
|
807
|
+
s.rubygems_version = %q{1.3.7}
|
776
808
|
s.summary = %q{The comment engine for the muck system}
|
777
809
|
s.test_files = [
|
778
810
|
"test/rails_root/app/controllers/application_controller.rb",
|
@@ -815,6 +847,7 @@ Gem::Specification.new do |s|
|
|
815
847
|
"test/rails_root/db/migrate/20091124205819_add_fields_to_profiles.rb",
|
816
848
|
"test/rails_root/db/migrate/20100123035450_create_access_codes.rb",
|
817
849
|
"test/rails_root/db/migrate/20100123233654_create_access_code_requests.rb",
|
850
|
+
"test/rails_root/db/migrate/20100206000906_remove_name_fields.rb",
|
818
851
|
"test/rails_root/features/step_definitions/comment_steps.rb",
|
819
852
|
"test/rails_root/features/step_definitions/common_steps.rb",
|
820
853
|
"test/rails_root/features/step_definitions/webrat_steps.rb",
|
@@ -860,7 +893,7 @@ Gem::Specification.new do |s|
|
|
860
893
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
861
894
|
s.specification_version = 3
|
862
895
|
|
863
|
-
if Gem::Version.new(Gem::
|
896
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
864
897
|
s.add_runtime_dependency(%q<sanitize>, [">= 0"])
|
865
898
|
s.add_runtime_dependency(%q<awesome_nested_set>, [">= 0"])
|
866
899
|
s.add_runtime_dependency(%q<muck-engine>, [">= 0"])
|
@@ -1,23 +1,20 @@
|
|
1
1
|
development:
|
2
|
-
adapter:
|
3
|
-
database:
|
4
|
-
|
2
|
+
adapter: mysql
|
3
|
+
database: muck_comments_development
|
4
|
+
username: root
|
5
|
+
password:
|
6
|
+
host: localhost
|
7
|
+
encoding: utf8
|
5
8
|
|
6
|
-
test:
|
7
|
-
adapter:
|
8
|
-
database:
|
9
|
-
|
9
|
+
test:
|
10
|
+
adapter: mysql
|
11
|
+
database: muck_comments_test
|
12
|
+
username: root
|
13
|
+
password:
|
14
|
+
host: localhost
|
15
|
+
encoding: utf8
|
10
16
|
|
11
|
-
production:
|
12
|
-
adapter: sqlite3
|
13
|
-
database: db/production.sqlite3
|
14
|
-
timeout: 5000
|
15
|
-
|
16
|
-
cucumber:
|
17
|
-
<<: *TEST
|
18
17
|
cucumber:
|
19
18
|
<<: *TEST
|
20
|
-
|
21
|
-
|
22
|
-
cucumber:
|
23
|
-
<<: *TEST
|
19
|
+
|
20
|
+
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class RemoveNameFields < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
remove_column :profiles, :first_name
|
4
|
+
remove_column :profiles, :last_name
|
5
|
+
add_column :profiles, :profile_views, :integer
|
6
|
+
add_column :profiles, :policy, :text
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.down
|
10
|
+
add_column :profiles, :first_name, :string
|
11
|
+
add_column :profiles, :last_name, :string
|
12
|
+
remove_column :profiles, :profile_views
|
13
|
+
remove_column :profiles, :policy
|
14
|
+
end
|
15
|
+
end
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|