media_magick 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. data/.gitignore +2 -1
  2. data/CHANGELOG.md +53 -1
  3. data/Gemfile +0 -2
  4. data/Guardfile +5 -0
  5. data/LICENSE +1 -1
  6. data/README.md +32 -22
  7. data/Rakefile +1 -13
  8. data/app/assets/javascripts/media_magick/plupload_it.js +54 -45
  9. data/app/controllers/media_magick/attach_controller.rb +6 -6
  10. data/app/helpers/media_magick/application_helper.rb +58 -48
  11. data/app/views/_loader.html.erb +14 -0
  12. data/app/views/_uploader.html.erb +13 -0
  13. data/app/views/_video_uploader.html.erb +2 -0
  14. data/config/locales/en.yml +1 -0
  15. data/gemfiles/mongoid-3.0.gemfile +1 -2
  16. data/lib/media_magick.rb +1 -1
  17. data/lib/media_magick/controller/helpers.rb +25 -5
  18. data/lib/media_magick/engine.rb +1 -1
  19. data/lib/media_magick/image/dimensions.rb +23 -0
  20. data/lib/media_magick/model.rb +22 -5
  21. data/lib/media_magick/version.rb +2 -2
  22. data/media_magick.gemspec +10 -13
  23. data/spec/controllers/media_magick/attach_controller_spec.rb +35 -21
  24. data/spec/dummy/app/assets/javascripts/store/products.js +2 -0
  25. data/spec/dummy/app/assets/stylesheets/store/products.css +4 -0
  26. data/spec/dummy/app/controllers/store/products_controller.rb +83 -0
  27. data/spec/dummy/app/helpers/store/products_helper.rb +2 -0
  28. data/spec/dummy/app/models/post.rb +1 -0
  29. data/spec/dummy/app/models/store/product.rb +10 -0
  30. data/spec/dummy/app/models/user.rb +3 -2
  31. data/spec/dummy/app/uploaders/post_uploader.rb +11 -3
  32. data/spec/dummy/app/views/posts/_form.html.erb +16 -5
  33. data/spec/dummy/app/views/posts/index.html.erb +1 -1
  34. data/spec/dummy/app/views/store/products/_form.html.erb +34 -0
  35. data/spec/dummy/app/views/store/products/edit.html.erb +6 -0
  36. data/spec/dummy/app/views/store/products/index.html.erb +21 -0
  37. data/spec/dummy/app/views/store/products/new.html.erb +5 -0
  38. data/spec/dummy/app/views/store/products/show.html.erb +5 -0
  39. data/spec/dummy/config/boot.rb +1 -1
  40. data/spec/dummy/config/environments/development.rb +2 -1
  41. data/spec/dummy/config/routes.rb +5 -0
  42. data/spec/fixtures/example.jpg +0 -0
  43. data/spec/helpers/media_magick/application_helper_spec.rb +86 -33
  44. data/spec/lib/media_magick/controller/helper_spec.rb +40 -15
  45. data/spec/lib/media_magick/image/dimensions_spec.rb +62 -0
  46. data/spec/lib/media_magick/model_spec.rb +9 -3
  47. data/spec/views/_upload.html.erb_spec.rb +3 -3
  48. data/tmp/rspec_guard_result +1 -0
  49. metadata +52 -48
  50. data/app/views/_file.html.erb +0 -6
  51. data/app/views/_image.html.erb +0 -6
  52. data/app/views/_upload.html.erb +0 -12
  53. data/app/views/_video.html.erb +0 -8
@@ -0,0 +1,62 @@
1
+ # encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+
5
+ describe MediaMagick::Image::Dimensions do
6
+ let!(:post) { Post.create }
7
+
8
+ context "without image file" do
9
+ describe "getting dimensions from original size" do
10
+ it "should return width and height equal 0" do
11
+ image = post.images.create
12
+ image.size.should eq({"width" => 0, "height" => 0})
13
+ end
14
+ end
15
+
16
+ describe "getting dimensions from thumb size" do
17
+ it "should return width and height equal 0" do
18
+ image = post.images.create
19
+ image.thumb.size.should eq({"width" => 0, "height" => 0})
20
+ end
21
+ end
22
+ end
23
+
24
+ context "with image file" do
25
+ describe "getting dimensions" do
26
+ let(:file) { File.open(File.expand_path("../fixtures/example.jpg", Rails.root)) }
27
+ let!(:image) { post.images.create(image: file) }
28
+ let(:sizes) {
29
+ { "_original" => {"width" => 960, "height" => 544},
30
+ "thumb" => {"width" => 240, "height" => 136},
31
+ "big" => {"width" => 863, "height" => 489}
32
+ }
33
+ }
34
+
35
+ it "should return width and height of file" do
36
+ image.size.should eq(sizes["_original"])
37
+ end
38
+
39
+ describe "versions" do
40
+ it "should return width and height for thumb version" do
41
+ image.thumb.size.should eq(sizes["thumb"])
42
+ end
43
+
44
+ it "should return width and height for big version" do
45
+ image.big.size.should eq(sizes["big"])
46
+ end
47
+
48
+ describe "persistence" do
49
+ before do
50
+ image.size
51
+ image.thumb.size
52
+ image.big.size
53
+ end
54
+
55
+ it "should store dimenions for all versions" do
56
+ image.dimensions.should eq(sizes)
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
@@ -32,10 +32,17 @@ describe MediaMagick::Model do
32
32
  end
