tandem 0.2.0.rc

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 (82) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.rdoc +205 -0
  3. data/Rakefile +31 -0
  4. data/app/assets/images/tandem/blank_image.jpg +0 -0
  5. data/app/assets/images/tandem/colorbox/border1.png +0 -0
  6. data/app/assets/images/tandem/colorbox/border2.png +0 -0
  7. data/app/assets/images/tandem/colorbox/ie6/borderBottomCenter.png +0 -0
  8. data/app/assets/images/tandem/colorbox/ie6/borderBottomLeft.png +0 -0
  9. data/app/assets/images/tandem/colorbox/ie6/borderBottomRight.png +0 -0
  10. data/app/assets/images/tandem/colorbox/ie6/borderMiddleLeft.png +0 -0
  11. data/app/assets/images/tandem/colorbox/ie6/borderMiddleRight.png +0 -0
  12. data/app/assets/images/tandem/colorbox/ie6/borderTopCenter.png +0 -0
  13. data/app/assets/images/tandem/colorbox/ie6/borderTopLeft.png +0 -0
  14. data/app/assets/images/tandem/colorbox/ie6/borderTopRight.png +0 -0
  15. data/app/assets/images/tandem/colorbox/loading.gif +0 -0
  16. data/app/assets/images/tandem/ic-delete_image.png +0 -0
  17. data/app/assets/images/tandem/ic-star.png +0 -0
  18. data/app/assets/images/tandem/loader.gif +0 -0
  19. data/app/assets/images/tandem/loader_stripe.png +0 -0
  20. data/app/assets/images/tandem/tandem-editImage2.jpg +0 -0
  21. data/app/assets/images/tandem/tandem_logo.png +0 -0
  22. data/app/assets/images/tandem/tandem_logo_nav.png +0 -0
  23. data/app/assets/javascripts/tandem/contents.js +2 -0
  24. data/app/assets/javascripts/tandem/current_image.jst.eco +19 -0
  25. data/app/assets/javascripts/tandem/gallery_image.jst.eco +10 -0
  26. data/app/assets/javascripts/tandem/images.coffee +42 -0
  27. data/app/assets/javascripts/tandem/pages.js.coffee +32 -0
  28. data/app/assets/javascripts/tandem/popup.js +23 -0
  29. data/app/assets/javascripts/tandem.js +16 -0
  30. data/app/assets/stylesheets/tandem/colorbox.css.erb +83 -0
  31. data/app/assets/stylesheets/tandem/contents.scss +541 -0
  32. data/app/assets/stylesheets/tandem/scaffold.scss +61 -0
  33. data/app/assets/stylesheets/tandem/variables.scss +38 -0
  34. data/app/assets/stylesheets/tandem.css +7 -0
  35. data/app/controllers/tandem/application_controller.rb +19 -0
  36. data/app/controllers/tandem/contents_controller.rb +94 -0
  37. data/app/controllers/tandem/images_controller.rb +92 -0
  38. data/app/controllers/tandem/pages_controller.rb +108 -0
  39. data/app/helpers/tandem/application_helper.rb +29 -0
  40. data/app/helpers/tandem/contents_helper.rb +19 -0
  41. data/app/helpers/tandem/images_helper.rb +10 -0
  42. data/app/helpers/tandem/pages_helper.rb +243 -0
  43. data/app/models/tandem/ability.rb +6 -0
  44. data/app/models/tandem/content/image.rb +7 -0
  45. data/app/models/tandem/content/text.rb +7 -0
  46. data/app/models/tandem/content.rb +41 -0
  47. data/app/models/tandem/image.rb +27 -0
  48. data/app/models/tandem/page.rb +41 -0
  49. data/app/views/layouts/tandem/image.html.slim +19 -0
  50. data/app/views/layouts/tandem/popup.html.slim +17 -0
  51. data/app/views/tandem/contents/_form.html.slim +36 -0
  52. data/app/views/tandem/contents/edit.html.slim +3 -0
  53. data/app/views/tandem/contents/index.html.slim +29 -0
  54. data/app/views/tandem/contents/new.html.slim +3 -0
  55. data/app/views/tandem/contents/show.html.slim +20 -0
  56. data/app/views/tandem/images/_form.html.slim +24 -0
  57. data/app/views/tandem/images/_gallery.html.slim +4 -0
  58. data/app/views/tandem/images/edit.html.slim +8 -0
  59. data/app/views/tandem/images/index.html.slim +9 -0
  60. data/app/views/tandem/images/new.html.slim +4 -0
  61. data/app/views/tandem/images/show.html.slim +10 -0
  62. data/app/views/tandem/images/thumb.html.slim +1 -0
  63. data/app/views/tandem/pages/_form.html.slim +56 -0
  64. data/app/views/tandem/pages/edit.html.slim +1 -0
  65. data/app/views/tandem/pages/index.html.slim +35 -0
  66. data/app/views/tandem/pages/new.html.slim +1 -0
  67. data/app/views/tandem/pages/show.html.slim +16 -0
  68. data/config/cucumber.yml +8 -0
  69. data/config/routes.rb +17 -0
  70. data/db/migrate/20111122221549_create_tandem_pages.rb +20 -0
  71. data/db/migrate/20111122222037_create_tandem_contents.rb +21 -0
  72. data/db/migrate/20111215001943_create_tandem_images.rb +12 -0
  73. data/db/migrate/30000000000000_create_default_page.rb +10 -0
  74. data/db/migrate/30000000000001_add_request_key_to_tandem_contents.rb +44 -0
  75. data/lib/generators/tandem_generator.rb +26 -0
  76. data/lib/generators/templates/initializer.rb +70 -0
  77. data/lib/tandem/engine.rb +23 -0
  78. data/lib/tandem/version.rb +3 -0
  79. data/lib/tandem.rb +46 -0
  80. data/lib/tasks/cucumber.rake +65 -0
  81. data/lib/tasks/tandem_tasks.rake +4 -0
  82. metadata +354 -0
