crowdblog 0.0.16 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. data/.gitignore +2 -0
  2. data/Gemfile +0 -10
  3. data/README.md +94 -3
  4. data/Rakefile +1 -7
  5. data/app/assets/images/crowdblog/logo.png +0 -0
  6. data/app/assets/javascripts/crowdblog/models/post.js.coffee +4 -9
  7. data/app/assets/javascripts/crowdblog/views/attachment_view.js.coffee +12 -0
  8. data/app/assets/javascripts/crowdblog/views/post_form_view.js.coffee +21 -0
  9. data/app/assets/javascripts/crowdblog/views/post_view.js.coffee +52 -0
  10. data/app/assets/javascripts/crowdblog.js +7 -11
  11. data/app/assets/stylesheets/crowdblog/posts.css.scss +26 -5
  12. data/app/assets/stylesheets/crowdblog.css +0 -1
  13. data/app/controllers/crowdblog/application_controller.rb +13 -0
  14. data/app/controllers/crowdblog/assets_controller.rb +2 -2
  15. data/app/controllers/crowdblog/authors_controller.rb +2 -2
  16. data/app/controllers/crowdblog/devise/sessions_controller.rb +3 -0
  17. data/app/controllers/crowdblog/posts_controller.rb +37 -16
  18. data/app/models/crowdblog/asset.rb +0 -1
  19. data/app/models/crowdblog/post.rb +15 -5
  20. data/app/models/crowdblog/user.rb +9 -1
  21. data/app/views/crowdblog/application/_navbar.html.slim +11 -0
  22. data/app/views/crowdblog/application/_notices.html.slim +6 -0
  23. data/app/views/crowdblog/authors/index.html.slim +2 -2
  24. data/app/views/crowdblog/devise/_links.erb +25 -0
  25. data/app/views/crowdblog/devise/sessions/new.html.erb +21 -0
  26. data/app/views/crowdblog/posts/_form.html.slim +31 -0
  27. data/app/views/crowdblog/posts/_post.html.slim +13 -0
  28. data/app/views/crowdblog/posts/edit.html.slim +14 -0
  29. data/app/views/crowdblog/posts/index.html.slim +12 -10
  30. data/app/views/crowdblog/posts/new.html.slim +12 -0
  31. data/app/views/crowdblog/posts/update.json.jbuilder +2 -0
  32. data/app/views/layouts/crowdblog/application.html.slim +20 -0
  33. data/config/initializers/date_formats.rb +1 -0
  34. data/config/initializers/devise.rb +16 -0
  35. data/config/locales/devise.en.yml +57 -0
  36. data/config/routes.rb +1 -0
  37. data/crowdblog.gemspec +4 -12
  38. data/db/migrate/20120215232711_create_crowdblog_users.rb +23 -0
  39. data/db/migrate/20120217213920_create_crowdblog_posts.rb +17 -0
  40. data/db/migrate/20120219071614_create_crowdblog_assets.rb +10 -0
  41. data/lib/crowdblog/devise/failure_app.rb +9 -0
  42. data/lib/crowdblog/rspec/crowdblog_shared_examples.rb +108 -0
  43. data/lib/crowdblog/rspec.rb +1 -0
  44. data/lib/crowdblog/version.rb +1 -1
  45. data/lib/crowdblog.rb +10 -0
  46. data/spec/dummy/app/controllers/application_controller.rb +0 -16
  47. data/spec/dummy/app/views/home/show.html.slim +1 -1
  48. data/spec/dummy/config/application.rb +0 -10
  49. data/spec/dummy/config/initializers/devise.rb +0 -7
  50. data/spec/dummy/config/routes.rb +1 -8
  51. data/spec/dummy/db/schema.rb +11 -11
  52. data/spec/dummy/db/seed.rb +6 -0
  53. data/spec/integration/crowdblog_spec.rb +5 -0
  54. data/spec/models/post_spec.rb +3 -3
  55. data/spec/models/user_spec.rb +25 -1
  56. data/spec/spec_helper.rb +17 -1
  57. data/vendor/assets/javascripts/backbone_rails_sync.js +69 -0
  58. data/vendor/assets/javascripts/uploader/jquery.html5uploader.js +148 -0
  59. metadata +40 -183
  60. data/Gemfile.lock +0 -280
  61. data/app/assets/javascripts/crowdblog/posts_main.js.coffee +0 -42
  62. data/app/assets/javascripts/crowdblog/templates/posts/attachment.jst.eco.slim +0 -1
  63. data/app/assets/javascripts/crowdblog/templates/posts/edit.jst.eco.slim +0 -36
  64. data/app/assets/javascripts/crowdblog/templates/posts/index.jst.eco.slim +0 -14
  65. data/app/assets/javascripts/crowdblog/templates/posts/post.jst.eco.slim +0 -14
  66. data/app/assets/javascripts/crowdblog/views/posts/attachment_view.js.coffee +0 -8
  67. data/app/assets/javascripts/crowdblog/views/posts/edit_post_view.js.coffee +0 -46
  68. data/app/assets/javascripts/crowdblog/views/posts/index.js.coffee +0 -28
  69. data/app/assets/javascripts/crowdblog/views/posts/post_view.js.coffee +0 -57
  70. data/app/assets/javascripts/crowdblog/xhr_fix.js.coffee +0 -4
  71. data/app/controllers/crowdblog/controller.rb +0 -10
  72. data/app/views/layouts/crowdblog/crowdblog.html.slim +0 -26
  73. data/db/migrate/20120215232711_create_users.rb +0 -10
  74. data/db/migrate/20120216154516_add_devise_to_users.rb +0 -56
  75. data/db/migrate/20120217213920_create_posts.rb +0 -13
  76. data/db/migrate/20120219014520_add_author_to_posts.rb +0 -6
  77. data/db/migrate/20120219040607_add_state_to_post.rb +0 -7
  78. data/db/migrate/20120219071614_create_assets.rb +0 -10
  79. data/db/migrate/20120219234253_add_alias_to_users.rb +0 -6
  80. data/db/migrate/20120229160314_add_review_fields_to_post.rb +0 -6
  81. data/features/posts/listing.feature +0 -32
  82. data/features/posts/manage.feature +0 -36
  83. data/features/posts/publish.feature +0 -17
  84. data/features/step_definitions/global_steps.rb +0 -23
  85. data/features/step_definitions/navigation_steps.rb +0 -45
  86. data/features/step_definitions/posts_steps.rb +0 -138
  87. data/features/step_definitions/review_steps.rb +0 -27
  88. data/features/support/env.rb +0 -76
  89. data/spec/dummy/app/models/user.rb +0 -17
  90. data/spec/fabricators/posts_fabricator.rb +0 -21
  91. data/spec/fabricators/users_fabricator.rb +0 -19
  92. data/vendor/assets/javascripts/swfobject.js +0 -4
  93. data/vendor/assets/swf/uploadify.swf +0 -0