33
33
 
34
34
  describe "naming relations" do
35
- it "should transform related compound name classes to camel case" do
35
+ it "transforms related compound name classes to camel case" do
36
36
  @instance.should respond_to(:compound_name_files)
37
37
  @instance.compound_name_files.build.class.should eq(AlbumCompoundNameFiles)
38
38
  end
39
+
40
+ context "when model is inside a module" do
41
+ it "creates the embedded class inside model scope" do
42
+ product = Store::Product.new
43
+ product.images.build.class.should eq(Store::ProductImages)
44
+ end
45
+ end
39
46
  end
40
47
 
41
48
  describe 'allow_videos' do
@@ -163,5 +170,4 @@ describe MediaMagick::Model do
163
170
  end
164
171
 
165
172
  end
166
-
167
- end
173
+ end
@@ -8,17 +8,17 @@ describe '_upload' do
8
8
  { newAttachments: {}, loadedAttachments: {}, partial: '/image', model: album, relations: 'photos' }
9
9
  end
10
10
 
11
- it 'should personalize css classes attributes of newAttachments element' do
11
+ xit 'should personalize css classes attributes of newAttachments element' do
12
12
  render 'upload', default_attributes.merge(newAttachments: { class: 'thumbnails' })
13
13
  rendered.should =~ /<div class="newAttachments thumbnails">/
14
14
  end
15
15
 
16
- it 'should personalize css classes attributes of loadedAttachments element' do
16
+ xit 'should personalize css classes attributes of loadedAttachments element' do
17
17
  render 'upload', default_attributes.merge(loadedAttachments: { class: 'span3' })
18
18
  rendered.should =~ /<ul class="loadedAttachments span3">/
19
19
  end
20
20
 
21
- it 'should render the partial passed' do
21
+ xit 'should render the partial passed' do
22
22
  stub_template 'albums/_photo' => 'my partial'
23
23
  render 'upload', default_attributes.merge(model: album_with_photos, partial: 'albums/photo')
24
24
  rendered.should =~ /my partial/
@@ -0,0 +1 @@
1
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: media_magick
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-11-19 00:00:00.000000000 Z
14
+ date: 2013-07-01 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: carrierwave
@@ -20,7 +20,7 @@ dependencies:
20
20
  requirements:
21
21
  - - ~>
22
22
  - !ruby/object:Gem::Version
23
- version: 0.7.0
23
+ version: 0.8.0
24
24
  type: :runtime
25
25
  prerelease: false
26
26
  version_requirements: !ruby/object:Gem::Requirement
@@ -28,7 +28,7 @@ dependencies:
28
28
  requirements:
29
29
  - - ~>
30
30
  - !ruby/object:Gem::Version
31
- version: 0.7.0
31
+ version: 0.8.0
32
32
  - !ruby/object:Gem::Dependency
33
33
  name: mongoid
34
34
  requirement: !ruby/object:Gem::Requirement
@@ -36,7 +36,7 @@ dependencies:
36
36
  requirements:
37
37
  - - ! '>='
38
38
  - !ruby/object:Gem::Version
39
- version: '2.4'
39
+ version: 2.7.0
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
@@ -44,7 +44,7 @@ dependencies:
44
44
  requirements:
45
45
  - - ! '>='
46
46
  - !ruby/object:Gem::Version
47
- version: '2.4'
47
+ version: 2.7.0
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: plupload-rails
50
50
  requirement: !ruby/object:Gem::Requirement
@@ -77,22 +77,6 @@ dependencies:
77
77
  - - ~>
78
78
  - !ruby/object:Gem::Version
79
79
  version: 3.2.0
