governor_comments 0.1.0

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.
Files changed (86) hide show
  1. data/.document +5 -0
  2. data/.rspec +1 -0
  3. data/Gemfile +21 -0
  4. data/Gemfile.lock +126 -0
  5. data/LICENSE.txt +20 -0
  6. data/README.markdown +59 -0
  7. data/Rakefile +50 -0
  8. data/VERSION +1 -0
  9. data/app/controllers/governor/comments_controller.rb +93 -0
  10. data/app/helpers/governor_comments_helper.rb +7 -0
  11. data/app/views/governor/articles/_comment_link.html.erb +2 -0
  12. data/app/views/governor/articles/_comments.html.erb +17 -0
  13. data/app/views/governor/comments/_comment.html.erb +27 -0
  14. data/app/views/governor/comments/new.html.erb +7 -0
  15. data/config/locales/en.yml +6 -0
  16. data/governor_comments.gemspec +196 -0
  17. data/lib/generators/governor/create_comments_generator.rb +25 -0
  18. data/lib/generators/governor/templates/migrations/create_comments.rb +23 -0
  19. data/lib/generators/governor/templates/models/comment.rb +3 -0
  20. data/lib/generators/governor/templates/models/guest.rb +14 -0
  21. data/lib/governor_comments.rb +15 -0
  22. data/lib/governor_comments/comment.rb +31 -0
  23. data/lib/governor_comments/rails.rb +5 -0
  24. data/log/development.log +0 -0
  25. data/script/rails +6 -0
  26. data/spec/controllers/governor/comments_controller_spec.rb +38 -0
  27. data/spec/governor_comments_spec.rb +16 -0
  28. data/spec/rails_app/.gitignore +4 -0
  29. data/spec/rails_app/Gemfile +40 -0
  30. data/spec/rails_app/Gemfile.lock +96 -0
  31. data/spec/rails_app/README +256 -0
  32. data/spec/rails_app/Rakefile +7 -0
  33. data/spec/rails_app/app/controllers/application_controller.rb +3 -0
  34. data/spec/rails_app/app/controllers/home_controller.rb +2 -0
  35. data/spec/rails_app/app/helpers/application_helper.rb +2 -0
  36. data/spec/rails_app/app/helpers/home_helper.rb +2 -0
  37. data/spec/rails_app/app/models/article.rb +5 -0
  38. data/spec/rails_app/app/models/comment.rb +3 -0
  39. data/spec/rails_app/app/models/guest.rb +14 -0
  40. data/spec/rails_app/app/models/user.rb +9 -0
  41. data/spec/rails_app/app/views/home/index.html.erb +0 -0
  42. data/spec/rails_app/app/views/layouts/application.html.erb +22 -0
  43. data/spec/rails_app/config.ru +4 -0
  44. data/spec/rails_app/config/application.rb +42 -0
  45. data/spec/rails_app/config/boot.rb +14 -0
  46. data/spec/rails_app/config/database.yml +19 -0
  47. data/spec/rails_app/config/environment.rb +5 -0
  48. data/spec/rails_app/config/environments/development.rb +26 -0
  49. data/spec/rails_app/config/environments/production.rb +49 -0
  50. data/spec/rails_app/config/environments/test.rb +35 -0
  51. data/spec/rails_app/config/initializers/backtrace_silencers.rb +7 -0
  52. data/spec/rails_app/config/initializers/devise.rb +142 -0
  53. data/spec/rails_app/config/initializers/governor.rb +36 -0
  54. data/spec/rails_app/config/initializers/inflections.rb +10 -0
  55. data/spec/rails_app/config/initializers/mime_types.rb +5 -0
  56. data/spec/rails_app/config/initializers/rakismet.rb +6 -0
  57. data/spec/rails_app/config/initializers/secret_token.rb +7 -0
  58. data/spec/rails_app/config/initializers/session_store.rb +8 -0
  59. data/spec/rails_app/config/locales/devise.en.yml +39 -0
  60. data/spec/rails_app/config/locales/en.yml +5 -0
  61. data/spec/rails_app/config/routes.rb +64 -0
  62. data/spec/rails_app/db/migrate/20110329032256_devise_create_users.rb +28 -0
  63. data/spec/rails_app/db/migrate/20110330020108_governor_create_articles.rb +15 -0
  64. data/spec/rails_app/db/migrate/20110405030324_governor_create_comments.rb +23 -0
  65. data/spec/rails_app/db/schema.rb +66 -0
  66. data/spec/rails_app/db/seeds.rb +7 -0
  67. data/spec/rails_app/lib/tasks/.gitkeep +0 -0
  68. data/spec/rails_app/public/404.html +26 -0
  69. data/spec/rails_app/public/422.html +26 -0
  70. data/spec/rails_app/public/500.html +26 -0
  71. data/spec/rails_app/public/favicon.ico +0 -0
  72. data/spec/rails_app/public/images/rails.png +0 -0
  73. data/spec/rails_app/public/javascripts/application.js +2 -0
  74. data/spec/rails_app/public/javascripts/controls.js +965 -0
  75. data/spec/rails_app/public/javascripts/dragdrop.js +974 -0
  76. data/spec/rails_app/public/javascripts/effects.js +1123 -0
  77. data/spec/rails_app/public/javascripts/prototype.js +6001 -0
  78. data/spec/rails_app/public/javascripts/rails.js +191 -0
  79. data/spec/rails_app/public/robots.txt +5 -0
  80. data/spec/rails_app/public/stylesheets/.gitkeep +0 -0
  81. data/spec/rails_app/script/rails +6 -0
  82. data/spec/rails_app/spec/factories.rb +16 -0
  83. data/spec/rails_app/vendor/plugins/.gitkeep +0 -0
  84. data/spec/spec_helper.rb +19 -0
  85. data/spec/views/governor/articles/show.html.erb_spec.rb +30 -0
  86. metadata +376 -0