@@ -0,0 +1,69 @@
1
+ (function($) {
2
+ var methodMap = {
3
+ 'create': 'POST',
4
+ 'update': 'PUT',
5
+ 'delete': 'DELETE',
6
+ 'read' : 'GET'
7
+ };
8
+
9
+ var getUrl = function(object) {
10
+ if (!(object && object.url)) return null;
11
+ return _.isFunction(object.url) ? object.url() : object.url;
12
+ };
13
+
14
+ var urlError = function() {
15
+ throw new Error("A 'url' property or function must be specified");
16
+ };
17
+
18
+ Backbone.sync = function(method, model, options) {
19
+ var type = methodMap[method];
20
+
21
+ // Default JSON-request options.
22
+ var params = _.extend({
23
+ type: type,
24
+ dataType: 'json',
25
+ beforeSend: function( xhr ) {
26
+ if (!options.noCSRF) {
27
+ var token = $('meta[name="csrf-token"]').attr('content');
28
+ if (token) xhr.setRequestHeader('X-CSRF-Token', token);
29
+ }
30
+ model.trigger('sync:start');
31
+ }
32
+ }, options);
33
+
34
+ if (!params.url) {
35
+ params.url = getUrl(model) || urlError();
36
+ }
37
+
38
+ // Ensure that we have the appropriate request data.
39
+ if (!params.data && model && (method == 'create' || method == 'update')) {
40
+ params.contentType = 'application/json';
41
+
42
+ var data = {}
43
+
44
+ if(model.paramRoot) {
45
+ data[model.paramRoot] = model.toJSON();
46
+ } else {
47
+ data = model.toJSON();
48
+ }
49
+
50
+ params.data = JSON.stringify(data)
51
+ }
52
+
53
+ // Don't process data on a non-GET request.
54
+ if (params.type !== 'GET') {
55
+ params.processData = false;
56
+ }
57
+
58
+ // Trigger the sync end event
59
+ var complete = options.complete;
60
+ params.complete = function(jqXHR, textStatus) {
61
+ model.trigger('sync:end');
62
+ if (complete) complete(jqXHR, textStatus);
63
+ };
64
+
65
+ // Make the request.
66
+ return $.ajax(params);
67
+ }
68
+
69
+ })(jQuery);
@@ -0,0 +1,148 @@
1
+ (function ($) {
2
+
3
+ $.fn.html5Uploader = function (options) {
4
+
5
+ var crlf = '\r\n';
6
+ var boundary = "iloveigloo";
7
+ var dashes = "--";
8
+
9
+ var settings = {
10
+ "name": "uploadedFile",
11
+ "postUrl": "Upload.aspx",
12
+ "onClientAbort": null,
13
+ "onClientError": null,
14
+ "onClientLoad": null,
15
+ "onClientLoadEnd": null,
16
+ "onClientLoadStart": null,
17
+ "onClientProgress": null,
18
+ "onServerAbort": null,
19
+ "onServerError": null,
20
+ "onServerLoad": null,
21
+ "onServerLoadStart": null,
22
+ "onServerProgress": null,
23
+ "onServerReadyStateChange": null,
24
+ "onSuccess": null
25
+ };
26
+
27
+ if (options) {
28
+ $.extend(settings, options);
29
+ }
30
+
31
+ return this.each(function (options) {
32
+ var $this = $(this);
33
+ if ($this.is("[type=\"file\"]")) {
34
+ $this.bind("change", function () {
35
+ var files = this.files;
36
+ for (var i = 0; i < files.length; i++) {
37
+ fileHandler(files[i]);
38
+ }
39
+ });
40
+ } else {
41
+ $this.bind("dragenter dragover", function () {
42
+ return false;
43
+ }).bind("drop", function (e) {
44
+ var files = e.originalEvent.dataTransfer.files;
45
+ for (var i = 0; i < files.length; i++) {
46
+ fileHandler(files[i]);
47
+ }
48
+ return false;
49
+ });
50
+ }
51
+ });
52
+
53
+ function fileHandler(file) {
54
+ var fileReader = new FileReader();
55
+ fileReader.onabort = function (e) {
56
+ if (settings.onClientAbort) {
57
+ settings.onClientAbort(e, file);
58
+ }
59
+ };
60
+ fileReader.onerror = function (e) {
61
+ if (settings.onClientError) {
62
+ settings.onClientError(e, file);
63
+ }
64
+ };
65
+ fileReader.onload = function (e) {
66
+ if (settings.onClientLoad) {
67
+ settings.onClientLoad(e, file);
68
+ }
69
+ };
70
+ fileReader.onloadend = function (e) {
71
+ if (settings.onClientLoadEnd) {
72
+ settings.onClientLoadEnd(e, file);
73
+ }
74
+ };
75
+ fileReader.onloadstart = function (e) {
76
+ if (settings.onClientLoadStart) {
77
+ settings.onClientLoadStart(e, file);
78
+ }
79
+ };
80
+ fileReader.onprogress = function (e) {
81
+ if (settings.onClientProgress) {
82
+ settings.onClientProgress(e, file);
83
+ }
84
+ };
85
+ fileReader.readAsDataURL(file);
86
+
87
+ var xmlHttpRequest = new XMLHttpRequest();
88
+ xmlHttpRequest.upload.onabort = function (e) {
89
+ if (settings.onServerAbort) {
90
+ settings.onServerAbort(e, file);
91
+ }
92
+ };
93
+ xmlHttpRequest.upload.onerror = function (e) {
94
+ if (settings.onServerError) {
95
+ settings.onServerError(e, file);
96
+ }
97
+ };
98
+ xmlHttpRequest.upload.onload = function (e) {
99
+ if (settings.onServerLoad) {
100
+ settings.onServerLoad(e, file);
101
+ }
102
+ };
103
+ xmlHttpRequest.upload.onloadstart = function (e) {
104
+ if (settings.onServerLoadStart) {
105
+ settings.onServerLoadStart(e, file);
106
+ }
107
+ };
108
+ xmlHttpRequest.upload.onprogress = function (e) {
109
+ if (settings.onServerProgress) {
110
+ settings.onServerProgress(e, file);
111
+ }
112
+ };
113
+ xmlHttpRequest.onreadystatechange = function (e) {
114
+ if (settings.onServerReadyStateChange) {
115
+ settings.onServerReadyStateChange(e, file, xmlHttpRequest.readyState);
116
+ }
117
+ if (settings.onSuccess && xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200) {
118
+ settings.onSuccess(e, file, xmlHttpRequest.responseText);
119
+ }
120
+ };
121
+ xmlHttpRequest.open("POST", settings.postUrl, true);
122
+
123
+ if (file.getAsBinary) { // Firefox
124
+
125
+ var data = dashes + boundary + crlf +
126
+ "Content-Disposition: form-data;" +
127
+ "name=\"" + settings.name + "\";" +
128
+ "filename=\"" + unescape(encodeURIComponent(file.name)) + "\"" + crlf +
129
+ "Content-Type: application/octet-stream" + crlf + crlf +
130
+ file.getAsBinary() + crlf +
131
+ dashes + boundary + dashes;
132
+
133
+ xmlHttpRequest.setRequestHeader("Content-Type", "multipart/form-data;boundary=" + boundary);
134
+ xmlHttpRequest.sendAsBinary(data);
135
+
136
+ } else if (window.FormData) { // Chrome
137
+
138
+ var formData = new FormData();
139
+ formData.append(settings.name, file);
140
+
141
+ xmlHttpRequest.send(formData);
142
+
143
+ }
144
+ }
145
+
146
+ };
147
+
148
+ })(jQuery);
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: crowdblog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.16
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2012-08-30 00:00:00.000000000 Z
16
+ date: 2012-10-07 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: rails
@@ -31,38 +31,6 @@ dependencies:
31
31
  - - ~>