80
- - !ruby/object:Gem::Dependency
81
- name: bson_ext
82
- requirement: !ruby/object:Gem::Requirement
83
- none: false
84
- requirements:
85
- - - ~>
86
- - !ruby/object:Gem::Version
87
- version: 1.7.0
88
- type: :development
89
- prerelease: false
90
- version_requirements: !ruby/object:Gem::Requirement
91
- none: false
92
- requirements:
93
- - - ~>
94
- - !ruby/object:Gem::Version
95
- version: 1.7.0
96
80
  - !ruby/object:Gem::Dependency
97
81
  name: mini_magick
98
82
  requirement: !ruby/object:Gem::Requirement
@@ -100,15 +84,15 @@ dependencies:
100
84
  requirements:
101
85
  - - ~>
102
86
  - !ruby/object:Gem::Version
103
- version: '3.4'
104
- type: :development
87
+ version: 3.6.0
88
+ type: :runtime
105
89
  prerelease: false
106
90
  version_requirements: !ruby/object:Gem::Requirement
107
91
  none: false
108
92
  requirements:
109
93
  - - ~>
110
94
  - !ruby/object:Gem::Version
111
- version: '3.4'
95
+ version: 3.6.0
112
96
  - !ruby/object:Gem::Dependency
113
97
  name: rake
114
98
  requirement: !ruby/object:Gem::Requirement
@@ -116,7 +100,7 @@ dependencies:
116
100
  requirements:
117
101
  - - ~>
118
102
  - !ruby/object:Gem::Version
119
- version: '0.9'
103
+ version: 10.1.0
120
104
  type: :development
121
105
  prerelease: false
122
106
  version_requirements: !ruby/object:Gem::Requirement
@@ -124,7 +108,7 @@ dependencies:
124
108
  requirements:
125
109
  - - ~>
126
110
  - !ruby/object:Gem::Version
127
- version: '0.9'
111
+ version: 10.1.0
128
112
  - !ruby/object:Gem::Dependency
129
113
  name: rspec-rails
130
114
  requirement: !ruby/object:Gem::Requirement
@@ -132,7 +116,7 @@ dependencies:
132
116
  requirements:
133
117
  - - ~>
134
118
  - !ruby/object:Gem::Version
135
- version: 2.11.0
119
+ version: 2.13.2
136
120
  type: :development
137
121
  prerelease: false
138
122
  version_requirements: !ruby/object:Gem::Requirement
@@ -140,7 +124,7 @@ dependencies:
140
124
  requirements:
141
125
  - - ~>
142
126
  - !ruby/object:Gem::Version
143
- version: 2.11.0
127
+ version: 2.13.2
144
128
  - !ruby/object:Gem::Dependency
145
129
  name: simplecov
146
130
  requirement: !ruby/object:Gem::Requirement
@@ -148,7 +132,7 @@ dependencies:
148
132
  requirements:
149
133
  - - ~>
150
134
  - !ruby/object:Gem::Version
151
- version: 0.7.0
135
+ version: 0.7.1
152
136
  type: :development
153
137
  prerelease: false
154
138
  version_requirements: !ruby/object:Gem::Requirement
@@ -156,15 +140,15 @@ dependencies:
156
140
  requirements:
157
141
  - - ~>
158
142
  - !ruby/object:Gem::Version
159
- version: 0.7.0
143
+ version: 0.7.1
160
144
  - !ruby/object:Gem::Dependency
161
- name: flog
145
+ name: guard-rspec
162
146
  requirement: !ruby/object:Gem::Requirement
163
147
  none: false
164
148
  requirements:
165
149
  - - ~>
166
150
  - !ruby/object:Gem::Version
167
- version: 3.0.0.b2
151
+ version: 3.0.2
168
152
  type: :development
169
153
  prerelease: false
170
154
  version_requirements: !ruby/object:Gem::Requirement
@@ -172,15 +156,15 @@ dependencies:
172
156
  requirements:
173
157
  - - ~>
174
158
  - !ruby/object:Gem::Version
175
- version: 3.0.0.b2
159
+ version: 3.0.2
176
160
  - !ruby/object:Gem::Dependency
177
- name: flay
161
+ name: rb-fsevent
178
162
  requirement: !ruby/object:Gem::Requirement
179
163
  none: false
180
164
  requirements:
181
165
  - - ~>
182
166
  - !ruby/object:Gem::Version
183
- version: 2.0.0.b1
167
+ version: 0.9.3
184
168
  type: :development
185
169
  prerelease: false
186
170
  version_requirements: !ruby/object:Gem::Requirement
@@ -188,7 +172,7 @@ dependencies:
188
172
  requirements:
189
173
  - - ~>
190
174
  - !ruby/object:Gem::Version
