media_magick 0.2.0 → 0.3.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 (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