32
32
  - !ruby/object:Gem::Version
33
33
  version: '3.2'
34
- - !ruby/object:Gem::Dependency
35
- name: jquery-rails
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: backbone-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
34
  - !ruby/object:Gem::Dependency
67
35
  name: carrierwave
68
36
  requirement: !ruby/object:Gem::Requirement
@@ -96,7 +64,7 @@ dependencies:
96
64
  - !ruby/object:Gem::Version
97
65
  version: '0'
98
66
  - !ruby/object:Gem::Dependency
99
- name: eco
67
+ name: gravtastic
100
68
  requirement: !ruby/object:Gem::Requirement
101
69
  none: false
102
70
  requirements:
@@ -112,7 +80,7 @@ dependencies:
112
80
  - !ruby/object:Gem::Version
113
81
  version: '0'
114
82
  - !ruby/object:Gem::Dependency
115
- name: gravtastic
83
+ name: jquery-rails
116
84
  requirement: !ruby/object:Gem::Requirement
117
85
  none: false
118
86
  requirements:
@@ -128,7 +96,7 @@ dependencies:
128
96
  - !ruby/object:Gem::Version
129
97
  version: '0'
130
98
  - !ruby/object:Gem::Dependency
131
- name: less-rails-bootstrap
99
+ name: jbuilder
132
100
  requirement: !ruby/object:Gem::Requirement
