governor_twitter 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 (73) hide show
  1. data/.document +5 -0
  2. data/.rspec +1 -0
  3. data/Gemfile +28 -0
  4. data/Gemfile.lock +165 -0
  5. data/LICENSE.txt +20 -0
  6. data/README.rdoc +42 -0
  7. data/Rakefile +50 -0
  8. data/VERSION +1 -0
  9. data/app/views/governor/articles/_twitter_form.html.erb +5 -0
  10. data/governor_twitter.gemspec +189 -0
  11. data/lib/governor_twitter/controllers/methods.rb +15 -0
  12. data/lib/governor_twitter/models/methods.rb +15 -0
  13. data/lib/governor_twitter/rails.rb +5 -0
  14. data/lib/governor_twitter.rb +16 -0
  15. data/spec/governor_twitter_spec.rb +7 -0
  16. data/spec/models/article_spec.rb +15 -0
  17. data/spec/rails_app/.gitignore +4 -0
  18. data/spec/rails_app/Gemfile +41 -0
  19. data/spec/rails_app/Gemfile.lock +132 -0
  20. data/spec/rails_app/README +256 -0
  21. data/spec/rails_app/Rakefile +7 -0
  22. data/spec/rails_app/app/controllers/application_controller.rb +4 -0
  23. data/spec/rails_app/app/controllers/home_controller.rb +2 -0
  24. data/spec/rails_app/app/helpers/application_helper.rb +2 -0
  25. data/spec/rails_app/app/helpers/home_helper.rb +2 -0
  26. data/spec/rails_app/app/models/article.rb +5 -0
  27. data/spec/rails_app/app/models/user.rb +9 -0
  28. data/spec/rails_app/app/views/home/index.html.erb +0 -0
  29. data/spec/rails_app/app/views/layouts/application.html.erb +23 -0
  30. data/spec/rails_app/config/application.rb +44 -0
  31. data/spec/rails_app/config/boot.rb +14 -0
  32. data/spec/rails_app/config/database.yml +19 -0
  33. data/spec/rails_app/config/environment.rb +5 -0
  34. data/spec/rails_app/config/environments/development.rb +26 -0
  35. data/spec/rails_app/config/environments/production.rb +49 -0
  36. data/spec/rails_app/config/environments/test.rb +35 -0
  37. data/spec/rails_app/config/initializers/backtrace_silencers.rb +7 -0
  38. data/spec/rails_app/config/initializers/delayed_job_config.rb +5 -0
  39. data/spec/rails_app/config/initializers/devise.rb +142 -0
  40. data/spec/rails_app/config/initializers/inflections.rb +10 -0
  41. data/spec/rails_app/config/initializers/mime_types.rb +5 -0
  42. data/spec/rails_app/config/initializers/secret_token.rb +7 -0
  43. data/spec/rails_app/config/initializers/session_store.rb +8 -0
  44. data/spec/rails_app/config/initializers/twitter.rb +6 -0
  45. data/spec/rails_app/config/locales/devise.en.yml +39 -0
  46. data/spec/rails_app/config/locales/en.yml +5 -0
  47. data/spec/rails_app/config/routes.rb +64 -0
  48. data/spec/rails_app/config.ru +4 -0
  49. data/spec/rails_app/db/migrate/20110329032256_devise_create_users.rb +26 -0
  50. data/spec/rails_app/db/migrate/20110330020108_governor_create_articles.rb +15 -0
  51. data/spec/rails_app/db/migrate/20110421042239_create_delayed_jobs.rb +21 -0
  52. data/spec/rails_app/db/schema.rb +59 -0
  53. data/spec/rails_app/db/seeds.rb +7 -0
  54. data/spec/rails_app/lib/tasks/.gitkeep +0 -0
  55. data/spec/rails_app/public/404.html +26 -0
  56. data/spec/rails_app/public/422.html +26 -0
  57. data/spec/rails_app/public/500.html +26 -0
  58. data/spec/rails_app/public/favicon.ico +0 -0
  59. data/spec/rails_app/public/images/rails.png +0 -0
  60. data/spec/rails_app/public/javascripts/application.js +2 -0
  61. data/spec/rails_app/public/javascripts/controls.js +965 -0
  62. data/spec/rails_app/public/javascripts/dragdrop.js +974 -0
  63. data/spec/rails_app/public/javascripts/effects.js +1123 -0
  64. data/spec/rails_app/public/javascripts/prototype.js +6001 -0
  65. data/spec/rails_app/public/javascripts/rails.js +191 -0
  66. data/spec/rails_app/public/robots.txt +5 -0
  67. data/spec/rails_app/public/stylesheets/.gitkeep +0 -0
  68. data/spec/rails_app/script/delayed_job +5 -0
  69. data/spec/rails_app/script/rails +6 -0
  70. data/spec/rails_app/spec/factories.rb +12 -0
  71. data/spec/rails_app/vendor/plugins/.gitkeep +0 -0
  72. data/spec/spec_helper.rb +36 -0
  73. metadata +405 -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,5 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'config', 'environment'))
