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,191 @@
1
+ (function() {
2
+ // Technique from Juriy Zaytsev
3
+ // http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/
4
+ function isEventSupported(eventName) {
5
+ var el = document.createElement('div');
6
+ eventName = 'on' + eventName;
7
+ var isSupported = (eventName in el);
8
+ if (!isSupported) {
9
+ el.setAttribute(eventName, 'return;');
10
+ isSupported = typeof el[eventName] == 'function';
11
+ }
12
+ el = null;
13
+ return isSupported;
14
+ }
15
+
16
+ function isForm(element) {
17
+ return Object.isElement(element) && element.nodeName.toUpperCase() == 'FORM'
18
+ }
19
+
20
+ function isInput(element) {
21
+ if (Object.isElement(element)) {
22
+ var name = element.nodeName.toUpperCase()
23
+ return name == 'INPUT' || name == 'SELECT' || name == 'TEXTAREA'
24
+ }
25
+ else return false
26
+ }
27
+
28
+ var submitBubbles = isEventSupported('submit'),
29
+ changeBubbles = isEventSupported('change')
30
+
31
+ if (!submitBubbles || !changeBubbles) {
32
+ // augment the Event.Handler class to observe custom events when needed
33
+ Event.Handler.prototype.initialize = Event.Handler.prototype.initialize.wrap(
34
+ function(init, element, eventName, selector, callback) {
35
+ init(element, eventName, selector, callback)
36
+ // is the handler being attached to an element that doesn't support this event?
37
+ if ( (!submitBubbles && this.eventName == 'submit' && !isForm(this.element)) ||
38
+ (!changeBubbles && this.eventName == 'change' && !isInput(this.element)) ) {
39
+ // "submit" => "emulated:submit"
40
+ this.eventName = 'emulated:' + this.eventName
41
+ }
42
+ }
43
+ )
44
+ }
45
+
46
+ if (!submitBubbles) {
47
+ // discover forms on the page by observing focus events which always bubble
48
+ document.on('focusin', 'form', function(focusEvent, form) {
49
+ // special handler for the real "submit" event (one-time operation)
50
+ if (!form.retrieve('emulated:submit')) {
51
+ form.on('submit', function(submitEvent) {
52
+ var emulated = form.fire('emulated:submit', submitEvent, true)
53
+ // if custom event received preventDefault, cancel the real one too
54
+ if (emulated.returnValue === false) submitEvent.preventDefault()
55
+ })
56
+ form.store('emulated:submit', true)
57
+ }
58
+ })
59
+ }
60
+
61
+ if (!changeBubbles) {
62
+ // discover form inputs on the page
63
+ document.on('focusin', 'input, select, texarea', function(focusEvent, input) {
64
+ // special handler for real "change" events
65
+ if (!input.retrieve('emulated:change')) {
66
+ input.on('change', function(changeEvent) {
67
+ input.fire('emulated:change', changeEvent, true)
68
+ })
69
+ input.store('emulated:change', true)
70
+ }
71
+ })
72
+ }
73
+
74
+ function handleRemote(element) {
75
+ var method, url, params;
76
+
77
+ var event = element.fire("ajax:before");
78
+ if (event.stopped) return false;
79
+
80
+ if (element.tagName.toLowerCase() === 'form') {
81
+ method = element.readAttribute('method') || 'post';
82
+ url = element.readAttribute('action');
83
+ params = element.serialize();
84
+ } else {
85
+ method = element.readAttribute('data-method') || 'get';
86
+ url = element.readAttribute('href');
87
+ params = {};
88
+ }
89
+
90
+ new Ajax.Request(url, {
91
+ method: method,
92
+ parameters: params,
93
+ evalScripts: true,
94
+
95
+ onComplete: function(request) { element.fire("ajax:complete", request); },
96
+ onSuccess: function(request) { element.fire("ajax:success", request); },
97
+ onFailure: function(request) { element.fire("ajax:failure", request); }
98
+ });
99
+
100
+ element.fire("ajax:after");
101
+ }
102
+
103
+ function handleMethod(element) {
104
+ var method = element.readAttribute('data-method'),
105
+ url = element.readAttribute('href'),
106
+ csrf_param = $$('meta[name=csrf-param]')[0],
107
+ csrf_token = $$('meta[name=csrf-token]')[0];
108
+
109
+ var form = new Element('form', { method: "POST", action: url, style: "display: none;" });
110
+ element.parentNode.insert(form);
111
+
112
+ if (method !== 'post') {
113
+ var field = new Element('input', { type: 'hidden', name: '_method', value: method });
114
+ form.insert(field);
115
+ }
116
+
117
+ if (csrf_param) {
118
+ var param = csrf_param.readAttribute('content'),
119
+ token = csrf_token.readAttribute('content'),
120
+ field = new Element('input', { type: 'hidden', name: param, value: token });
121
+ form.insert(field);
122
+ }
123
+
124
+ form.submit();
125
+ }
126
+
127
+
128
+ document.on("click", "*[data-confirm]", function(event, element) {
129
+ var message = element.readAttribute('data-confirm');
130
+ if (!confirm(message)) event.stop();
131
+ });
132
+
133
+ document.on("click", "a[data-remote]", function(event, element) {
134
+ if (event.stopped) return;
135
+ handleRemote(element);
136
+ event.stop();
137
+ });
138
+
139
+ document.on("click", "a[data-method]", function(event, element) {
140
+ if (event.stopped) return;
141
+ handleMethod(element);
142
+ event.stop();
143
+ });
144
+
145
+ document.on("submit", function(event) {
146
+ var element = event.findElement(),
147
+ message = element.readAttribute('data-confirm');
148
+ if (message && !confirm(message)) {
149
+ event.stop();
150
+ return false;
151
+ }
152
+
153
+ var inputs = element.select("input[type=submit][data-disable-with]");
154
+ inputs.each(function(input) {
155
+ input.disabled = true;
156
+ input.writeAttribute('data-original-value', input.value);
157
+ input.value = input.readAttribute('data-disable-with');
158
+ });
159
+
160
+ var element = event.findElement("form[data-remote]");
161
+ if (element) {
162
+ handleRemote(element);
163
+ event.stop();
164
+ }
165
+ });
166
+
167
+ document.on("ajax:after", "form", function(event, element) {
168
+ var inputs = element.select("input[type=submit][disabled=true][data-disable-with]");
169
+ inputs.each(function(input) {
170
+ input.value = input.readAttribute('data-original-value');
171
+ input.removeAttribute('data-original-value');
172
+ input.disabled = false;
173
+ });
174
+ });
175
+
176
+ Ajax.Responders.register({
177
+ onCreate: function(request) {
178
+ var csrf_meta_tag = $$('meta[name=csrf-token]')[0];
179
+
180
+ if (csrf_meta_tag) {
181
+ var header = 'X-CSRF-Token',
182
+ token = csrf_meta_tag.readAttribute('content');
183
+
184
+ if (!request.options.requestHeaders) {
185
+ request.options.requestHeaders = {};
186
+ }
187
+ request.options.requestHeaders[header] = token;
188
+ }
189
+ }
190
+ });
191
+ })();
@@ -0,0 +1,5 @@
1
+ # See http://www.robotstxt.org/wc/norobots.html for documentation on how to use the robots.txt file
2
+ #
3
+ # To ban all spiders from the entire site uncomment the next two lines:
4
+ # User-Agent: *
5
+ # Disallow: /
File without changes
@@ -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,16 @@
1
+ FactoryGirl.define do
2
+ factory :article do |a|
3
+ a.title "Some article"
4
+ end
5
+
6
+ factory :user do |u|
7
+ u.email 'blago@mayor.cityofchicago.org'
8
+ u.password 'ca$hmoney'
9
+ u.password_confirmation 'ca$hmoney'
10
+ end
11
+
12
+ factory :comment do |c|
13
+ c.title 'Awesome Comment'
14
+ c.content 'This is an awesome comment'
15
+ end
16
+ end
File without changes
@@ -0,0 +1,19 @@
1
+ ENV['RAILS_ENV'] ||= 'test'
2
+
3
+ require File.expand_path('../rails_app/config/environment.rb', __FILE__)
4
+
5
+ require 'bundler'
6
+ Bundler.setup
7
+
8
+ require 'rspec'
9
+ require 'rspec/rails'
10
+
11
+ Dir[Rails.root.join('spec/support/**/*.rb')].each {|f| require f}
12
+
13
+ ActiveRecord::Migrator.migrate File.expand_path('../rails_app/db/migrate/', __FILE__)
14
+
15
+ Rspec.configure do |config|
16
+ config.mock_with :mocha
17
+
18
+ config.use_transactional_fixtures = true
19
+ end
@@ -0,0 +1,30 @@
1
+ require 'spec_helper'
2
+
3
+ class ActionView::Base
4
+ include Governor::Controllers::Helpers
5
+
6
+ def params
7
+ {:governor_mapping => :articles}
8
+ end
9
+ end
10
+
11
+ module Governor
12
+ describe "governor/articles/show.html.erb" do
13
+ include Devise::TestHelpers
14
+
15
+ before(:each) do
16
+ @user = Factory(:user)
17
+ @article = Factory(:article, :author => @user)
18
+ @comment = Factory(:comment, :article => @article, :commenter => @user)
19
+ assign(:article, @article)
20
+ assign(:comment, @comment)
21
+ end
22
+
23
+ it "shows the comments" do
24
+ sign_in @user
25
+ render
26
+
27
+ rendered.should =~ /add a comment/
28
+ end
29
+ end
30
+ end
metadata ADDED
@@ -0,0 +1,376 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: governor_comments
3
+ version: !ruby/object:Gem::Version
4
+ hash: 27
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 1
9
+ - 0
10
+ version: 0.1.0
11
+ platform: ruby
12
+ authors:
13
+ - Liam Morley
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-04-10 00:00:00 -04:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ type: :runtime
23
+ prerelease: false
24
+ name: rails
25
+ version_requirements: &id001 !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ~>
29
+ - !ruby/object:Gem::Version
30
+ hash: 13
31
+ segments:
32
+ - 3
33
+ - 0
34
+ - 5
35
+ version: 3.0.5
36
+ requirement: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ type: :runtime
39
+ prerelease: false
40
+ name: governor
41
+ version_requirements: &id002 !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ hash: 23
47
+ segments:
48
+ - 0
49
+ - 2
50
+ - 0
51
+ version: 0.2.0
52
+ requirement: *id002
53
+ - !ruby/object:Gem::Dependency
54
+ type: :development
55
+ prerelease: false
56
+ name: jeweler
57
+ version_requirements: &id003 !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ~>
61
+ - !ruby/object:Gem::Version
62
+ hash: 7
63
+ segments:
64
+ - 1
65
+ - 5
66
+ - 2
67
+ version: 1.5.2
68
+ requirement: *id003
69
+ - !ruby/object:Gem::Dependency
70
+ type: :development
71
+ prerelease: false
72
+ name: sqlite3
73
+ version_requirements: &id004 !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ hash: 3
79
+ segments:
80
+ - 0
81
+ version: "0"
82
+ requirement: *id004
83
+ - !ruby/object:Gem::Dependency
84
+ type: :development
85
+ prerelease: false
86
+ name: rspec-rails
87
+ version_requirements: &id005 !ruby/object:Gem::Requirement
88
+ none: false
89
+ requirements:
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ hash: 3
93
+ segments:
94
+ - 0
95
+ version: "0"
96
+ requirement: *id005
97
+ - !ruby/object:Gem::Dependency
98
+ type: :development
99
+ prerelease: false
100
+ name: mocha
101
+ version_requirements: &id006 !ruby/object:Gem::Requirement
102
+ none: false
103
+ requirements:
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ hash: 3
107
+ segments:
108
+ - 0
109
+ version: "0"
110
+ requirement: *id006
111
+ - !ruby/object:Gem::Dependency
112
+ type: :development
113
+ prerelease: false
114
+ name: factory_girl
115
+ version_requirements: &id007 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ~>
119
+ - !ruby/object:Gem::Version
120
+ hash: 31098209
121
+ segments:
122
+ - 2
123
+ - 0
124
+ - 0
125
+ - beta
126
+ version: 2.0.0.beta
127
+ requirement: *id007
128
+ - !ruby/object:Gem::Dependency
129
+ type: :development
130
+ prerelease: false
131
+ name: factory_girl_rails
132
+ version_requirements: &id008 !ruby/object:Gem::Requirement
133
+ none: false
134
+ requirements:
135
+ - - ~>
136
+ - !ruby/object:Gem::Version
137
+ hash: 31098141
138
+ segments:
139
+ - 1
140
+ - 1
141
+ - beta
142
+ version: 1.1.beta
143
+ requirement: *id008
144
+ - !ruby/object:Gem::Dependency
145
+ type: :development
146
+ prerelease: false
147
+ name: activerecord-nulldb-adapter
148
+ version_requirements: &id009 !ruby/object:Gem::Requirement
149
+ none: false
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ hash: 3
154
+ segments:
155
+ - 0
156
+ version: "0"
157
+ requirement: *id009
158
+ - !ruby/object:Gem::Dependency
159
+ type: :development
160
+ prerelease: false
161
+ name: governor_comments
162
+ version_requirements: &id010 !ruby/object:Gem::Requirement
163
+ none: false
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ hash: 3
168
+ segments:
169
+ - 0
170
+ version: "0"
171
+ requirement: *id010
172
+ - !ruby/object:Gem::Dependency
173
+ type: :development
174
+ prerelease: false
175
+ name: devise
176
+ version_requirements: &id011 !ruby/object:Gem::Requirement
177
+ none: false
178
+ requirements:
179
+ - - ">="
180
+ - !ruby/object:Gem::Version
181
+ hash: 3
182
+ segments:
183
+ - 0
184
+ version: "0"
185
+ requirement: *id011
186
+ - !ruby/object:Gem::Dependency
187
+ type: :development
188
+ prerelease: false
189
+ name: dynamic_form
190
+ version_requirements: &id012 !ruby/object:Gem::Requirement
191
+ none: false
192
+ requirements:
193
+ - - ">="
194
+ - !ruby/object:Gem::Version
195
+ hash: 3
196
+ segments:
197
+ - 0
198
+ version: "0"
199
+ requirement: *id012
200
+ - !ruby/object:Gem::Dependency
201
+ type: :development
202
+ prerelease: false
203
+ name: rakismet
204
+ version_requirements: &id013 !ruby/object:Gem::Requirement
205
+ none: false
206
+ requirements:
207
+ - - ">="
208
+ - !ruby/object:Gem::Version
209
+ hash: 3
210
+ segments:
211
+ - 0
212
+ version: "0"
213
+ requirement: *id013
214
+ description: Comments plugin for the Rails 3-based Governor blogging system.
215
+ email: liam@carpeliam.com
216
+ executables: []
217
+
218
+ extensions: []
219
+
220
+ extra_rdoc_files:
221
+ - LICENSE.txt
222
+ - README.markdown
223
+ files:
224
+ - .document
225
+ - .rspec
226
+ - Gemfile
227
+ - Gemfile.lock
228
+ - LICENSE.txt
229
+ - README.markdown
230
+ - Rakefile
231
+ - VERSION
232
+ - app/controllers/governor/comments_controller.rb
233
+ - app/helpers/governor_comments_helper.rb
234
+ - app/views/governor/articles/_comment_link.html.erb
235
+ - app/views/governor/articles/_comments.html.erb
236
+ - app/views/governor/comments/_comment.html.erb
237
+ - app/views/governor/comments/new.html.erb
238
+ - config/locales/en.yml
239
+ - governor_comments.gemspec
240
+ - lib/generators/governor/create_comments_generator.rb
241
+ - lib/generators/governor/templates/migrations/create_comments.rb
242
+ - lib/generators/governor/templates/models/comment.rb
243
+ - lib/generators/governor/templates/models/guest.rb
244
+ - lib/governor_comments.rb
245
+ - lib/governor_comments/comment.rb
246
+ - lib/governor_comments/rails.rb
247
+ - log/development.log
248
+ - script/rails
249
+ - spec/controllers/governor/comments_controller_spec.rb
250
+ - spec/governor_comments_spec.rb
251
+ - spec/rails_app/.gitignore
252
+ - spec/rails_app/Gemfile
253
+ - spec/rails_app/Gemfile.lock
254
+ - spec/rails_app/README
255
+ - spec/rails_app/Rakefile
256
+ - spec/rails_app/app/controllers/application_controller.rb
257
+ - spec/rails_app/app/controllers/home_controller.rb
258
+ - spec/rails_app/app/helpers/application_helper.rb
259
+ - spec/rails_app/app/helpers/home_helper.rb
260
+ - spec/rails_app/app/models/article.rb
261
+ - spec/rails_app/app/models/comment.rb
262
+ - spec/rails_app/app/models/guest.rb
263
+ - spec/rails_app/app/models/user.rb
264
+ - spec/rails_app/app/views/home/index.html.erb
265
+ - spec/rails_app/app/views/layouts/application.html.erb
266
+ - spec/rails_app/config.ru
267
+ - spec/rails_app/config/application.rb
268
+ - spec/rails_app/config/boot.rb
269
+ - spec/rails_app/config/database.yml
270
+ - spec/rails_app/config/environment.rb
271
+ - spec/rails_app/config/environments/development.rb
272
+ - spec/rails_app/config/environments/production.rb
273
+ - spec/rails_app/config/environments/test.rb
274
+ - spec/rails_app/config/initializers/backtrace_silencers.rb
275
+ - spec/rails_app/config/initializers/devise.rb
276
+ - spec/rails_app/config/initializers/governor.rb
277
+ - spec/rails_app/config/initializers/inflections.rb
278
+ - spec/rails_app/config/initializers/mime_types.rb
279
+ - spec/rails_app/config/initializers/rakismet.rb
280
+ - spec/rails_app/config/initializers/secret_token.rb
281
+ - spec/rails_app/config/initializers/session_store.rb
282
+ - spec/rails_app/config/locales/devise.en.yml
283
+ - spec/rails_app/config/locales/en.yml
284
+ - spec/rails_app/config/routes.rb
285
+ - spec/rails_app/db/migrate/20110329032256_devise_create_users.rb
286
+ - spec/rails_app/db/migrate/20110330020108_governor_create_articles.rb
287
+ - spec/rails_app/db/migrate/20110405030324_governor_create_comments.rb
288
+ - spec/rails_app/db/schema.rb
289
+ - spec/rails_app/db/seeds.rb
290
+ - spec/rails_app/lib/tasks/.gitkeep
291
+ - spec/rails_app/public/404.html
292
+ - spec/rails_app/public/422.html
293
+ - spec/rails_app/public/500.html
294
+ - spec/rails_app/public/favicon.ico
295
+ - spec/rails_app/public/images/rails.png
296
+ - spec/rails_app/public/javascripts/application.js
297
+ - spec/rails_app/public/javascripts/controls.js
298
+ - spec/rails_app/public/javascripts/dragdrop.js
299
+ - spec/rails_app/public/javascripts/effects.js
300
+ - spec/rails_app/public/javascripts/prototype.js
301
+ - spec/rails_app/public/javascripts/rails.js
302
+ - spec/rails_app/public/robots.txt
303
+ - spec/rails_app/public/stylesheets/.gitkeep
304
+ - spec/rails_app/script/rails
305
+ - spec/rails_app/spec/factories.rb
306
+ - spec/rails_app/vendor/plugins/.gitkeep
307
+ - spec/spec_helper.rb
308
+ - spec/views/governor/articles/show.html.erb_spec.rb
309
+ has_rdoc: true
310
+ homepage: http://carpeliam.github.com/governor
311
+ licenses:
312
+ - MIT
313
+ post_install_message:
314
+ rdoc_options: []
315
+
316
+ require_paths:
317
+ - lib
318
+ required_ruby_version: !ruby/object:Gem::Requirement
319
+ none: false
320
+ requirements:
321
+ - - ">="
322
+ - !ruby/object:Gem::Version
323
+ hash: 3
324
+ segments:
325
+ - 0
326
+ version: "0"
327
+ required_rubygems_version: !ruby/object:Gem::Requirement
328
+ none: false
329
+ requirements:
330
+ - - ">="
331
+ - !ruby/object:Gem::Version
332
+ hash: 3
333
+ segments:
334
+ - 0
335
+ version: "0"
336
+ requirements: []
337
+
338
+ rubyforge_project:
339
+ rubygems_version: 1.3.7
340
+ signing_key:
341
+ specification_version: 3
342
+ summary: Comments plugin for the Rails 3-based Governor blogging system.
343
+ test_files:
344
+ - spec/controllers/governor/comments_controller_spec.rb
345
+ - spec/governor_comments_spec.rb
346
+ - spec/rails_app/app/controllers/application_controller.rb
347
+ - spec/rails_app/app/controllers/home_controller.rb
348
+ - spec/rails_app/app/helpers/application_helper.rb
349
+ - spec/rails_app/app/helpers/home_helper.rb
350
+ - spec/rails_app/app/models/article.rb
351
+ - spec/rails_app/app/models/comment.rb
352
+ - spec/rails_app/app/models/guest.rb
353
+ - spec/rails_app/app/models/user.rb
354
+ - spec/rails_app/config/application.rb
355
+ - spec/rails_app/config/boot.rb
356
+ - spec/rails_app/config/environment.rb
357
+ - spec/rails_app/config/environments/development.rb
358
+ - spec/rails_app/config/environments/production.rb
359
+ - spec/rails_app/config/environments/test.rb
360
+ - spec/rails_app/config/initializers/backtrace_silencers.rb
361
+ - spec/rails_app/config/initializers/devise.rb
362
+ - spec/rails_app/config/initializers/governor.rb
363
+ - spec/rails_app/config/initializers/inflections.rb
364
+ - spec/rails_app/config/initializers/mime_types.rb
365
+ - spec/rails_app/config/initializers/rakismet.rb
366
+ - spec/rails_app/config/initializers/secret_token.rb
367
+ - spec/rails_app/config/initializers/session_store.rb
368
+ - spec/rails_app/config/routes.rb
369
+ - spec/rails_app/db/migrate/20110329032256_devise_create_users.rb
370
+ - spec/rails_app/db/migrate/20110330020108_governor_create_articles.rb
371
+ - spec/rails_app/db/migrate/20110405030324_governor_create_comments.rb
372
+ - spec/rails_app/db/schema.rb
373
+ - spec/rails_app/db/seeds.rb
374
+ - spec/rails_app/spec/factories.rb
375
+ - spec/spec_helper.rb
376
+ - spec/views/governor/articles/show.html.erb_spec.rb