133
101
  none: false
134
102
  requirements:
@@ -160,7 +128,7 @@ dependencies:
160
128
  - !ruby/object:Gem::Version
161
129
  version: '0'
162
130
  - !ruby/object:Gem::Dependency
163
- name: slim_assets
131
+ name: slim
164
132
  requirement: !ruby/object:Gem::Requirement
165
133
  none: false
166
134
  requirements:
@@ -176,7 +144,7 @@ dependencies:
176
144
  - !ruby/object:Gem::Version
177
145
  version: '0'
178
146
  - !ruby/object:Gem::Dependency
179
- name: slim-rails
147
+ name: state_machine
180
148
  requirement: !ruby/object:Gem::Requirement
181
149
  none: false
182
150
  requirements:
@@ -192,7 +160,7 @@ dependencies:
192
160
  - !ruby/object:Gem::Version
193
161
  version: '0'
194
162
  - !ruby/object:Gem::Dependency
195
- name: state_machine
163
+ name: strong_parameters
196
164
  requirement: !ruby/object:Gem::Requirement
197
165
  none: false
198
166
  requirements:
@@ -223,38 +191,6 @@ dependencies:
223
191
  - - ! '>='
224
192
  - !ruby/object:Gem::Version
225
193
  version: '0'
226
- - !ruby/object:Gem::Dependency
227
- name: cucumber-ajaxer
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
- - !ruby/object:Gem::Dependency
243
- name: cucumber-rails
244
- requirement: !ruby/object:Gem::Requirement
245
- none: false
246
- requirements:
247
- - - ! '>='
248
- - !ruby/object:Gem::Version
249
- version: '0'
250
- type: :development
251
- prerelease: false
252
- version_requirements: !ruby/object:Gem::Requirement
253
- none: false
254
- requirements:
255
- - - ! '>='
256
- - !ruby/object:Gem::Version
257
- version: '0'
258
194
  - !ruby/object:Gem::Dependency