4
+ require 'delayed/command'
5
+ Delayed::Command.new(ARGV).daemonize
@@ -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,12 @@
1
+ FactoryGirl.define do
2
+ factory :article do |a|
3
+ a.title "Some article"
4
+ a.post "This is the post. It shouldn't be blank."
5
+ end
6
+
7
+ factory :user do |u|
8
+ u.email 'blago@mayor.cityofchicago.org'
9
+ u.password 'ca$hmoney'
10
+ u.password_confirmation 'ca$hmoney'
11
+ end
12
+ end
File without changes
@@ -0,0 +1,36 @@
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
+ # require 'active_support/core_ext'
11
+ # require 'rails/test_help'
12
+
13
+ Dir[Rails.root.join('spec/support/**/*.rb')].each {|f| require f}
14
+
15
+ ActiveRecord::Migrator.migrate File.expand_path('../rails_app/db/migrate/', __FILE__)
16
+
17
+ Rspec.configure do |config|
18
+ config.mock_with :mocha
19
+
20
+ config.use_transactional_fixtures = true
21
+ end
22
+
23
+ # for removing plugins added in a test to make sure they don't bleed over
24
+ module Governor
25
+ class PluginManager
26
+ def self.remove_plugin(plugin_or_name)
27
+ case plugin_or_name
28
+ when Plugin then return @@plugins.delete(plugin_or_name)
29
+ else # Plugin Name
30
+ @@plugins.each do |plugin|
31
+ return @@plugins.delete(plugin) if plugin.name == plugin_or_name
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
metadata ADDED
@@ -0,0 +1,405 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: governor_twitter
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-05-13 00:00:00 -04:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ type: :runtime
23
+ prerelease: false
24
+ name: twitter
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
+ - 1
33
+ - 1
34
+ version: "1.1"
35
+ requirement: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ type: :runtime
38
+ prerelease: false
39
+ name: shortie
40
+ version_requirements: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ hash: 3
46
+ segments:
47
+ - 0
48
+ version: "0"
49
+ requirement: *id002
50
+ - !ruby/object:Gem::Dependency
51
+ type: :runtime
52
+ prerelease: false
53
+ name: governor
54
+ version_requirements: &id003 !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ hash: 13
60
+ segments:
61
+ - 0
62
+ - 5
63
+ - 3
64
+ version: 0.5.3
65
+ requirement: *id003
66
+ - !ruby/object:Gem::Dependency
67
+ type: :runtime
68
+ prerelease: false
69
+ name: governor_background
70
+ version_requirements: &id004 !ruby/object:Gem::Requirement
71
+ none: false
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ hash: 19
76
+ segments:
77
+ - 0
78
+ - 2
79
+ - 2
80
+ version: 0.2.2
81
+ requirement: *id004
82
+ - !ruby/object:Gem::Dependency
83
+ type: :development
84
+ prerelease: false
85
+ name: jeweler
86
+ version_requirements: &id005 !ruby/object:Gem::Requirement
87
+ none: false
88
+ requirements:
89
+ - - ~>
90
+ - !ruby/object:Gem::Version
91
+ hash: 7
92
+ segments:
93
+ - 1
94
+ - 5
95
+ - 2
96
+ version: 1.5.2
97
+ requirement: *id005
98
+ - !ruby/object:Gem::Dependency
99
+ type: :development
100
+ prerelease: false
101
+ name: sqlite3
102
+ version_requirements: &id006 !ruby/object:Gem::Requirement
103
+ none: false
104
+ requirements:
105
+ - - ">="
106
+ - !ruby/object:Gem::Version
107
+ hash: 3
108
+ segments:
109
+ - 0
110
+ version: "0"
111
+ requirement: *id006
112
+ - !ruby/object:Gem::Dependency
113
+ type: :development
114
+ prerelease: false
115
+ name: rspec-rails
116
+ version_requirements: &id007 !ruby/object:Gem::Requirement
117
+ none: false
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ hash: 3
122
+ segments:
123
+ - 0
124
+ version: "0"
125
+ requirement: *id007
126
+ - !ruby/object:Gem::Dependency
127
+ type: :development
128
+ prerelease: false
129
+ name: mocha
130
+ version_requirements: &id008 !ruby/object:Gem::Requirement
131
+ none: false
132
+ requirements:
133
+ - - ">="
134
+ - !ruby/object:Gem::Version
135
+ hash: 3
136
+ segments:
137
+ - 0
138
+ version: "0"
139
+ requirement: *id008
140
+ - !ruby/object:Gem::Dependency
141
+ type: :development
142
+ prerelease: false
143
+ name: factory_girl
144
+ version_requirements: &id009 !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ~>
148
+ - !ruby/object:Gem::Version
149
+ hash: 31098209
150
+ segments:
151
+ - 2
152
+ - 0
153
+ - 0
154
+ - beta
155
+ version: 2.0.0.beta
156
+ requirement: *id009
157
+ - !ruby/object:Gem::Dependency
158
+ type: :development
159
+ prerelease: false
160
+ name: factory_girl_rails
161
+ version_requirements: &id010 !ruby/object:Gem::Requirement
162
+ none: false
163
+ requirements:
164
+ - - ~>
165
+ - !ruby/object:Gem::Version
166
+ hash: 31098141
167
+ segments:
168
+ - 1
169
+ - 1
170
+ - beta
171
+ version: 1.1.beta
172
+ requirement: *id010
173
+ - !ruby/object:Gem::Dependency
174
+ type: :development
175
+ prerelease: false
176
+ name: activerecord-nulldb-adapter
177
+ version_requirements: &id011 !ruby/object:Gem::Requirement
178
+ none: false
179
+ requirements:
180
+ - - ">="
181
+ - !ruby/object:Gem::Version
182
+ hash: 3
183
+ segments:
184
+ - 0
185
+ version: "0"
186
+ requirement: *id011
187
+ - !ruby/object:Gem::Dependency
188
+ type: :development
189
+ prerelease: false
190
+ name: will_paginate
191
+ version_requirements: &id012 !ruby/object:Gem::Requirement
192
+ none: false
193
+ requirements:
194
+ - - ~>
195
+ - !ruby/object:Gem::Version
196
+ hash: 31098121
197
+ segments:
198
+ - 3
199
+ - 0
200
+ - beta
201
+ version: 3.0.beta
202
+ requirement: *id012
203
+ - !ruby/object:Gem::Dependency
204
+ type: :development
205
+ prerelease: false
206
+ name: devise
207
+ version_requirements: &id013 !ruby/object:Gem::Requirement
208
+ none: false
209
+ requirements:
210
+ - - ">="
211
+ - !ruby/object:Gem::Version
212
+ hash: 3
213
+ segments:
214
+ - 0
215
+ version: "0"
216
+ requirement: *id013
217
+ - !ruby/object:Gem::Dependency
218
+ type: :development
219
+ prerelease: false
220
+ name: governor_twitter
221
+ version_requirements: &id014 !ruby/object:Gem::Requirement
222
+ none: false
223
+ requirements:
224
+ - - ">="
225
+ - !ruby/object:Gem::Version
226
+ hash: 3
227
+ segments:
228
+ - 0
229
+ version: "0"
230
+ requirement: *id014
231
+ - !ruby/object:Gem::Dependency
232
+ type: :development
233
+ prerelease: false
234
+ name: delayed_job
235
+ version_requirements: &id015 !ruby/object:Gem::Requirement
236
+ none: false
237
+ requirements:
238
+ - - ">="
239
+ - !ruby/object:Gem::Version
240
+ hash: 3
241
+ segments:
242
+ - 0
243
+ version: "0"
244
+ requirement: *id015
245
+ - !ruby/object:Gem::Dependency
246
+ type: :development
247
+ prerelease: false
248
+ name: dynamic_form
249
+ version_requirements: &id016 !ruby/object:Gem::Requirement
250
+ none: false
251
+ requirements:
252
+ - - ">="
253
+ - !ruby/object:Gem::Version
254
+ hash: 3
255
+ segments:
256
+ - 0
257
+ version: "0"
258
+ requirement: *id016
259
+ description: A plugin for the Rails 3-based Governor blogging system that posts your blog entries to Twitter for you.
260
+ email: liam@carpeliam.com
261
+ executables: []
262
+
263
+ extensions: []
264
+
265
+ extra_rdoc_files:
266
+ - LICENSE.txt
267
+ - README.rdoc
268
+ files:
269
+ - .document
270
+ - .rspec
271
+ - Gemfile
272
+ - Gemfile.lock
273
+ - LICENSE.txt
274
+ - README.rdoc
275
+ - Rakefile
276
+ - VERSION
277
+ - app/views/governor/articles/_twitter_form.html.erb
278
+ - governor_twitter.gemspec
279
+ - lib/governor_twitter.rb
280
+ - lib/governor_twitter/controllers/methods.rb
281
+ - lib/governor_twitter/models/methods.rb
282
+ - lib/governor_twitter/rails.rb
283
+ - spec/governor_twitter_spec.rb
284
+ - spec/models/article_spec.rb
285
+ - spec/rails_app/.gitignore
286
+ - spec/rails_app/Gemfile
287
+ - spec/rails_app/Gemfile.lock
288
+ - spec/rails_app/README
289
+ - spec/rails_app/Rakefile
290
+ - spec/rails_app/app/controllers/application_controller.rb
291
+ - spec/rails_app/app/controllers/home_controller.rb
292
+ - spec/rails_app/app/helpers/application_helper.rb
293
+ - spec/rails_app/app/helpers/home_helper.rb
294
+ - spec/rails_app/app/models/article.rb
295
+ - spec/rails_app/app/models/user.rb
296
+ - spec/rails_app/app/views/home/index.html.erb
297
+ - spec/rails_app/app/views/layouts/application.html.erb
298
+ - spec/rails_app/config.ru
299
+ - spec/rails_app/config/application.rb
300
+ - spec/rails_app/config/boot.rb
301
+ - spec/rails_app/config/database.yml
302
+ - spec/rails_app/config/environment.rb
303
+ - spec/rails_app/config/environments/development.rb
304
+ - spec/rails_app/config/environments/production.rb
305
+ - spec/rails_app/config/environments/test.rb
306
+ - spec/rails_app/config/initializers/backtrace_silencers.rb
307
+ - spec/rails_app/config/initializers/delayed_job_config.rb
308
+ - spec/rails_app/config/initializers/devise.rb
309
+ - spec/rails_app/config/initializers/inflections.rb
310
+ - spec/rails_app/config/initializers/mime_types.rb
311
+ - spec/rails_app/config/initializers/secret_token.rb
312
+ - spec/rails_app/config/initializers/session_store.rb
313
+ - spec/rails_app/config/initializers/twitter.rb
314
+ - spec/rails_app/config/locales/devise.en.yml
315
+ - spec/rails_app/config/locales/en.yml
316
+ - spec/rails_app/config/routes.rb
317
+ - spec/rails_app/db/migrate/20110329032256_devise_create_users.rb
318
+ - spec/rails_app/db/migrate/20110330020108_governor_create_articles.rb
319
+ - spec/rails_app/db/migrate/20110421042239_create_delayed_jobs.rb
320
+ - spec/rails_app/db/schema.rb
321
+ - spec/rails_app/db/seeds.rb
322
+ - spec/rails_app/lib/tasks/.gitkeep
323
+ - spec/rails_app/public/404.html
324
+ - spec/rails_app/public/422.html
325
+ - spec/rails_app/public/500.html
326
+ - spec/rails_app/public/favicon.ico
327
+ - spec/rails_app/public/images/rails.png
328
+ - spec/rails_app/public/javascripts/application.js
329
+ - spec/rails_app/public/javascripts/controls.js
330
+ - spec/rails_app/public/javascripts/dragdrop.js
331
+ - spec/rails_app/public/javascripts/effects.js
332
+ - spec/rails_app/public/javascripts/prototype.js
333
+ - spec/rails_app/public/javascripts/rails.js
334
+ - spec/rails_app/public/robots.txt
335
+ - spec/rails_app/public/stylesheets/.gitkeep
336
+ - spec/rails_app/script/delayed_job
337
+ - spec/rails_app/script/rails
338
+ - spec/rails_app/spec/factories.rb
339
+ - spec/rails_app/vendor/plugins/.gitkeep
340
+ - spec/spec_helper.rb
341
+ has_rdoc: true
342
+ homepage: http://github.com/carpeliam/governor_twitter
343
+ licenses:
344
+ - MIT
345
+ post_install_message:
346
+ rdoc_options: []
347
+
348
+ require_paths:
349
+ - lib
350
+ required_ruby_version: !ruby/object:Gem::Requirement
351
+ none: false
352
+ requirements:
353
+ - - ">="
354
+ - !ruby/object:Gem::Version
355
+ hash: 3
356
+ segments:
357
+ - 0
358
+ version: "0"
359
+ required_rubygems_version: !ruby/object:Gem::Requirement
360
+ none: false
361
+ requirements:
362
+ - - ">="
363
+ - !ruby/object:Gem::Version
364
+ hash: 3
365
+ segments:
366
+ - 0
367
+ version: "0"
368
+ requirements: []
369
+
370
+ rubyforge_project:
371
+ rubygems_version: 1.3.7
372
+ signing_key:
373
+ specification_version: 3
374
+ summary: A plugin that connects Governor with a Twitter account.
375
+ test_files:
376
+ - spec/governor_twitter_spec.rb
377
+ - spec/models/article_spec.rb
378
+ - spec/rails_app/app/controllers/application_controller.rb
379
+ - spec/rails_app/app/controllers/home_controller.rb
380
+ - spec/rails_app/app/helpers/application_helper.rb
381
+ - spec/rails_app/app/helpers/home_helper.rb
382
+ - spec/rails_app/app/models/article.rb
383
+ - spec/rails_app/app/models/user.rb
384
+ - spec/rails_app/config/application.rb
385
+ - spec/rails_app/config/boot.rb
386
+ - spec/rails_app/config/environment.rb
387
+ - spec/rails_app/config/environments/development.rb
388
+ - spec/rails_app/config/environments/production.rb
389
+ - spec/rails_app/config/environments/test.rb
390
+ - spec/rails_app/config/initializers/backtrace_silencers.rb
391
+ - spec/rails_app/config/initializers/delayed_job_config.rb
392
+ - spec/rails_app/config/initializers/devise.rb
393
+ - spec/rails_app/config/initializers/inflections.rb
394
+ - spec/rails_app/config/initializers/mime_types.rb
395
+ - spec/rails_app/config/initializers/secret_token.rb
396
+ - spec/rails_app/config/initializers/session_store.rb
397
+ - spec/rails_app/config/initializers/twitter.rb
398
+ - spec/rails_app/config/routes.rb
399
+ - spec/rails_app/db/migrate/20110329032256_devise_create_users.rb
400
+ - spec/rails_app/db/migrate/20110330020108_governor_create_articles.rb
401
+ - spec/rails_app/db/migrate/20110421042239_create_delayed_jobs.rb
402
+ - spec/rails_app/db/schema.rb
403
+ - spec/rails_app/db/seeds.rb
404
+ - spec/rails_app/spec/factories.rb
405
+ - spec/spec_helper.rb