jabe 0.5.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 (106) hide show
  1. data/Gemfile +35 -0
  2. data/Gemfile.lock +217 -0
  3. data/LICENSE.txt +20 -0
  4. data/README.textile +12 -0
  5. data/Rakefile +55 -0
  6. data/VERSION +1 -0
  7. data/app/controllers/admin/base_controller.rb +3 -0
  8. data/app/controllers/admin/entries_controller.rb +42 -0
  9. data/app/controllers/admin/settings_controller.rb +11 -0
  10. data/app/controllers/comments_controller.rb +25 -0
  11. data/app/controllers/entries_controller.rb +26 -0
  12. data/app/helpers/application_helper.rb +9 -0
  13. data/app/models/admin.rb +9 -0
  14. data/app/models/comment.rb +17 -0
  15. data/app/models/entry.rb +17 -0
  16. data/app/models/settings.rb +2 -0
  17. data/app/stylesheets/_will_paginate.scss +102 -0
  18. data/app/stylesheets/application.scss +247 -0
  19. data/app/stylesheets/grid.scss +336 -0
  20. data/app/stylesheets/handheld.scss +7 -0
  21. data/app/stylesheets/style.scss +273 -0
  22. data/app/views/admin/entries/_form.html.haml +6 -0
  23. data/app/views/admin/entries/edit.html.haml +1 -0
  24. data/app/views/admin/entries/index.html.haml +43 -0
  25. data/app/views/admin/entries/new.html.haml +1 -0
  26. data/app/views/admin/settings/edit.html.haml +9 -0
  27. data/app/views/entries/_comment.html.haml +0 -0
  28. data/app/views/entries/_comment_form.html.haml +3 -0
  29. data/app/views/entries/index.html.haml +13 -0
  30. data/app/views/entries/show.html.haml +36 -0
  31. data/app/views/layouts/_footer.html.haml +2 -0
  32. data/app/views/layouts/_header.html.haml +4 -0
  33. data/app/views/layouts/_sidebar.html.haml +0 -0
  34. data/app/views/layouts/application.html.haml +59 -0
  35. data/config/initializers/sass.rb +5 -0
  36. data/config/initializers/settings.rb +5 -0
  37. data/config/initializers/time_formats.rb +4 -0
  38. data/config/routes.rb +26 -0
  39. data/features/admin.feature +30 -0
  40. data/features/entries.feature +24 -0
  41. data/features/step_definitions/admin_steps.rb +14 -0
  42. data/features/step_definitions/entry_steps.rb +35 -0
  43. data/features/step_definitions/support_steps.rb +3 -0
  44. data/features/step_definitions/web_steps.rb +219 -0
  45. data/features/support/blueprints.rb +31 -0
  46. data/features/support/env.rb +59 -0
  47. data/features/support/paths.rb +37 -0
  48. data/lib/generators/jabe/migrations/migrations_generator.rb +42 -0
  49. data/lib/generators/jabe/templates/migrations/create_comments.rb +20 -0
  50. data/lib/generators/jabe/templates/migrations/create_entries.rb +16 -0
  51. data/lib/generators/jabe/templates/migrations/create_settings.rb +21 -0
  52. data/lib/generators/jabe/templates/migrations/create_slugs.rb +18 -0
  53. data/lib/generators/jabe/templates/migrations/devise_create_admins.rb +26 -0
  54. data/lib/jabe.rb +9 -0
  55. data/public/.htaccess +220 -0
  56. data/public/apple-touch-icon.png +0 -0
  57. data/public/blackbird/blackbird.css +80 -0
  58. data/public/blackbird/blackbird.js +365 -0
  59. data/public/blackbird/blackbird.png +0 -0
  60. data/public/crossdomain.xml +25 -0
  61. data/public/images/delete_page.png +0 -0
  62. data/public/images/full_page.png +0 -0
  63. data/public/javascripts/application.js +34 -0
  64. data/public/javascripts/jquery-ui.js +11511 -0
  65. data/public/javascripts/jquery-ui.min.js +404 -0
  66. data/public/javascripts/jquery.js +7179 -0
  67. data/public/javascripts/jquery.min.js +167 -0
  68. data/public/javascripts/libs/dd_belatedpng.js +13 -0
  69. data/public/javascripts/libs/modernizr-1.6.min.js +30 -0
  70. data/public/javascripts/libs/profiling/charts.swf +0 -0
  71. data/public/javascripts/libs/profiling/config.js +59 -0
  72. data/public/javascripts/libs/profiling/yahoo-profiling.css +7 -0
  73. data/public/javascripts/libs/profiling/yahoo-profiling.min.js +39 -0
  74. data/public/javascripts/plugins.js +40 -0
  75. data/public/javascripts/rails.js +154 -0
  76. data/public/nginx.conf +108 -0
  77. data/public/robots.txt +5 -0
  78. data/spec/support/blueprints.rb +31 -0
  79. data/test/dummy/app/controllers/application_controller.rb +3 -0
  80. data/test/dummy/app/helpers/application_helper.rb +2 -0
  81. data/test/dummy/config/application.rb +45 -0
  82. data/test/dummy/config/boot.rb +10 -0
  83. data/test/dummy/config/environment.rb +5 -0
  84. data/test/dummy/config/environments/development.rb +26 -0
  85. data/test/dummy/config/environments/production.rb +49 -0
  86. data/test/dummy/config/environments/test.rb +35 -0
  87. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  88. data/test/dummy/config/initializers/devise.rb +142 -0
  89. data/test/dummy/config/initializers/inflections.rb +10 -0
  90. data/test/dummy/config/initializers/mime_types.rb +5 -0
  91. data/test/dummy/config/initializers/secret_token.rb +7 -0
  92. data/test/dummy/config/initializers/session_store.rb +8 -0
  93. data/test/dummy/config/routes.rb +58 -0
  94. data/test/dummy/db/migrate/20101229224027_create_settings.rb +21 -0
  95. data/test/dummy/db/migrate/20101229224028_create_slugs.rb +18 -0
  96. data/test/dummy/db/migrate/20101229224029_devise_create_admins.rb +26 -0
  97. data/test/dummy/db/migrate/20101229224030_create_entries.rb +16 -0
  98. data/test/dummy/db/migrate/20101229224031_create_comments.rb +20 -0
  99. data/test/dummy/db/schema.rb +82 -0
  100. data/test/dummy/vendor/plugins/acts_as_textiled/init.rb +8 -0
  101. data/test/dummy/vendor/plugins/acts_as_textiled/lib/acts_as_textiled.rb +108 -0
  102. data/test/dummy/vendor/plugins/acts_as_textiled/test/fixtures/author.rb +4 -0
  103. data/test/dummy/vendor/plugins/acts_as_textiled/test/fixtures/story.rb +4 -0
  104. data/test/dummy/vendor/plugins/acts_as_textiled/test/helper.rb +87 -0
  105. data/test/dummy/vendor/plugins/acts_as_textiled/test/textiled_test.rb +145 -0
  106. metadata +641 -0