259
195
  name: database_cleaner
260
196
  requirement: !ruby/object:Gem::Requirement
@@ -271,38 +207,6 @@ dependencies:
271
207
  - - ! '>='
272
208
  - !ruby/object:Gem::Version
273
209
  version: '0'
274
- - !ruby/object:Gem::Dependency
275
- name: fabrication
276
- requirement: !ruby/object:Gem::Requirement
277
- none: false
278
- requirements:
279
- - - ! '>='
280
- - !ruby/object:Gem::Version
281
- version: '0'
282
- type: :development
283
- prerelease: false
284
- version_requirements: !ruby/object:Gem::Requirement
285
- none: false
286
- requirements:
287
- - - ! '>='
288
- - !ruby/object:Gem::Version
289
- version: '0'
290
- - !ruby/object:Gem::Dependency
291
- name: faker
292
- requirement: !ruby/object:Gem::Requirement
293
- none: false
294
- requirements:
295
- - - ! '>='
296
- - !ruby/object:Gem::Version
297
- version: '0'
298
- type: :development
299
- prerelease: false
300
- version_requirements: !ruby/object:Gem::Requirement
301
- none: false
302
- requirements:
303
- - - ! '>='
304
- - !ruby/object:Gem::Version
305
- version: '0'
306
210
  - !ruby/object:Gem::Dependency