data/lib/tandem.rb ADDED
@@ -0,0 +1,46 @@
1
+ require "tandem/engine"
2
+ require "cancan"
3
+ require "slim-rails"
4
+ require "paperclip"
5
+ require "eco"
6
+
7
+ module Tandem
8
+ module Configuration
9
+ mattr_accessor :unauthorized_path, :layouts_dir, :uploaded_images_dir, :uploaded_images_template, :paperclip_options
10
+
11
+ self.unauthorized_path = nil
12
+ self.layouts_dir = "tandem"
13
+ self.uploaded_images_dir = ":rails_root/public"
14
+ self.uploaded_images_template = "/assets/images/:id/:style/:basename.:extension"
15
+ self.paperclip_options = { :styles => { :thumb => "150x150>" },
16
+ :url => Tandem::Configuration.uploaded_images_template,
17
+ :path => Tandem::Configuration.uploaded_images_dir + Tandem::Configuration.uploaded_images_template }
18
+
19
+ def self.current_user_proc(&block)
20
+ @@current_user = block
21
+ end
22
+
23
+ def self.user_abilities_proc(&block)
24
+ @@user_abilities = block
25
+ end
26
+
27
+ def self.current_user
28
+ raise(ConfigurationNotFound.new("Tandem::Configuration.current_user { ... }")) unless @@current_user
29
+ @@current_user
30
+ end
31
+
32
+ def self.user_abilities
33
+ raise(ConfigurationNotFound.new("Tandem::Configuration.user_abilities { |user| ... }")) unless @@user_abilities
34
+ @@user_abilities
35
+ end
36
+ end
37
+
38
+ class ConfigurationNotFound < StandardError
39
+ attr_accessor :message
40
+ def initialize(option)
41
+ @message = "Tandem configuration option not found. " +
42
+ "Please complete this in config/initializers/tandem.rb with this line:\n\n" +
43
+ "#{option}"
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,65 @@
1
+ # IMPORTANT: This file is generated by cucumber-rails - edit at your own peril.
2
+ # It is recommended to regenerate this file in the future when you upgrade to a
3
+ # newer version of cucumber-rails. Consider adding your own code to a new file
4
+ # instead of editing this one. Cucumber will automatically load all features/**/*.rb
5
+ # files.
6
+
7
+
8
+ unless ARGV.any? {|a| a =~ /^gems/} # Don't load anything when running the gems:* tasks
9
+
10
+ vendored_cucumber_bin = Dir["#{Rails.root}/vendor/{gems,plugins}/cucumber*/bin/cucumber"].first
11
+ $LOAD_PATH.unshift(File.dirname(vendored_cucumber_bin) + '/../lib') unless vendored_cucumber_bin.nil?
12
+
13
+ begin
14
+ require 'cucumber/rake/task'
15
+
16
+ namespace :cucumber do
17
+ Cucumber::Rake::Task.new({:ok => 'db:test:prepare'}, 'Run features that should pass') do |t|
18
+ t.binary = vendored_cucumber_bin # If nil, the gem's binary is used.
19
+ t.fork = true # You may get faster startup if you set this to false
20
+ t.profile = 'default'
21
+ end
22
+
23
+ Cucumber::Rake::Task.new({:wip => 'db:test:prepare'}, 'Run features that are being worked on') do |t|
24
+ t.binary = vendored_cucumber_bin
25
+ t.fork = true # You may get faster startup if you set this to false
26
+ t.profile = 'wip'
27
+ end
28
+
29
+ Cucumber::Rake::Task.new({:rerun => 'db:test:prepare'}, 'Record failing features and run only them if any exist') do |t|
30
+ t.binary = vendored_cucumber_bin
31
+ t.fork = true # You may get faster startup if you set this to false
32
+ t.profile = 'rerun'
33
+ end
34
+
35
+ desc 'Run all features'
36
+ task :all => [:ok, :wip]
37
+
38
+ task :statsetup do
39
+ require 'rails/code_statistics'
40
+ ::STATS_DIRECTORIES << %w(Cucumber\ features features) if File.exist?('features')
41
+ ::CodeStatistics::TEST_TYPES << "Cucumber features" if File.exist?('features')
42
+ end
43
+ end
44
+ desc 'Alias for cucumber:ok'
45
+ task :cucumber => 'cucumber:ok'
46
+
47
+ task :default => :cucumber
48
+
49
+ task :features => :cucumber do
50
+ STDERR.puts "*** The 'features' task is deprecated. See rake -T cucumber ***"
51
+ end
52
+
53
+ # In case we don't have ActiveRecord, append a no-op task that we can depend upon.
54
+ task 'db:test:prepare' do
55
+ end
56
+
57
+ task :stats => 'cucumber:statsetup'
58
+ rescue LoadError
59
+ desc 'cucumber rake task not available (cucumber not installed)'
60
+ task :cucumber do
61
+ abort 'Cucumber rake task is not available. Be sure to install cucumber as a gem or plugin'
62
+ end
63
+ end
64
+
65
+ end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :tandem do
3
+ # # Task goes here
4
+ # end
metadata ADDED
@@ -0,0 +1,354 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: tandem
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0.rc
5
+ prerelease: 6
6
+ platform: ruby
7
+ authors:
8
+ - 12 Spokes
9
+ - Trey Bean
10
+ - Colleen Palmer
11
+ - Jay Crouch
12
+ - Ethan Vizitei
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+ date: 2012-04-19 00:00:00.000000000 Z
17
+ dependencies:
18
+ - !ruby/object:Gem::Dependency
19
+ name: rails
20
+ requirement: !ruby/object:Gem::Requirement
21
+ none: false
22
+ requirements:
23
+ - - ! '>='
24
+ - !ruby/object:Gem::Version
25
+ version: 3.1.0
26
+ type: :runtime
27
+ prerelease: false
28
+ version_requirements: !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: 3.1.0
34
+ - !ruby/object:Gem::Dependency
35
+ name: cancan
36
+ requirement: !ruby/object:Gem::Requirement
37
+ none: false
38
+ requirements:
39
+ - - ! '>='
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ type: :runtime
43
+ prerelease: false
44
+ version_requirements: !ruby/object:Gem::Requirement
45
+ none: false
46
+ requirements:
47
+ - - ! '>='
48
+ - !ruby/object:Gem::Version
49
+ version: '0'
50
+ - !ruby/object:Gem::Dependency
51
+ name: slim-rails
52
+ requirement: !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - ! '>='
56
+ - !ruby/object:Gem::Version
57
+ version: '0'
58
+ type: :runtime
59
+ prerelease: false
60
+ version_requirements: !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ - !ruby/object:Gem::Dependency
67
+ name: paperclip
68
+ requirement: !ruby/object:Gem::Requirement
69
+ none: false
70
+ requirements:
71
+ - - ! '>='
72
+ - !ruby/object:Gem::Version
73
+ version: '0'
74
+ type: :runtime
75
+ prerelease: false
76
+ version_requirements: !ruby/object:Gem::Requirement
77
+ none: false
78
+ requirements:
79
+ - - ! '>='
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ - !ruby/object:Gem::Dependency
83
+ name: eco
84
+ requirement: !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ! '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ none: false
94
+ requirements:
95
+ - - ! '>='
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ - !ruby/object:Gem::Dependency
99
+ name: rspec-rails
100
+ requirement: !ruby/object:Gem::Requirement
101
+ none: false
102
+ requirements:
103
+ - - ! '>='
104
+ - !ruby/object:Gem::Version
105
+ version: '0'
106
+ type: :development
107
+ prerelease: false
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ none: false
110
+ requirements:
111
+ - - ! '>='
112
+ - !ruby/object:Gem::Version
113
+ version: '0'
114
+ - !ruby/object:Gem::Dependency
115
+ name: cucumber-rails
116
+ requirement: !ruby/object:Gem::Requirement
117
+ none: false
118
+ requirements:
119
+ - - ! '>='
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
122
+ type: :development
123
+ prerelease: false
124
+ version_requirements: !ruby/object:Gem::Requirement
125
+ none: false
126
+ requirements:
127
+ - - ! '>='
128
+ - !ruby/object:Gem::Version
129
+ version: '0'
130
+ - !ruby/object:Gem::Dependency
131
+ name: factory_girl_rails
132
+ requirement: !ruby/object:Gem::Requirement
133
+ none: false
134
+ requirements:
135
+ - - ~>
136
+ - !ruby/object:Gem::Version
137
+ version: 1.6.0
138
+ type: :development
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ none: false
142
+ requirements:
143
+ - - ~>
144
+ - !ruby/object:Gem::Version
145
+ version: 1.6.0
146
+ - !ruby/object:Gem::Dependency
147
+ name: jasmine
148
+ requirement: !ruby/object:Gem::Requirement
149
+ none: false
150
+ requirements:
151
+ - - ! '>='
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ type: :development
155
+ prerelease: false
156
+ version_requirements: !ruby/object:Gem::Requirement
157
+ none: false
158
+ requirements:
159
+ - - ! '>='
160
+ - !ruby/object:Gem::Version
161
+ version: '0'
162
+ - !ruby/object:Gem::Dependency
163
+ name: launchy
164
+ requirement: !ruby/object:Gem::Requirement
165
+ none: false
166
+ requirements:
167
+ - - ! '>='
168
+ - !ruby/object:Gem::Version
169
+ version: '0'
170
+ type: :development
171
+ prerelease: false
172
+ version_requirements: !ruby/object:Gem::Requirement
173
+ none: false
174
+ requirements:
175
+ - - ! '>='
176
+ - !ruby/object:Gem::Version
177
+ version: '0'
178
+ - !ruby/object:Gem::Dependency
179
+ name: capybara-webkit
180
+ requirement: !ruby/object:Gem::Requirement
181
+ none: false
182
+ requirements:
183
+ - - ! '>='
184
+ - !ruby/object:Gem::Version
185
+ version: '0'
186
+ type: :development
187
+ prerelease: false
188
+ version_requirements: !ruby/object:Gem::Requirement
189
+ none: false
190
+ requirements:
191
+ - - ! '>='
192
+ - !ruby/object:Gem::Version
193
+ version: '0'
194
+ - !ruby/object:Gem::Dependency
195
+ name: database_cleaner
196
+ requirement: !ruby/object:Gem::Requirement
197
+ none: false
198
+ requirements:
199
+ - - ! '>='
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ none: false
206
+ requirements:
207
+ - - ! '>='
208
+ - !ruby/object:Gem::Version
209
+ version: '0'
210
+ - !ruby/object:Gem::Dependency
211
+ name: spork
212
+ requirement: !ruby/object:Gem::Requirement
213
+ none: false
214
+ requirements:
215
+ - - ! '>='
216
+ - !ruby/object:Gem::Version
217
+ version: '0'
218
+ type: :development
219
+ prerelease: false
220
+ version_requirements: !ruby/object:Gem::Requirement
221
+ none: false
222
+ requirements:
223
+ - - ! '>='
224
+ - !ruby/object:Gem::Version
225
+ version: '0'
226
+ - !ruby/object:Gem::Dependency
227
+ name: ruby-debug19
228
+ requirement: !ruby/object:Gem::Requirement
229
+ none: false
230
+ requirements:
231
+ - - ! '>='
232
+ - !ruby/object:Gem::Version
233
+ version: '0'
234
+ type: :development
235
+ prerelease: false
236
+ version_requirements: !ruby/object:Gem::Requirement
237
+ none: false
238
+ requirements:
239
+ - - ! '>='
240
+ - !ruby/object:Gem::Version
241
+ version: '0'
242
+ description: A lightweight CMS for Rails 3.1+
243
+ email:
244
+ - tandem@12spokes.com
245
+ executables: []
246
+ extensions: []
247
+ extra_rdoc_files: []
248
+ files:
249
+ - app/assets/images/tandem/blank_image.jpg
250
+ - app/assets/images/tandem/colorbox/border1.png
251
+ - app/assets/images/tandem/colorbox/border2.png
252
+ - app/assets/images/tandem/colorbox/ie6/borderBottomCenter.png
253
+ - app/assets/images/tandem/colorbox/ie6/borderBottomLeft.png
254
+ - app/assets/images/tandem/colorbox/ie6/borderBottomRight.png
255
+ - app/assets/images/tandem/colorbox/ie6/borderMiddleLeft.png
256
+ - app/assets/images/tandem/colorbox/ie6/borderMiddleRight.png
257
+ - app/assets/images/tandem/colorbox/ie6/borderTopCenter.png
258
+ - app/assets/images/tandem/colorbox/ie6/borderTopLeft.png
259
+ - app/assets/images/tandem/colorbox/ie6/borderTopRight.png
260
+ - app/assets/images/tandem/colorbox/loading.gif
261
+ - app/assets/images/tandem/ic-delete_image.png
262
+ - app/assets/images/tandem/ic-star.png
263
+ - app/assets/images/tandem/loader.gif
264
+ - app/assets/images/tandem/loader_stripe.png
265
+ - app/assets/images/tandem/tandem-editImage2.jpg
266
+ - app/assets/images/tandem/tandem_logo.png
267
+ - app/assets/images/tandem/tandem_logo_nav.png
268
+ - app/assets/javascripts/tandem/contents.js
269
+ - app/assets/javascripts/tandem/current_image.jst.eco
270
+ - app/assets/javascripts/tandem/gallery_image.jst.eco
271
+ - app/assets/javascripts/tandem/images.coffee
272
+ - app/assets/javascripts/tandem/pages.js.coffee
273
+ - app/assets/javascripts/tandem/popup.js
274
+ - app/assets/javascripts/tandem.js
275
+ - app/assets/stylesheets/tandem/colorbox.css.erb
276
+ - app/assets/stylesheets/tandem/contents.scss
277
+ - app/assets/stylesheets/tandem/scaffold.scss
278
+ - app/assets/stylesheets/tandem/variables.scss
279
+ - app/assets/stylesheets/tandem.css
280
+ - app/controllers/tandem/application_controller.rb
281
+ - app/controllers/tandem/contents_controller.rb
282
+ - app/controllers/tandem/images_controller.rb
283
+ - app/controllers/tandem/pages_controller.rb
284
+ - app/helpers/tandem/application_helper.rb
285
+ - app/helpers/tandem/contents_helper.rb
286
+ - app/helpers/tandem/images_helper.rb
287
+ - app/helpers/tandem/pages_helper.rb
288
+ - app/models/tandem/ability.rb
289
+ - app/models/tandem/content/image.rb
290
+ - app/models/tandem/content/text.rb
291
+ - app/models/tandem/content.rb
292
+ - app/models/tandem/image.rb
293
+ - app/models/tandem/page.rb
294
+ - app/views/layouts/tandem/image.html.slim
295
+ - app/views/layouts/tandem/popup.html.slim
296
+ - app/views/tandem/contents/_form.html.slim
297
+ - app/views/tandem/contents/edit.html.slim
298
+ - app/views/tandem/contents/index.html.slim
299
+ - app/views/tandem/contents/new.html.slim
300
+ - app/views/tandem/contents/show.html.slim
301
+ - app/views/tandem/images/_form.html.slim
302
+ - app/views/tandem/images/_gallery.html.slim
303
+ - app/views/tandem/images/edit.html.slim
304
+ - app/views/tandem/images/index.html.slim
305
+ - app/views/tandem/images/new.html.slim
306
+ - app/views/tandem/images/show.html.slim
307
+ - app/views/tandem/images/thumb.html.slim
308
+ - app/views/tandem/pages/_form.html.slim
309
+ - app/views/tandem/pages/edit.html.slim
310
+ - app/views/tandem/pages/index.html.slim
311
+ - app/views/tandem/pages/new.html.slim
312
+ - app/views/tandem/pages/show.html.slim
313
+ - config/cucumber.yml
314
+ - config/routes.rb
315
+ - db/migrate/20111122221549_create_tandem_pages.rb
316
+ - db/migrate/20111122222037_create_tandem_contents.rb
317
+ - db/migrate/20111215001943_create_tandem_images.rb
318
+ - db/migrate/30000000000000_create_default_page.rb
319
+ - db/migrate/30000000000001_add_request_key_to_tandem_contents.rb
320
+ - lib/generators/tandem_generator.rb
321
+ - lib/generators/templates/initializer.rb
322
+ - lib/tandem/engine.rb
323
+ - lib/tandem/version.rb
324
+ - lib/tandem.rb
325
+ - lib/tasks/cucumber.rake
326
+ - lib/tasks/tandem_tasks.rake
327
+ - MIT-LICENSE
328
+ - Rakefile
329
+ - README.rdoc
330
+ homepage: http://www.12spokes.com
331
+ licenses: []
332
+ post_install_message:
333
+ rdoc_options: []
334
+ require_paths:
335
+ - lib
336
+ required_ruby_version: !ruby/object:Gem::Requirement
337
+ none: false
338
+ requirements:
339
+ - - ! '>='
340
+ - !ruby/object:Gem::Version
341
+ version: '0'
342
+ required_rubygems_version: !ruby/object:Gem::Requirement
343
+ none: false
344
+ requirements:
345
+ - - ! '>'
346
+ - !ruby/object:Gem::Version
347
+ version: 1.3.1
348
+ requirements: []
349
+ rubyforge_project:
350
+ rubygems_version: 1.8.22
351
+ signing_key:
352
+ specification_version: 3
353
+ summary: A lightweight CMS for Rails 3.1+
354
+ test_files: []