@@ -0,0 +1,145 @@
1
+ require File.join(File.dirname(__FILE__), 'helper')
2
+
3
+ context "An ActiveRecord instance acting as textiled" do
4
+ specify "should return nil for empty fields" do
5
+ story = Story.new
6
+
7
+ story.description.should.be.nil
8
+ story.description_source.should.be.nil
9
+ story.description_plain.should.be.nil
10
+ end
11
+
12
+ specify "should enhance attributes with html, textile, and plain versions" do
13
+ story = Story.find(1)
14
+
15
+ desc_html = '_why announces <i>Sandbox</i>'
16
+ desc_textile = '_why announces __Sandbox__'
17
+ desc_plain = '_why announces Sandbox'
18
+
19
+ story.description.should.equal desc_html
20
+ story.description(:source).should.equal desc_textile
21
+ story.description(:plain).should.equal desc_plain
22
+
23
+ story.description_source.should.equal desc_textile
24
+ story.description_plain.should.equal desc_plain
25
+
26
+ # make sure we don't overwrite anything - thanks James
27
+ story.description.should.equal desc_html
28
+ story.description(:source).should.equal desc_textile
29
+ story.description(:plain).should.equal desc_plain
30
+
31
+ story.description_source.should.equal desc_textile
32
+ story.description_plain.should.equal desc_plain
33
+ end
34
+
35
+ specify "should raise when given a non-sensical option" do
36
+ story = Story.find(1)
37
+
38
+ proc { story.description(:cassadaga) }.should.raise
39
+ end
40
+
41
+ specify "should pick up changes to attributes" do
42
+ story = Story.find(2)
43
+
44
+ start_html = '<i>Beautify</i> your <strong>IRb</strong> prompt'
45
+ story.description.should.equal start_html
46
+
47
+ story.description = "**IRb** is simple"
48
+ changed_html = "<b>IRb</b> is simple"
49
+ story.description.should.equal changed_html
50
+
51
+ story.save
52
+
53
+ story.description.should.equal changed_html
54
+ story.description_plain.should.equal 'IRb is simple'
55
+ end
56
+
57
+ specify "should be able to toggle whether textile is active or not" do
58
+ story = Story.find(2)
59
+
60
+ desc_html = '<i>Beautify</i> your <strong>IRb</strong> prompt'
61
+ desc_textile = '__Beautify__ your *IRb* prompt'
62
+
63
+ story.description.should.equal desc_html
64
+ story.textiled = false
65
+ story.description.should.equal desc_textile
66
+
67
+ story.save
68
+
69
+ story.description.should.equal desc_textile
70
+ story.textiled = true
71
+ story.description.should.equal desc_html
72
+ end
73
+
74
+ specify "should textile attributes across associations" do
75
+ story = Story.find(2)
76
+
77
+ blog_html = '<a href="http://ozmm.org">ones zeros majors and minors</a>'
78
+ blog_textile = '"ones zeros majors and minors":http://ozmm.org'
79
+ blog_plain = 'ones zeros majors and minors'
80
+
81
+ story.author.blog.should.equal blog_html
82
+ story.author.blog_source.should.equal blog_textile
83
+ story.author.blog_plain.should.equal blog_plain
84
+ end
85
+
86
+ specify "should be able to toggle across associations" do
87
+ story = Story.find(1)
88
+
89
+ blog_html = '<a href="http://redhanded.hobix.com">RedHanded</a>'
90
+ blog_textile = '"RedHanded":http://redhanded.hobix.com'
91
+ blog_plain = 'RedHanded'
92
+
93
+ story.author.blog.should.equal blog_html
94
+ story.author.textiled = false
95
+
96
+ story.author.blog.should.equal blog_textile
97
+ story.author.textiled = true
98
+
99
+ story.author.blog.should.equal blog_html
100
+ end
101
+
102
+ specify "should enhance text attributes" do
103
+ story = Story.find(3)
104
+
105
+ body_html = %[<p><em>Textile</em> is useful because it makes text <em>slightly</em> easier to <strong>read</strong>.</p>\n\n\n\t<p>If only it were so <strong>easy</strong> to use in every programming language. In Rails,\nwith the help of <a href="http://google.com/search?q=acts_as_textiled">acts_as_textiled</a>,\nit&#8217;s way easy. Thanks in no small part to <span style="color:red;">RedCloth</span>, of course.</p>]
106
+ body_textile = %[_Textile_ is useful because it makes text _slightly_ easier to *read*.\n\nIf only it were so *easy* to use in every programming language. In Rails,\nwith the help of "acts_as_textiled":http://google.com/search?q=acts_as_textiled,\nit's way easy. Thanks in no small part to %{color:red}RedCloth%, of course.\n]
107
+ body_plain = %[Textile is useful because it makes text slightly easier to read.\n\n\n\tIf only it were so easy to use in every programming language. In Rails,\nwith the help of acts_as_textiled,\nit's way easy. Thanks in no small part to RedCloth, of course.]
108
+
109
+ story.body.should.equal body_html
110
+ story.body_source.should.equal body_textile
111
+ story.body_plain.should.equal body_plain
112
+ end
113
+
114
+ specify "should handle character conversions" do
115
+ story = Story.find(4)
116
+
117
+ body_html = "<p>Is Textile&#8482; the wave of the future? What about acts_as_textiled&#169;? It&#8217;s\ndoubtful. Why does Textile&#8482; smell like <em>Python</em>? Can we do anything to\nfix that? No? Well, I guess there are worse smells &#8211; like Ruby. jk.</p>\n\n\n\t<p>But seriously, ice &gt; water and water &lt; rain. But&#8230;nevermind. 1&#215;1? 1.</p>\n\n\n\t<p>&#8220;You&#8217;re a good kid,&#8221; he said. &#8220;Keep it up.&#8221;</p>"
118
+ body_plain = %[Is Textile(TM) the wave of the future? What about acts_as_textiled(C)? It's\ndoubtful. Why does Textile(TM) smell like Python? Can we do anything to\nfix that? No? Well, I guess there are worse smells-like Ruby. jk.\n\n\n\tBut seriously, ice > water and water < rain. But...nevermind. 1x1? 1.\n\n\n\t"You're a good kid," he said. "Keep it up."]
119
+
120
+ story.body.should.equal body_html
121
+ story.body_plain.should.equal body_plain
122
+ end
123
+
124
+ specify "should be able to do on-demand textile caching" do
125
+ story = Story.find(1)
126
+
127
+ desc_html = '_why announces <i>Sandbox</i>'
128
+
129
+ story.textiled.size.should.equal 0
130
+
131
+ story.textilize
132
+
133
+ story.textiled.size.should.equal 2
134
+ story.description.should.equal desc_html
135
+ end
136
+
137
+ specify "should work well with after_find callbacks" do
138
+ story = StoryWithAfterFind.find(2)
139
+
140
+ desc_html = '<i>Beautify</i> your <strong>IRb</strong> prompt'
141
+
142
+ story.textiled.size.should.equal 2
143
+ story.description.should.equal desc_html
144
+ end
145
+ end
metadata ADDED
@@ -0,0 +1,641 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jabe
3
+ version: !ruby/object:Gem::Version
4
+ hash: 11
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 5
9
+ - 0
10
+ version: 0.5.0
11
+ platform: ruby
12
+ authors:
13
+ - Michael Moen a.k.a. UnderpantsGnome
14
+ - Neil Heinrich
15
+ autorequire:
16
+ bindir: bin
17
+ cert_chain: []
18
+
19
+ date: 2010-12-29 00:00:00 -06:00
20
+ default_executable:
21
+ dependencies:
22
+ - !ruby/object:Gem::Dependency
23
+ prerelease: false
24
+ type: :runtime
25
+ name: rails
26
+ version_requirements: &id001 !ruby/object:Gem::Requirement
27
+ none: false
28
+ requirements:
29
+ - - ~>
30
+ - !ruby/object:Gem::Version
31
+ hash: 1
32
+ segments:
33
+ - 3
34
+ - 0
35
+ - 3
36
+ version: 3.0.3
37
+ requirement: *id001
38
+ - !ruby/object:Gem::Dependency
39
+ prerelease: false
40
+ type: :runtime
41
+ name: devise
42
+ version_requirements: &id002 !ruby/object:Gem::Requirement
43
+ none: false
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ hash: 3
48
+ segments:
49
+ - 0
50
+ version: "0"
51
+ requirement: *id002
52
+ - !ruby/object:Gem::Dependency
53
+ prerelease: false
54
+ type: :runtime
55
+ name: friendly_id
56
+ version_requirements: &id003 !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - "="
60
+ - !ruby/object:Gem::Version
61
+ hash: 19
62
+ segments:
63
+ - 3
64
+ - 1
65
+ - 8
66
+ version: 3.1.8
67
+ requirement: *id003
68
+ - !ruby/object:Gem::Dependency
69
+ prerelease: false
70
+ type: :runtime
71
+ name: formtastic
72
+ version_requirements: &id004 !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ hash: 31098189
78
+ segments:
79
+ - 1
80
+ - 2
81
+ - 3
82
+ - beta
83
+ version: 1.2.3.beta
84
+ requirement: *id004
85
+ - !ruby/object:Gem::Dependency
86
+ prerelease: false
87
+ type: :runtime
88
+ name: haml
89
+ version_requirements: &id005 !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ hash: 41
95
+ segments:
96
+ - 3
97
+ - 0
98
+ - 23
99
+ version: 3.0.23
100
+ requirement: *id005
101
+ - !ruby/object:Gem::Dependency
102
+ prerelease: false
103
+ type: :runtime
104
+ name: haml-rails
105
+ version_requirements: &id006 !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ hash: 3
111
+ segments:
112
+ - 0
113
+ version: "0"
114
+ requirement: *id006
115
+ - !ruby/object:Gem::Dependency
116
+ prerelease: false
117
+ type: :runtime
118
+ name: jquery-rails
119
+ version_requirements: &id007 !ruby/object:Gem::Requirement
120
+ none: false
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ hash: 3
125
+ segments:
126
+ - 0
127
+ version: "0"
128
+ requirement: *id007
129
+ - !ruby/object:Gem::Dependency
130
+ prerelease: false
131
+ type: :runtime
132
+ name: RedCloth
133
+ version_requirements: &id008 !ruby/object:Gem::Requirement
134
+ none: false
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ hash: 3
139
+ segments:
140
+ - 0
141
+ version: "0"
142
+ requirement: *id008
143
+ - !ruby/object:Gem::Dependency
144
+ prerelease: false
145
+ type: :runtime
146
+ name: sass
147
+ version_requirements: &id009 !ruby/object:Gem::Requirement
148
+ none: false
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ hash: -3702664528
153
+ segments:
154
+ - 3
155
+ - 1
156
+ - 0
157
+ - alpha
158
+ - 206
159
+ version: 3.1.0.alpha.206
160
+ requirement: *id009
161
+ - !ruby/object:Gem::Dependency
162
+ prerelease: false
163
+ type: :runtime
164
+ name: will_paginate
165
+ version_requirements: &id010 !ruby/object:Gem::Requirement
166
+ none: false
167
+ requirements:
168
+ - - ">="
169
+ - !ruby/object:Gem::Version
170
+ hash: -1876988247
171
+ segments:
172
+ - 3
173
+ - 0
174
+ - pre2
175
+ version: 3.0.pre2
176
+ requirement: *id010
177
+ - !ruby/object:Gem::Dependency
178
+ prerelease: false
179
+ type: :development
180
+ name: autotest
181
+ version_requirements: &id011 !ruby/object:Gem::Requirement
182
+ none: false
183
+ requirements:
184
+ - - ">="
185
+ - !ruby/object:Gem::Version
186
+ hash: 3
187
+ segments:
188
+ - 0
189
+ version: "0"
190
+ requirement: *id011
191
+ - !ruby/object:Gem::Dependency
192
+ prerelease: false
193
+ type: :development
194
+ name: autotest-fsevent
195
+ version_requirements: &id012 !ruby/object:Gem::Requirement
196
+ none: false
197
+ requirements:
198
+ - - ">="
199
+ - !ruby/object:Gem::Version
200
+ hash: 3
201
+ segments:
202
+ - 0
203
+ version: "0"
204
+ requirement: *id012
205
+ - !ruby/object:Gem::Dependency
206
+ prerelease: false
207
+ type: :development
208
+ name: autotest-growl
209
+ version_requirements: &id013 !ruby/object:Gem::Requirement
210
+ none: false
211
+ requirements:
212
+ - - ">="
213
+ - !ruby/object:Gem::Version
214
+ hash: 3
215
+ segments:
216
+ - 0
217
+ version: "0"
218
+ requirement: *id013
219
+ - !ruby/object:Gem::Dependency
220
+ prerelease: false
221
+ type: :development
222
+ name: capybara
223
+ version_requirements: &id014 !ruby/object:Gem::Requirement
224
+ none: false
225
+ requirements:
226
+ - - ">="
227
+ - !ruby/object:Gem::Version
228
+ hash: 3
229
+ segments:
230
+ - 0
231
+ version: "0"
232
+ requirement: *id014
233
+ - !ruby/object:Gem::Dependency
234
+ prerelease: false
235
+ type: :development
236
+ name: csv-mapper
237
+ version_requirements: &id015 !ruby/object:Gem::Requirement
238
+ none: false
239
+ requirements:
240
+ - - ">="
241
+ - !ruby/object:Gem::Version
242
+ hash: 3
243
+ segments:
244
+ - 0
245
+ version: "0"
246
+ requirement: *id015
247
+ - !ruby/object:Gem::Dependency
248
+ prerelease: false
249
+ type: :development
250
+ name: cucumber
251
+ version_requirements: &id016 !ruby/object:Gem::Requirement
252
+ none: false
253
+ requirements:
254
+ - - ">="
255
+ - !ruby/object:Gem::Version
256
+ hash: 3
257
+ segments:
258
+ - 0
259
+ version: "0"
260
+ requirement: *id016
261
+ - !ruby/object:Gem::Dependency
262
+ prerelease: false
263
+ type: :development
264
+ name: cucumber-rails
265
+ version_requirements: &id017 !ruby/object:Gem::Requirement
266
+ none: false
267
+ requirements:
268
+ - - ">="
269
+ - !ruby/object:Gem::Version
270
+ hash: 3
271
+ segments:
272
+ - 0
273
+ version: "0"
274
+ requirement: *id017
275
+ - !ruby/object:Gem::Dependency
276
+ prerelease: false
277
+ type: :development
278
+ name: database_cleaner
279
+ version_requirements: &id018 !ruby/object:Gem::Requirement
280
+ none: false
281
+ requirements:
282
+ - - ">="
283
+ - !ruby/object:Gem::Version
284
+ hash: 7
285
+ segments:
286
+ - 0
287
+ - 6
288
+ - 0
289
+ version: 0.6.0
290
+ requirement: *id018
291
+ - !ruby/object:Gem::Dependency
292
+ prerelease: false
293
+ type: :development
294
+ name: faker
295
+ version_requirements: &id019 !ruby/object:Gem::Requirement
296
+ none: false
297
+ requirements:
298
+ - - ">="
299
+ - !ruby/object:Gem::Version
300
+ hash: 3
301
+ segments:
302
+ - 0
303
+ version: "0"
304
+ requirement: *id019
305
+ - !ruby/object:Gem::Dependency
306
+ prerelease: false
307
+ type: :development
308
+ name: jeweler
309
+ version_requirements: &id020 !ruby/object:Gem::Requirement
310
+ none: false
311
+ requirements:
312
+ - - ">="
313
+ - !ruby/object:Gem::Version
314
+ hash: 3
315
+ segments:
316
+ - 0
317
+ version: "0"
318
+ requirement: *id020
319
+ - !ruby/object:Gem::Dependency
320
+ prerelease: false
321
+ type: :development
322
+ name: launchy
323
+ version_requirements: &id021 !ruby/object:Gem::Requirement
324
+ none: false
325
+ requirements:
326
+ - - ">="
327
+ - !ruby/object:Gem::Version
328
+ hash: 3
329
+ segments:
330
+ - 0
331
+ version: "0"
332
+ requirement: *id021
333
+ - !ruby/object:Gem::Dependency
334
+ prerelease: false
335
+ type: :development
336
+ name: machinist
337
+ version_requirements: &id022 !ruby/object:Gem::Requirement
338
+ none: false
339
+ requirements:
340
+ - - ">="
341
+ - !ruby/object:Gem::Version
342
+ hash: -1848230038
343
+ segments:
344
+ - 2
345
+ - 0
346
+ - 0
347
+ - beta2
348
+ version: 2.0.0.beta2
349
+ requirement: *id022
350
+ - !ruby/object:Gem::Dependency
351
+ prerelease: false
352
+ type: :development
353
+ name: mysql
354
+ version_requirements: &id023 !ruby/object:Gem::Requirement
355
+ none: false
356
+ requirements:
357
+ - - ">="
358
+ - !ruby/object:Gem::Version
359
+ hash: 3
360
+ segments:
361
+ - 0
362
+ version: "0"
363
+ requirement: *id023
364
+ - !ruby/object:Gem::Dependency
365
+ prerelease: false
366
+ type: :development
367
+ name: pickle
368
+ version_requirements: &id024 !ruby/object:Gem::Requirement
369
+ none: false
370
+ requirements:
371
+ - - ">="
372
+ - !ruby/object:Gem::Version
373
+ hash: 3
374
+ segments:
375
+ - 0
376
+ version: "0"
377
+ requirement: *id024
378
+ - !ruby/object:Gem::Dependency
379
+ prerelease: false
380
+ type: :development
381
+ name: rcov
382
+ version_requirements: &id025 !ruby/object:Gem::Requirement
383
+ none: false
384
+ requirements:
385
+ - - ">="
386
+ - !ruby/object:Gem::Version
387
+ hash: 3
388
+ segments:
389
+ - 0
390
+ version: "0"
391
+ requirement: *id025
392
+ - !ruby/object:Gem::Dependency
393
+ prerelease: false
394
+ type: :development
395
+ name: redgreen
396
+ version_requirements: &id026 !ruby/object:Gem::Requirement
397
+ none: false
398
+ requirements:
399
+ - - ">="
400
+ - !ruby/object:Gem::Version
401
+ hash: 3
402
+ segments:
403
+ - 0
404
+ version: "0"
405
+ requirement: *id026
406
+ - !ruby/object:Gem::Dependency
407
+ prerelease: false
408
+ type: :development
409
+ name: rspec-rails
410
+ version_requirements: &id027 !ruby/object:Gem::Requirement
411
+ none: false
412
+ requirements:
413
+ - - "="
414
+ - !ruby/object:Gem::Version
415
+ hash: 13
416
+ segments:
417
+ - 2
418
+ - 0
419
+ - 1
420
+ version: 2.0.1
421
+ requirement: *id027
422
+ - !ruby/object:Gem::Dependency
423
+ prerelease: false
424
+ type: :development
425
+ name: ruby-debug
426
+ version_requirements: &id028 !ruby/object:Gem::Requirement
427
+ none: false
428
+ requirements:
429
+ - - ">="
430
+ - !ruby/object:Gem::Version
431
+ hash: 3
432
+ segments:
433
+ - 0
434
+ version: "0"
435
+ requirement: *id028
436
+ - !ruby/object:Gem::Dependency
437
+ prerelease: false
438
+ type: :development
439
+ name: sqlite3-ruby
440
+ version_requirements: &id029 !ruby/object:Gem::Requirement
441
+ none: false
442
+ requirements:
443
+ - - ">="
444
+ - !ruby/object:Gem::Version
445
+ hash: 3
446
+ segments:
447
+ - 0
448
+ version: "0"
449
+ requirement: *id029
450
+ - !ruby/object:Gem::Dependency
451
+ prerelease: false
452
+ type: :development
453
+ name: wirble
454
+ version_requirements: &id030 !ruby/object:Gem::Requirement
455
+ none: false
456
+ requirements:
457
+ - - ">="
458
+ - !ruby/object:Gem::Version
459
+ hash: 3
460
+ segments:
461
+ - 0
462
+ version: "0"
463
+ requirement: *id030
464
+ description: Blog engine for Rails 3+
465
+ email: michael@pixels-and-bits.com
466
+ executables: []
467
+
468
+ extensions: []
469
+
470
+ extra_rdoc_files:
471
+ - LICENSE.txt
472
+ - README.textile
473
+ files:
474
+ - Gemfile
475
+ - Gemfile.lock
476
+ - LICENSE.txt
477
+ - README.textile
478
+ - Rakefile
479
+ - VERSION
480
+ - app/controllers/admin/base_controller.rb
481
+ - app/controllers/admin/entries_controller.rb
482
+ - app/controllers/admin/settings_controller.rb
483
+ - app/controllers/comments_controller.rb
484
+ - app/controllers/entries_controller.rb
485
+ - app/helpers/application_helper.rb
486
+ - app/models/admin.rb
487
+ - app/models/comment.rb
488
+ - app/models/entry.rb
489
+ - app/models/settings.rb
490
+ - app/stylesheets/_will_paginate.scss
491
+ - app/stylesheets/application.scss
492
+ - app/stylesheets/grid.scss
493
+ - app/stylesheets/handheld.scss
494
+ - app/stylesheets/style.scss
495
+ - app/views/admin/entries/_form.html.haml
496
+ - app/views/admin/entries/edit.html.haml
497
+ - app/views/admin/entries/index.html.haml
498
+ - app/views/admin/entries/new.html.haml
499
+ - app/views/admin/settings/edit.html.haml
500
+ - app/views/entries/_comment.html.haml
501
+ - app/views/entries/_comment_form.html.haml
502
+ - app/views/entries/index.html.haml
503
+ - app/views/entries/show.html.haml
504
+ - app/views/layouts/_footer.html.haml
505
+ - app/views/layouts/_header.html.haml
506
+ - app/views/layouts/_sidebar.html.haml
507
+ - app/views/layouts/application.html.haml
508
+ - config/initializers/sass.rb
509
+ - config/initializers/settings.rb
510
+ - config/initializers/time_formats.rb
511
+ - config/routes.rb
512
+ - features/admin.feature
513
+ - features/entries.feature
514
+ - features/step_definitions/admin_steps.rb
515
+ - features/step_definitions/entry_steps.rb
516
+ - features/step_definitions/support_steps.rb
517
+ - features/step_definitions/web_steps.rb
518
+ - features/support/blueprints.rb
519
+ - features/support/env.rb
520
+ - features/support/paths.rb
521
+ - lib/generators/jabe/migrations/migrations_generator.rb
522
+ - lib/generators/jabe/templates/migrations/create_comments.rb
523
+ - lib/generators/jabe/templates/migrations/create_entries.rb
524
+ - lib/generators/jabe/templates/migrations/create_settings.rb
525
+ - lib/generators/jabe/templates/migrations/create_slugs.rb
526
+ - lib/generators/jabe/templates/migrations/devise_create_admins.rb
527
+ - lib/jabe.rb
528
+ - public/.htaccess
529
+ - public/apple-touch-icon.png
530
+ - public/blackbird/blackbird.css
531
+ - public/blackbird/blackbird.js
532
+ - public/blackbird/blackbird.png
533
+ - public/crossdomain.xml
534
+ - public/images/delete_page.png
535
+ - public/images/full_page.png
536
+ - public/javascripts/application.js
537
+ - public/javascripts/jquery-ui.js
538
+ - public/javascripts/jquery-ui.min.js
539
+ - public/javascripts/jquery.js
540
+ - public/javascripts/jquery.min.js
541
+ - public/javascripts/libs/dd_belatedpng.js
542
+ - public/javascripts/libs/modernizr-1.6.min.js
543
+ - public/javascripts/libs/profiling/charts.swf
544
+ - public/javascripts/libs/profiling/config.js
545
+ - public/javascripts/libs/profiling/yahoo-profiling.css
546
+ - public/javascripts/libs/profiling/yahoo-profiling.min.js
547
+ - public/javascripts/plugins.js
548
+ - public/javascripts/rails.js
549
+ - public/nginx.conf
550
+ - public/robots.txt
551
+ - spec/support/blueprints.rb
552
+ - test/dummy/app/controllers/application_controller.rb
553
+ - test/dummy/app/helpers/application_helper.rb
554
+ - test/dummy/config/application.rb
555
+ - test/dummy/config/boot.rb
556
+ - test/dummy/config/environment.rb
557
+ - test/dummy/config/environments/development.rb
558
+ - test/dummy/config/environments/production.rb
559
+ - test/dummy/config/environments/test.rb
560
+ - test/dummy/config/initializers/backtrace_silencers.rb
561
+ - test/dummy/config/initializers/devise.rb
562
+ - test/dummy/config/initializers/inflections.rb
563
+ - test/dummy/config/initializers/mime_types.rb
564
+ - test/dummy/config/initializers/secret_token.rb
565
+ - test/dummy/config/initializers/session_store.rb
566
+ - test/dummy/config/routes.rb
567
+ - test/dummy/db/migrate/20101229224027_create_settings.rb
568
+ - test/dummy/db/migrate/20101229224028_create_slugs.rb
569
+ - test/dummy/db/migrate/20101229224029_devise_create_admins.rb
570
+ - test/dummy/db/migrate/20101229224030_create_entries.rb
571
+ - test/dummy/db/migrate/20101229224031_create_comments.rb
572
+ - test/dummy/db/schema.rb
573
+ - test/dummy/vendor/plugins/acts_as_textiled/init.rb
574
+ - test/dummy/vendor/plugins/acts_as_textiled/lib/acts_as_textiled.rb
575
+ - test/dummy/vendor/plugins/acts_as_textiled/test/fixtures/author.rb
576
+ - test/dummy/vendor/plugins/acts_as_textiled/test/fixtures/story.rb
577
+ - test/dummy/vendor/plugins/acts_as_textiled/test/helper.rb
578
+ - test/dummy/vendor/plugins/acts_as_textiled/test/textiled_test.rb
579
+ has_rdoc: true
580
+ homepage: http://github.com/pixels-and-bits/jabe
581
+ licenses:
582
+ - MIT
583
+ post_install_message:
584
+ rdoc_options: []
585
+
586
+ require_paths:
587
+ - lib
588
+ required_ruby_version: !ruby/object:Gem::Requirement
589
+ none: false
590
+ requirements:
591
+ - - ">="
592
+ - !ruby/object:Gem::Version
593
+ hash: 3
594
+ segments:
595
+ - 0
596
+ version: "0"
597
+ required_rubygems_version: !ruby/object:Gem::Requirement
598
+ none: false
599
+ requirements:
600
+ - - ">="
601
+ - !ruby/object:Gem::Version
602
+ hash: 3
603
+ segments:
604
+ - 0
605
+ version: "0"
606
+ requirements: []
607
+
608
+ rubyforge_project:
609
+ rubygems_version: 1.3.7
610
+ signing_key:
611
+ specification_version: 3
612
+ summary: Just Another Blog Engine
613
+ test_files:
614
+ - spec/support/blueprints.rb
615
+ - test/dummy/app/controllers/application_controller.rb
616
+ - test/dummy/app/helpers/application_helper.rb
617
+ - test/dummy/config/application.rb
618
+ - test/dummy/config/boot.rb
619
+ - test/dummy/config/environment.rb
620
+ - test/dummy/config/environments/development.rb
621
+ - test/dummy/config/environments/production.rb
622
+ - test/dummy/config/environments/test.rb
623
+ - test/dummy/config/initializers/backtrace_silencers.rb
624
+ - test/dummy/config/initializers/devise.rb
625
+ - test/dummy/config/initializers/inflections.rb
626
+ - test/dummy/config/initializers/mime_types.rb
627
+ - test/dummy/config/initializers/secret_token.rb
628
+ - test/dummy/config/initializers/session_store.rb
629
+ - test/dummy/config/routes.rb
630
+ - test/dummy/db/migrate/20101229224027_create_settings.rb
631
+ - test/dummy/db/migrate/20101229224028_create_slugs.rb
632
+ - test/dummy/db/migrate/20101229224029_devise_create_admins.rb
633
+ - test/dummy/db/migrate/20101229224030_create_entries.rb
634
+ - test/dummy/db/migrate/20101229224031_create_comments.rb
635
+ - test/dummy/db/schema.rb
636
+ - test/dummy/vendor/plugins/acts_as_textiled/init.rb
637
+ - test/dummy/vendor/plugins/acts_as_textiled/lib/acts_as_textiled.rb
638
+ - test/dummy/vendor/plugins/acts_as_textiled/test/fixtures/author.rb
639
+ - test/dummy/vendor/plugins/acts_as_textiled/test/fixtures/story.rb
640
+ - test/dummy/vendor/plugins/acts_as_textiled/test/helper.rb
641
+ - test/dummy/vendor/plugins/acts_as_textiled/test/textiled_test.rb