307
211
  name: fuubar
308
212
  requirement: !ruby/object:Gem::Requirement
@@ -319,38 +223,6 @@ dependencies:
319
223
  - - ! '>='
320
224
  - !ruby/object:Gem::Version
321
225
  version: '0'
322
- - !ruby/object:Gem::Dependency
323
- name: fuubar-cucumber
324
- requirement: !ruby/object:Gem::Requirement
325
- none: false
326
- requirements:
327
- - - ! '>='
328
- - !ruby/object:Gem::Version
329
- version: '0'
330
- type: :development
331
- prerelease: false
332
- version_requirements: !ruby/object:Gem::Requirement
333
- none: false
334
- requirements:
335
- - - ! '>='
336
- - !ruby/object:Gem::Version
337
- version: '0'
338
- - !ruby/object:Gem::Dependency
339
- name: headless
340
- requirement: !ruby/object:Gem::Requirement
341
- none: false
342
- requirements:
343
- - - ! '>='
344
- - !ruby/object:Gem::Version
345
- version: '0'
346
- type: :development
347
- prerelease: false
348
- version_requirements: !ruby/object:Gem::Requirement
349
- none: false
350
- requirements:
351
- - - ! '>='
352
- - !ruby/object:Gem::Version
353
- version: '0'
354
226
  - !ruby/object:Gem::Dependency
355
227
  name: rspec-rails
356
228
  requirement: !ruby/object:Gem::Requirement
@@ -433,7 +305,6 @@ files:
433
305
  - .simplecov
434
306
  - .travis.yml
435
307
  - Gemfile
436
- - Gemfile.lock
437
308
  - MIT-LICENSE
438
309
  - README.md
439
310
  - Rakefile
@@ -441,21 +312,15 @@ files:
441
312
  - app/assets/images/crowdblog/logo.png
442
313
  - app/assets/javascripts/crowdblog.js
443
314
  - app/assets/javascripts/crowdblog/models/post.js.coffee
444
- - app/assets/javascripts/crowdblog/posts_main.js.coffee
445
- - app/assets/javascripts/crowdblog/templates/posts/attachment.jst.eco.slim
446
- - app/assets/javascripts/crowdblog/templates/posts/edit.jst.eco.slim
447
- - app/assets/javascripts/crowdblog/templates/posts/index.jst.eco.slim
448
- - app/assets/javascripts/crowdblog/templates/posts/post.jst.eco.slim
449
- - app/assets/javascripts/crowdblog/views/posts/attachment_view.js.coffee
450
- - app/assets/javascripts/crowdblog/views/posts/edit_post_view.js.coffee
451
- - app/assets/javascripts/crowdblog/views/posts/index.js.coffee
452
- - app/assets/javascripts/crowdblog/views/posts/post_view.js.coffee
453
- - app/assets/javascripts/crowdblog/xhr_fix.js.coffee
315
+ - app/assets/javascripts/crowdblog/views/attachment_view.js.coffee
316
+ - app/assets/javascripts/crowdblog/views/post_form_view.js.coffee
317
+ - app/assets/javascripts/crowdblog/views/post_view.js.coffee
454
318
  - app/assets/stylesheets/crowdblog.css
455
319
  - app/assets/stylesheets/crowdblog/posts.css.scss
320
+ - app/controllers/crowdblog/application_controller.rb
456
321
  - app/controllers/crowdblog/assets_controller.rb
457
322
  - app/controllers/crowdblog/authors_controller.rb
458
- - app/controllers/crowdblog/controller.rb
323
+ - app/controllers/crowdblog/devise/sessions_controller.rb
459
324
  - app/controllers/crowdblog/posts_controller.rb
460
325
  - app/helpers/crowdblog/application_helper.rb
461
326
  - app/models/crowdblog/asset.rb