191
- version: 2.0.0.b1
175
+ version: 0.9.3
192
176
  description: MediaMagick aims to make dealing with multimedia resources a very easy
193
177
  task – like magic.
194
178
  email:
@@ -204,6 +188,7 @@ files:
204
188
  - .travis.yml
205
189
  - CHANGELOG.md
206
190
  - Gemfile
191
+ - Guardfile
207
192
  - LICENSE
208
193
  - README.md
209
194
  - Rakefile
@@ -215,10 +200,9 @@ files:
215
200
  - app/controllers/media_magick/application_controller.rb
216
201
  - app/controllers/media_magick/attach_controller.rb
217
202
  - app/helpers/media_magick/application_helper.rb
218
- - app/views/_file.html.erb
219
- - app/views/_image.html.erb
220
- - app/views/_upload.html.erb
221
- - app/views/_video.html.erb
203
+ - app/views/_loader.html.erb
204
+ - app/views/_uploader.html.erb
205
+ - app/views/_video_uploader.html.erb
222
206
  - app/views/layouts/media_magick/application.html.erb
223
207
  - config/locales/en.yml
224
208
  - config/locales/pt-BR.yml
@@ -229,6 +213,7 @@ files:
229
213
  - lib/media_magick/attachment_uploader.rb
230
214
  - lib/media_magick/controller/helpers.rb
231
215
  - lib/media_magick/engine.rb
216
+ - lib/media_magick/image/dimensions.rb
232
217
  - lib/media_magick/model.rb
233
218
  - lib/media_magick/version.rb
234
219
  - lib/media_magick/video/parser.rb
@@ -240,20 +225,25 @@ files:
240
225
  - spec/dummy/Rakefile
241
226
  - spec/dummy/app/assets/javascripts/application.js
242
227
  - spec/dummy/app/assets/javascripts/posts.js
228
+ - spec/dummy/app/assets/javascripts/store/products.js
243
229
  - spec/dummy/app/assets/javascripts/users.js
244
230
  - spec/dummy/app/assets/stylesheets/application.css
245
231
  - spec/dummy/app/assets/stylesheets/posts.css
246
232
  - spec/dummy/app/assets/stylesheets/scaffold.css
233
+ - spec/dummy/app/assets/stylesheets/store/products.css
247
234
  - spec/dummy/app/assets/stylesheets/users.css
248
235
  - spec/dummy/app/controllers/application_controller.rb
249
236
  - spec/dummy/app/controllers/posts_controller.rb
237
+ - spec/dummy/app/controllers/store/products_controller.rb
250
238
  - spec/dummy/app/controllers/users_controller.rb
251
239
  - spec/dummy/app/helpers/application_helper.rb
252
240
  - spec/dummy/app/helpers/posts_helper.rb
241
+ - spec/dummy/app/helpers/store/products_helper.rb
253
242
  - spec/dummy/app/mailers/.gitkeep
254
243
  - spec/dummy/app/models/album.rb
255
244
  - spec/dummy/app/models/post.rb
256
245
  - spec/dummy/app/models/product.rb
246
+ - spec/dummy/app/models/store/product.rb
257
247
  - spec/dummy/app/models/track.rb
258
248
  - spec/dummy/app/models/user.rb
259
249
  - spec/dummy/app/uploaders/picture_uploader.rb
@@ -265,6 +255,11 @@ files:
265
255
  - spec/dummy/app/views/posts/index.html.erb
266
256
  - spec/dummy/app/views/posts/new.html.erb
267
257
  - spec/dummy/app/views/posts/show.html.erb
258
+ - spec/dummy/app/views/store/products/_form.html.erb
259
+ - spec/dummy/app/views/store/products/edit.html.erb
260
+ - spec/dummy/app/views/store/products/index.html.erb
261
+ - spec/dummy/app/views/store/products/new.html.erb
262
+ - spec/dummy/app/views/store/products/show.html.erb
268
263
  - spec/dummy/app/views/users/_form.html.erb
269
264
  - spec/dummy/app/views/users/edit.html.erb
270
265
  - spec/dummy/app/views/users/index.html.erb
@@ -293,9 +288,11 @@ files:
293
288
  - spec/dummy/public/500.html
294
289
  - spec/dummy/public/favicon.ico
295
290
  - spec/dummy/script/rails
291
+ - spec/fixtures/example.jpg
296
292
  - spec/helpers/media_magick/application_helper_spec.rb
297
293
  - spec/integration/images_spec.rb
298
294
  - spec/lib/media_magick/controller/helper_spec.rb
295
+ - spec/lib/media_magick/image/dimensions_spec.rb
299
296
  - spec/lib/media_magick/model_spec.rb