@@ -0,0 +1,7 @@
1
+ <div id="blog">
2
+ <div class="articles">
3
+ <%= render resource %>
4
+ </div>
5
+ <%= render_plugin_partial('after_article_on_article_page', :locals => {:article => resource}) %>
6
+ </div>
7
+ <%= link_to 'Back', polymorphic_path(mapping.plural) %>
@@ -0,0 +1,6 @@
1
+ # Sample localization file for English. Add more files in this directory for other locales.
2
+ # See http://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
3
+
4
+ en:
5
+ hello: "Hello world"
6
+ unauthorized_edit: "You're not allowed to edit this %{resource_type}."
@@ -0,0 +1,196 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{governor_comments}
8
+ s.version = "0.1.0"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Liam Morley"]
12
+ s.date = %q{2011-04-10}
13
+ s.description = %q{Comments plugin for the Rails 3-based Governor blogging system.}
14
+ s.email = %q{liam@carpeliam.com}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE.txt",
17
+ "README.markdown"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ ".rspec",
22
+ "Gemfile",
23
+ "Gemfile.lock",
24
+ "LICENSE.txt",
25
+ "README.markdown",
26
+ "Rakefile",
27
+ "VERSION",
28
+ "app/controllers/governor/comments_controller.rb",
29
+ "app/helpers/governor_comments_helper.rb",
30
+ "app/views/governor/articles/_comment_link.html.erb",
31
+ "app/views/governor/articles/_comments.html.erb",
32
+ "app/views/governor/comments/_comment.html.erb",
33
+ "app/views/governor/comments/new.html.erb",
34
+ "config/locales/en.yml",
35
+ "governor_comments.gemspec",
36
+ "lib/generators/governor/create_comments_generator.rb",
37
+ "lib/generators/governor/templates/migrations/create_comments.rb",
38
+ "lib/generators/governor/templates/models/comment.rb",
39
+ "lib/generators/governor/templates/models/guest.rb",
40
+ "lib/governor_comments.rb",
41
+ "lib/governor_comments/comment.rb",
42
+ "lib/governor_comments/rails.rb",
43
+ "log/development.log",
44
+ "script/rails",
45
+ "spec/controllers/governor/comments_controller_spec.rb",
46
+ "spec/governor_comments_spec.rb",
47
+ "spec/rails_app/.gitignore",
48
+ "spec/rails_app/Gemfile",
49
+ "spec/rails_app/Gemfile.lock",
50
+ "spec/rails_app/README",
51
+ "spec/rails_app/Rakefile",
52
+ "spec/rails_app/app/controllers/application_controller.rb",
53
+ "spec/rails_app/app/controllers/home_controller.rb",
54
+ "spec/rails_app/app/helpers/application_helper.rb",
55
+ "spec/rails_app/app/helpers/home_helper.rb",
56
+ "spec/rails_app/app/models/article.rb",
57
+ "spec/rails_app/app/models/comment.rb",
58
+ "spec/rails_app/app/models/guest.rb",
59
+ "spec/rails_app/app/models/user.rb",
60
+ "spec/rails_app/app/views/home/index.html.erb",
61
+ "spec/rails_app/app/views/layouts/application.html.erb",
62
+ "spec/rails_app/config.ru",
63
+ "spec/rails_app/config/application.rb",
64
+ "spec/rails_app/config/boot.rb",
65
+ "spec/rails_app/config/database.yml",
66
+ "spec/rails_app/config/environment.rb",
67
+ "spec/rails_app/config/environments/development.rb",
68
+ "spec/rails_app/config/environments/production.rb",
69
+ "spec/rails_app/config/environments/test.rb",
70
+ "spec/rails_app/config/initializers/backtrace_silencers.rb",
71
+ "spec/rails_app/config/initializers/devise.rb",
72
+ "spec/rails_app/config/initializers/governor.rb",
73
+ "spec/rails_app/config/initializers/inflections.rb",
74
+ "spec/rails_app/config/initializers/mime_types.rb",
75
+ "spec/rails_app/config/initializers/rakismet.rb",
76
+ "spec/rails_app/config/initializers/secret_token.rb",
77
+ "spec/rails_app/config/initializers/session_store.rb",
78
+ "spec/rails_app/config/locales/devise.en.yml",
79
+ "spec/rails_app/config/locales/en.yml",
80
+ "spec/rails_app/config/routes.rb",
81
+ "spec/rails_app/db/migrate/20110329032256_devise_create_users.rb",
82
+ "spec/rails_app/db/migrate/20110330020108_governor_create_articles.rb",
83
+ "spec/rails_app/db/migrate/20110405030324_governor_create_comments.rb",
84
+ "spec/rails_app/db/schema.rb",
85
+ "spec/rails_app/db/seeds.rb",
86
+ "spec/rails_app/lib/tasks/.gitkeep",
87
+ "spec/rails_app/public/404.html",
88
+ "spec/rails_app/public/422.html",
89
+ "spec/rails_app/public/500.html",
90
+ "spec/rails_app/public/favicon.ico",
91
+ "spec/rails_app/public/images/rails.png",
92
+ "spec/rails_app/public/javascripts/application.js",
93
+ "spec/rails_app/public/javascripts/controls.js",
94
+ "spec/rails_app/public/javascripts/dragdrop.js",
95
+ "spec/rails_app/public/javascripts/effects.js",
96
+ "spec/rails_app/public/javascripts/prototype.js",
97
+ "spec/rails_app/public/javascripts/rails.js",
98
+ "spec/rails_app/public/robots.txt",
99
+ "spec/rails_app/public/stylesheets/.gitkeep",
100
+ "spec/rails_app/script/rails",
101
+ "spec/rails_app/spec/factories.rb",
102
+ "spec/rails_app/vendor/plugins/.gitkeep",
103
+ "spec/spec_helper.rb",
104
+ "spec/views/governor/articles/show.html.erb_spec.rb"
105
+ ]
106
+ s.homepage = %q{http://carpeliam.github.com/governor}
107
+ s.licenses = ["MIT"]
108
+ s.require_paths = ["lib"]
109
+ s.rubygems_version = %q{1.3.7}
110
+ s.summary = %q{Comments plugin for the Rails 3-based Governor blogging system.}
111
+ s.test_files = [
112
+ "spec/controllers/governor/comments_controller_spec.rb",
113
+ "spec/governor_comments_spec.rb",
114
+ "spec/rails_app/app/controllers/application_controller.rb",
115
+ "spec/rails_app/app/controllers/home_controller.rb",
116
+ "spec/rails_app/app/helpers/application_helper.rb",
117
+ "spec/rails_app/app/helpers/home_helper.rb",
118
+ "spec/rails_app/app/models/article.rb",
119
+ "spec/rails_app/app/models/comment.rb",
120
+ "spec/rails_app/app/models/guest.rb",
121
+ "spec/rails_app/app/models/user.rb",
122
+ "spec/rails_app/config/application.rb",
123
+ "spec/rails_app/config/boot.rb",
124
+ "spec/rails_app/config/environment.rb",
125
+ "spec/rails_app/config/environments/development.rb",
126
+ "spec/rails_app/config/environments/production.rb",
127
+ "spec/rails_app/config/environments/test.rb",
128
+ "spec/rails_app/config/initializers/backtrace_silencers.rb",
129
+ "spec/rails_app/config/initializers/devise.rb",
130
+ "spec/rails_app/config/initializers/governor.rb",
131
+ "spec/rails_app/config/initializers/inflections.rb",
132
+ "spec/rails_app/config/initializers/mime_types.rb",
133
+ "spec/rails_app/config/initializers/rakismet.rb",
134
+ "spec/rails_app/config/initializers/secret_token.rb",
135
+ "spec/rails_app/config/initializers/session_store.rb",
136
+ "spec/rails_app/config/routes.rb",
137
+ "spec/rails_app/db/migrate/20110329032256_devise_create_users.rb",
138
+ "spec/rails_app/db/migrate/20110330020108_governor_create_articles.rb",
139
+ "spec/rails_app/db/migrate/20110405030324_governor_create_comments.rb",
140
+ "spec/rails_app/db/schema.rb",
141
+ "spec/rails_app/db/seeds.rb",
142
+ "spec/rails_app/spec/factories.rb",
143
+ "spec/spec_helper.rb",
144
+ "spec/views/governor/articles/show.html.erb_spec.rb"
145
+ ]
146
+
147
+ if s.respond_to? :specification_version then
148
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
149
+ s.specification_version = 3
150
+
151
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
152
+ s.add_runtime_dependency(%q<rails>, ["~> 3.0.5"])
153
+ s.add_runtime_dependency(%q<governor>, [">= 0.2.0"])
154
+ s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
155
+ s.add_development_dependency(%q<sqlite3>, [">= 0"])
156
+ s.add_development_dependency(%q<rspec-rails>, [">= 0"])
157
+ s.add_development_dependency(%q<mocha>, [">= 0"])
158
+ s.add_development_dependency(%q<factory_girl>, ["~> 2.0.0.beta"])
159
+ s.add_development_dependency(%q<factory_girl_rails>, ["~> 1.1.beta"])
160
+ s.add_development_dependency(%q<activerecord-nulldb-adapter>, [">= 0"])
161
+ s.add_development_dependency(%q<governor_comments>, [">= 0"])
162
+ s.add_development_dependency(%q<devise>, [">= 0"])
163
+ s.add_development_dependency(%q<dynamic_form>, [">= 0"])
164
+ s.add_development_dependency(%q<rakismet>, [">= 0"])
165
+ else
166
+ s.add_dependency(%q<rails>, ["~> 3.0.5"])
167
+ s.add_dependency(%q<governor>, [">= 0.2.0"])
168
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
169
+ s.add_dependency(%q<sqlite3>, [">= 0"])
170
+ s.add_dependency(%q<rspec-rails>, [">= 0"])
171
+ s.add_dependency(%q<mocha>, [">= 0"])
172
+ s.add_dependency(%q<factory_girl>, ["~> 2.0.0.beta"])
173
+ s.add_dependency(%q<factory_girl_rails>, ["~> 1.1.beta"])
174
+ s.add_dependency(%q<activerecord-nulldb-adapter>, [">= 0"])
175
+ s.add_dependency(%q<governor_comments>, [">= 0"])
176
+ s.add_dependency(%q<devise>, [">= 0"])
177
+ s.add_dependency(%q<dynamic_form>, [">= 0"])
178
+ s.add_dependency(%q<rakismet>, [">= 0"])
179
+ end
180
+ else
181
+ s.add_dependency(%q<rails>, ["~> 3.0.5"])
182
+ s.add_dependency(%q<governor>, [">= 0.2.0"])
183
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
184
+ s.add_dependency(%q<sqlite3>, [">= 0"])
185
+ s.add_dependency(%q<rspec-rails>, [">= 0"])
186
+ s.add_dependency(%q<mocha>, [">= 0"])
187
+ s.add_dependency(%q<factory_girl>, ["~> 2.0.0.beta"])
188
+ s.add_dependency(%q<factory_girl_rails>, ["~> 1.1.beta"])
189
+ s.add_dependency(%q<activerecord-nulldb-adapter>, [">= 0"])
190
+ s.add_dependency(%q<governor_comments>, [">= 0"])
191
+ s.add_dependency(%q<devise>, [">= 0"])
192
+ s.add_dependency(%q<dynamic_form>, [">= 0"])
193
+ s.add_dependency(%q<rakismet>, [">= 0"])
194
+ end
195
+ end
196
+
@@ -0,0 +1,25 @@
1
+ require 'rails/generators'
2
+ require 'rails/generators/migration'
3
+ module Governor
4
+ class CreateCommentsGenerator < Rails::Generators::Base
5
+ include Rails::Generators::Migration
6
+ source_root File.expand_path('../templates', __FILE__)
7
+
8
+ def self.next_migration_number(dirname)
9
+ if ActiveRecord::Base.timestamped_migrations
10
+ Time.new.utc.strftime("%Y%m%d%H%M%S")
11
+ else
12
+ "%.3d" % (current_migration_number(dirname) + 1)
13
+ end
14
+ end
15
+
16
+ def create_models
17
+ template 'models/comment.rb', "app/models/comment.rb"
18
+ template 'models/guest.rb', "app/models/guest.rb"
19
+ end
20
+
21
+ def create_migration_file
22
+ migration_template 'migrations/create_comments.rb', "db/migrate/governor_create_comments.rb", :skip => true
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,23 @@
1
+ class GovernorCreateComments < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :comments do |t|
4
+ t.string :title, :content
5
+ t.boolean :hidden, :default => false
6
+ t.references :commenter, :polymorphic => true
7
+ t.references :<%= article %>
8
+ t.timestamps
9
+ end
10
+
11
+ create_table :guests do |t|
12
+ t.string :name
13
+ t.string :email
14
+ t.string :website
15
+ t.timestamps
16
+ end
17
+ end
18
+
19
+ def self.down
20
+ drop_table :comments
21
+ drop_table :guests
22
+ end
23
+ end
@@ -0,0 +1,3 @@
1
+ class Comment < ActiveRecord::Base
2
+ include GovernorComments::Comment
3
+ end
@@ -0,0 +1,14 @@
1
+ class Guest < ActiveRecord::Base
2
+
3
+ validates_presence_of :name
4
+ validates_format_of :name, :with => /\A[^[:cntrl:]\\<>\/&]*\z/, :message => 'avoid non-printing characters and \\&gt;&lt;&amp;/ please.'
5
+ validates_length_of :name, :maximum => 100
6
+
7
+ validates_presence_of :email
8
+ validates_length_of :email, :within => 6..100 #r@a.wk
9
+ validates_format_of :email, :with => /\A[\w\.%\+\-]+@(?:[A-Z0-9\-]+\.)+(?:[A-Z]{2}|com|org|net|edu|gov|mil|biz|info|mobi|name|aero|jobs|museum)\z/i, :message => "should look like an email address."
10
+
11
+ def website=(website)
12
+ self[:website] = (website.blank? or website.starts_with? 'http://') ? website : 'http://' + website
13
+ end
14
+ end
@@ -0,0 +1,15 @@
1
+ require 'governor_comments/comment'
2
+ require 'governor_comments/rails'
3
+
4
+ comments = Governor::Plugin.new('comments')
5
+ comments.add_migration(File.join(File.dirname(__FILE__), 'templates', 'create_comments.rb'))
6
+ comments.add_child_resource :comments do
7
+ member do
8
+ put 'mark_spam', 'not_spam'
9
+ end
10
+ end
11
+ comments.add_helper "GovernorCommentsHelper"
12
+ comments.register_partial :after_article_whole, 'articles/comments'
13
+ comments.register_partial :after_article_description, 'articles/comment_link'
14
+
15
+ Governor::PluginManager.register comments
@@ -0,0 +1,31 @@
1
+ module GovernorComments
2
+ module Comment
3
+ require 'md5'
4
+ def self.included(base)
5
+ if Governor.resources.size == 1
6
+ base.belongs_to Governor.default_resource.singular
7
+ else
8
+ base.belongs_to :resource, :polymorphic => true
9
+ end
10
+ base.belongs_to :commenter, :polymorphic => true
11
+ if defined?(Rakismet)
12
+ base.send :include, Rakismet::Model
13
+ base.rakismet_attrs :author => proc { commenter.name },
14
+ :author_email => proc { commenter.email },
15
+ :author_url => proc { commenter.website },
16
+ :comment_type => 'comment'
17
+ end
18
+
19
+ base.validates_presence_of :content
20
+ end
21
+
22
+ def gravatar_url(size = 48, default = "http://github.com/images/gravatars/gravatar-#{size}.png")
23
+ if commenter.respond_to? :email
24
+ hash = MD5::md5 commenter.email.downcase
25
+ "http://www.gravatar.com/avatar/#{hash}?s=#{size}&r=pg&d=#{CGI::escape(default)}"
26
+ else
27
+ default
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,5 @@
1
+ module GovernorComments
2
+ class Engine < ::Rails::Engine
3
+
4
+ end
5
+ end
File without changes
data/script/rails ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
+
4
+ APP_PATH = File.expand_path('../../config/application', __FILE__)
5
+ require File.expand_path('../../config/boot', __FILE__)
6
+ require 'rails/commands'
@@ -0,0 +1,38 @@
1
+ require 'spec_helper'
2
+
3
+ module Governor
4
+ describe CommentsController do
5
+ include Devise::TestHelpers
6
+
7
+ before(:each) do
8
+ @user = Factory(:user)
9
+ @article = Factory(:article, :author => @user)
10
+ @comment = Factory(:comment, :article => @article, :commenter => @user)
11
+ sign_in @user
12
+ end
13
+
14
+ context "#create" do
15
+ it "creates a new comment" do
16
+ post :create, :governor_mapping => :articles, :article_id => @article.id, :comment => {:content => "$$$"}
17
+ assigns[:comment].should_not be_a_new_record
18
+ assigns[:comment].commenter.should == @user
19
+ assigns[:article].should == @article
20
+ end
21
+ end
22
+
23
+ context "#mark_spam" do
24
+ it "hides the comment" do
25
+ put :mark_spam, :governor_mapping => :articles, :article_id => @article.id, :id => @comment.id
26
+ assigns[:comment].should be_hidden
27
+ end
28
+ end
29
+
30
+ context "#not_spam" do
31
+ before(:each) { @comment.update_attribute(:hidden, true) }
32
+ it "unhides the comment" do
33
+ put :not_spam, :governor_mapping => :articles, :article_id => @article.id, :id => @comment.id
34
+ assigns[:comment].should_not be_hidden
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,16 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ module Governor
4
+ describe GovernorComments do
5
+ it "registers the plugin" do
6
+ Governor::PluginManager.plugins.size == 1
7
+ end
8
+
9
+ it "registers one child resource" do
10
+ PluginManager.resources(:child_resources).size.should == 1
11
+ options = PluginManager.resources(:child_resources)[:comments]
12
+ options.keys.should == [:block]
13
+ options[:block].should be_a Proc
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,4 @@
1
+ .bundle
2
+ db/*.sqlite3
3
+ log/*.log
4
+ tmp/
@@ -0,0 +1,40 @@
1
+ source 'http://rubygems.org'
2
+
3
+ gem 'rails', '3.0.5'
4
+
5
+ # Bundle edge Rails instead:
6
+ # gem 'rails', :git => 'git://github.com/rails/rails.git'
7
+
8
+ gem 'sqlite3'
9
+
10
+ gem 'devise'
11
+ gem 'rakismet'
12
+ gem 'governor', '>= 0.2.0'
13
+ gem 'governor_comments', :path => '../..'
14
+
15
+ gem 'dynamic_form'
16
+
17
+ gem 'will_paginate', '~> 3.0.beta'
18
+
19
+ # Use unicorn as the web server
20
+ # gem 'unicorn'
21
+
22
+ # Deploy with Capistrano
23
+ # gem 'capistrano'
24
+
25
+ # To use debugger (ruby-debug for Ruby 1.8.7+, ruby-debug19 for Ruby 1.9.2+)
26
+ # gem 'ruby-debug'
27
+ # gem 'ruby-debug19', :require => 'ruby-debug'
28
+
29
+ # Bundle the extra gems:
30
+ # gem 'bj'
31
+ # gem 'nokogiri'
32
+ # gem 'sqlite3-ruby', :require => 'sqlite3'
33
+ # gem 'aws-s3', :require => 'aws/s3'
34
+
35
+ # Bundle gems for the local environment. Make sure to
36
+ # put test-only gems in this group so their generators
37
+ # and rake tasks are available in development mode:
38
+ # group :development, :test do
39
+ # gem 'webrat'
40
+ # end