@@ -463,31 +328,33 @@ files:
463
328
  - app/models/crowdblog/user.rb
464
329
  - app/sweepers/post_sweeper.rb
465
330
  - app/uploaders/attachment_uploader.rb
331
+ - app/views/crowdblog/application/_navbar.html.slim
332
+ - app/views/crowdblog/application/_notices.html.slim
466
333
  - app/views/crowdblog/authors/index.html.slim
334
+ - app/views/crowdblog/devise/_links.erb
335
+ - app/views/crowdblog/devise/sessions/new.html.erb
336
+ - app/views/crowdblog/posts/_form.html.slim
337
+ - app/views/crowdblog/posts/_post.html.slim
338
+ - app/views/crowdblog/posts/edit.html.slim
467
339
  - app/views/crowdblog/posts/index.html.slim
468
- - app/views/layouts/crowdblog/crowdblog.html.slim
340
+ - app/views/crowdblog/posts/new.html.slim
341
+ - app/views/crowdblog/posts/update.json.jbuilder
342
+ - app/views/layouts/crowdblog/application.html.slim
469
343
  - config/cucumber.yml
344
+ - config/initializers/date_formats.rb
345
+ - config/initializers/devise.rb
346
+ - config/locales/devise.en.yml
470
347
  - config/routes.rb
471
348
  - crowdblog.gemspec
472
- - db/migrate/20120215232711_create_users.rb
473
- - db/migrate/20120216154516_add_devise_to_users.rb
474
- - db/migrate/20120217213920_create_posts.rb
475
- - db/migrate/20120219014520_add_author_to_posts.rb
476
- - db/migrate/20120219040607_add_state_to_post.rb
477
- - db/migrate/20120219071614_create_assets.rb
478
- - db/migrate/20120219234253_add_alias_to_users.rb
349
+ - db/migrate/20120215232711_create_crowdblog_users.rb
350
+ - db/migrate/20120217213920_create_crowdblog_posts.rb
351
+ - db/migrate/20120219071614_create_crowdblog_assets.rb
479
352
  - db/migrate/20120220033923_create_vestal_versions.rb
480
- - db/migrate/20120229160314_add_review_fields_to_post.rb
481
- - features/posts/listing.feature
482
- - features/posts/manage.feature
483
- - features/posts/publish.feature
484
- - features/step_definitions/global_steps.rb
485
- - features/step_definitions/navigation_steps.rb
486
- - features/step_definitions/posts_steps.rb
487
- - features/step_definitions/review_steps.rb
488
- - features/support/env.rb
489
353
  - lib/crowdblog.rb
354
+ - lib/crowdblog/devise/failure_app.rb
490
355
  - lib/crowdblog/engine.rb
356
+ - lib/crowdblog/rspec.rb
357
+ - lib/crowdblog/rspec/crowdblog_shared_examples.rb
491
358
  - lib/crowdblog/version.rb
492
359
  - lib/tasks/crowdblog_tasks.rake
493
360
  - script/build
@@ -505,7 +372,6 @@ files:
505
372
  - spec/dummy/app/helpers/application_helper.rb
506
373
  - spec/dummy/app/mailers/.gitkeep
507
374
  - spec/dummy/app/models/.gitkeep
508
- - spec/dummy/app/models/user.rb
509
375
  - spec/dummy/app/views/home/show.html.slim
510
376
  - spec/dummy/app/views/layouts/application.html.erb
511
377
  - spec/dummy/config.ru
@@ -528,6 +394,7 @@ files:
528
394
  - spec/dummy/config/locales/en.yml
529
395
  - spec/dummy/config/routes.rb
530
396
  - spec/dummy/db/schema.rb
397
+ - spec/dummy/db/seed.rb
531
398
  - spec/dummy/lib/assets/.gitkeep
532
399
  - spec/dummy/lib/tasks/cucumber.rake
533
400
  - spec/dummy/log/.gitkeep