300
297
  - spec/lib/media_magick/video/parser_spec.rb
301
298
  - spec/routing/attach_spec.rb
@@ -303,6 +300,7 @@ files:
303
300
  - spec/support/fixtures/nu.jpg
304
301
  - spec/support/fixtures/nu.txt
305
302
  - spec/views/_upload.html.erb_spec.rb
303
+ - tmp/rspec_guard_result
306
304
  homepage: https://github.com/nudesign/media_magick
307
305
  licenses: []
308
306
  post_install_message:
@@ -315,21 +313,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
315
313
  - - ! '>='
316
314
  - !ruby/object:Gem::Version
317
315
  version: '0'
318
- segments:
319
- - 0
320
- hash: 3292353886186385722
321
316
  required_rubygems_version: !ruby/object:Gem::Requirement
322
317
  none: false
323
318
  requirements:
324
319
  - - ! '>='
325
320
  - !ruby/object:Gem::Version
326
321
  version: '0'
327
- segments:
328
- - 0
329
- hash: 3292353886186385722
330
322
  requirements: []
331
323
  rubyforge_project:
332
- rubygems_version: 1.8.24
324
+ rubygems_version: 1.8.25
333
325
  signing_key:
334
326
  specification_version: 3
335
327
  summary: MediaMagick aims to make dealing with multimedia resources a very easy task
@@ -341,20 +333,25 @@ test_files:
341
333
  - spec/dummy/Rakefile
342
334
  - spec/dummy/app/assets/javascripts/application.js
343
335
  - spec/dummy/app/assets/javascripts/posts.js
336
+ - spec/dummy/app/assets/javascripts/store/products.js
344
337
  - spec/dummy/app/assets/javascripts/users.js
345
338
  - spec/dummy/app/assets/stylesheets/application.css
346
339
  - spec/dummy/app/assets/stylesheets/posts.css
347
340
  - spec/dummy/app/assets/stylesheets/scaffold.css
341
+ - spec/dummy/app/assets/stylesheets/store/products.css
348
342
  - spec/dummy/app/assets/stylesheets/users.css
349
343
  - spec/dummy/app/controllers/application_controller.rb
350
344
  - spec/dummy/app/controllers/posts_controller.rb
345
+ - spec/dummy/app/controllers/store/products_controller.rb
351
346
  - spec/dummy/app/controllers/users_controller.rb
352
347
  - spec/dummy/app/helpers/application_helper.rb
353
348
  - spec/dummy/app/helpers/posts_helper.rb
349
+ - spec/dummy/app/helpers/store/products_helper.rb
354
350
  - spec/dummy/app/mailers/.gitkeep
355
351
  - spec/dummy/app/models/album.rb
356
352
  - spec/dummy/app/models/post.rb
357
353
  - spec/dummy/app/models/product.rb
354
+ - spec/dummy/app/models/store/product.rb
358
355
  - spec/dummy/app/models/track.rb
359
356
  - spec/dummy/app/models/user.rb
360
357
  - spec/dummy/app/uploaders/picture_uploader.rb
@@ -366,6 +363,11 @@ test_files:
366
363
  - spec/dummy/app/views/posts/index.html.erb
367
364
  - spec/dummy/app/views/posts/new.html.erb
368
365
  - spec/dummy/app/views/posts/show.html.erb
366
+ - spec/dummy/app/views/store/products/_form.html.erb
367
+ - spec/dummy/app/views/store/products/edit.html.erb
368
+ - spec/dummy/app/views/store/products/index.html.erb
369
+ - spec/dummy/app/views/store/products/new.html.erb
370
+ - spec/dummy/app/views/store/products/show.html.erb
369
371
  - spec/dummy/app/views/users/_form.html.erb
370
372
  - spec/dummy/app/views/users/edit.html.erb
371
373
  - spec/dummy/app/views/users/index.html.erb
@@ -394,9 +396,11 @@ test_files:
394
396
  - spec/dummy/public/500.html
395
397
  - spec/dummy/public/favicon.ico
396
398
  - spec/dummy/script/rails
399
+ - spec/fixtures/example.jpg
397
400
  - spec/helpers/media_magick/application_helper_spec.rb
398
401
  - spec/integration/images_spec.rb
399
402
  - spec/lib/media_magick/controller/helper_spec.rb
403
+ - spec/lib/media_magick/image/dimensions_spec.rb
400
404
  - spec/lib/media_magick/model_spec.rb
401
405
  - spec/lib/media_magick/video/parser_spec.rb
402
406
  - spec/routing/attach_spec.rb