@@ -536,16 +403,15 @@ files:
536
403
  - spec/dummy/public/500.html
537
404
  - spec/dummy/public/favicon.ico
538
405
  - spec/dummy/script/rails
539
- - spec/fabricators/posts_fabricator.rb
540
- - spec/fabricators/users_fabricator.rb
541
406
  - spec/helpers/application_helper_spec.rb
407
+ - spec/integration/crowdblog_spec.rb
542
408
  - spec/models/post_spec.rb
543
409
  - spec/models/user_spec.rb
544
410
  - spec/spec_helper.rb
411
+ - vendor/assets/javascripts/backbone_rails_sync.js
545
412
  - vendor/assets/javascripts/jquery.uploadify.js
546
413
  - vendor/assets/javascripts/markdown.js
547
- - vendor/assets/javascripts/swfobject.js
548
- - vendor/assets/swf/uploadify.swf
414
+ - vendor/assets/javascripts/uploader/jquery.html5uploader.js
549
415
  homepage: http://github.com/crowdint/crowdblog
550
416
  licenses: []
551
417
  post_install_message:
@@ -561,7 +427,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
561
427
  version: '0'
562
428
  segments:
563
429
  - 0
564
- hash: -3137263056640920855
430
+ hash: 3197733366074893861
565
431
  required_rubygems_version: !ruby/object:Gem::Requirement
566
432
  none: false
567
433
  requirements:
@@ -570,7 +436,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
570
436
  version: '0'
571
437
  segments:
572
438
  - 0
573
- hash: -3137263056640920855
439
+ hash: 3197733366074893861
574
440
  requirements: []
575
441
  rubyforge_project:
576
442
  rubygems_version: 1.8.23
@@ -578,14 +444,6 @@ signing_key:
578
444
  specification_version: 3
579
445
  summary: CrowdBlog base functionality and backend
580
446
  test_files:
581
- - features/posts/listing.feature
582
- - features/posts/manage.feature
583
- - features/posts/publish.feature
584
- - features/step_definitions/global_steps.rb
585
- - features/step_definitions/navigation_steps.rb
586
- - features/step_definitions/posts_steps.rb
587
- - features/step_definitions/review_steps.rb
588
- - features/support/env.rb
589
447
  - spec/dummy/.rvmrc
590
448
  - spec/dummy/README.rdoc
591
449
  - spec/dummy/Rakefile
@@ -598,7 +456,6 @@ test_files:
598
456
  - spec/dummy/app/helpers/application_helper.rb
599
457
  - spec/dummy/app/mailers/.gitkeep
600
458
  - spec/dummy/app/models/.gitkeep
601
- - spec/dummy/app/models/user.rb
602
459
  - spec/dummy/app/views/home/show.html.slim
603
460
  - spec/dummy/app/views/layouts/application.html.erb
604
461
  - spec/dummy/config.ru
@@ -621,6 +478,7 @@ test_files:
621
478
  - spec/dummy/config/locales/en.yml
622
479
  - spec/dummy/config/routes.rb
623
480
  - spec/dummy/db/schema.rb
481
+ - spec/dummy/db/seed.rb
624
482
  - spec/dummy/lib/assets/.gitkeep
625
483
  - spec/dummy/lib/tasks/cucumber.rake
626
484
  - spec/dummy/log/.gitkeep
@@ -629,9 +487,8 @@ test_files:
629
487
  - spec/dummy/public/500.html
630
488
  - spec/dummy/public/favicon.ico
631
489
  - spec/dummy/script/rails
632
- - spec/fabricators/posts_fabricator.rb
633
- - spec/fabricators/users_fabricator.rb
634
490
  - spec/helpers/application_helper_spec.rb
491
+ - spec/integration/crowdblog_spec.rb
635
492
  - spec/models/post_spec.rb
636
493
  - spec/models/user_spec.rb
637
494
  - spec/spec_helper.rb