dragonfly 0.7.7 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of dragonfly might be problematic. Click here for more details.

Files changed (67) hide show
  1. data/Gemfile +1 -1
  2. data/Gemfile.rails.2.3.5 +0 -1
  3. data/History.md +12 -0
  4. data/README.md +4 -2
  5. data/VERSION +1 -1
  6. data/config.ru +1 -1
  7. data/dragonfly.gemspec +256 -179
  8. data/extra_docs/Analysers.md +15 -6
  9. data/extra_docs/Configuration.md +13 -2
  10. data/extra_docs/Encoding.md +20 -7
  11. data/extra_docs/GeneralUsage.md +8 -5
  12. data/extra_docs/Generators.md +17 -7
  13. data/extra_docs/Heroku.md +1 -2
  14. data/extra_docs/MimeTypes.md +1 -1
  15. data/extra_docs/Models.md +1 -1
  16. data/extra_docs/Mongo.md +2 -2
  17. data/extra_docs/Processing.md +15 -7
  18. data/extra_docs/Rack.md +2 -3
  19. data/extra_docs/Rails2.md +2 -3
  20. data/extra_docs/Rails3.md +2 -3
  21. data/extra_docs/Sinatra.md +2 -2
  22. data/extra_docs/URLs.md +6 -4
  23. data/features/3.0.3.feature +8 -0
  24. data/features/steps/rails_steps.rb +2 -2
  25. data/features/support/env.rb +1 -1
  26. data/fixtures/files/app/views/albums/new.html.erb +4 -4
  27. data/fixtures/rails_2.3.5/template.rb +0 -1
  28. data/fixtures/{rails_3.0.0 → rails_3.0.3}/template.rb +0 -1
  29. data/irbrc.rb +1 -1
  30. data/lib/dragonfly/analysis/image_magick_analyser.rb +47 -0
  31. data/lib/dragonfly/app.rb +2 -0
  32. data/lib/dragonfly/config/image_magick.rb +41 -0
  33. data/lib/dragonfly/data_storage/file_data_store.rb +4 -2
  34. data/lib/dragonfly/data_storage/s3data_store.rb +7 -3
  35. data/lib/dragonfly/encoding/image_magick_encoder.rb +57 -0
  36. data/lib/dragonfly/generation/hash_with_css_style_keys.rb +23 -0
  37. data/lib/dragonfly/generation/image_magick_generator.rb +140 -0
  38. data/lib/dragonfly/generation/r_magick_generator.rb +0 -18
  39. data/lib/dragonfly/image_magick_utils.rb +81 -0
  40. data/lib/dragonfly/processing/image_magick_processor.rb +99 -0
  41. data/lib/dragonfly/rails/images.rb +1 -1
  42. data/lib/dragonfly/temp_object.rb +7 -6
  43. data/spec/dragonfly/analysis/image_magick_analyser_spec.rb +15 -0
  44. data/spec/dragonfly/analysis/r_magick_analyser_spec.rb +5 -49
  45. data/spec/dragonfly/analysis/shared_analyser_spec.rb +51 -0
  46. data/spec/dragonfly/app_spec.rb +2 -0
  47. data/spec/dragonfly/data_storage/data_store_spec.rb +6 -0
  48. data/spec/dragonfly/data_storage/file_data_store_spec.rb +1 -1
  49. data/spec/dragonfly/data_storage/s3_data_store_spec.rb +11 -1
  50. data/spec/dragonfly/deprecation_spec.rb +2 -2
  51. data/spec/dragonfly/encoding/image_magick_encoder_spec.rb +41 -0
  52. data/spec/dragonfly/encoding/r_magick_encoder_spec.rb +3 -6
  53. data/spec/dragonfly/generation/hash_with_css_style_keys_spec.rb +24 -0
  54. data/spec/dragonfly/generation/image_magick_generator_spec.rb +12 -0
  55. data/spec/dragonfly/generation/r_magick_generator_spec.rb +12 -123
  56. data/spec/dragonfly/generation/shared_generator_spec.rb +91 -0
  57. data/spec/dragonfly/image_magick_utils_spec.rb +16 -0
  58. data/spec/dragonfly/processing/image_magick_processor_spec.rb +29 -0
  59. data/spec/dragonfly/processing/r_magick_processor_spec.rb +2 -212
  60. data/spec/dragonfly/processing/shared_processing_spec.rb +215 -0
  61. data/spec/image_matchers.rb +6 -0
  62. data/spec/spec_helper.rb +11 -0
  63. data/yard/templates/default/fulldoc/html/css/common.css +9 -2
  64. data/yard/templates/default/layout/html/layout.erb +12 -1
  65. metadata +310 -11
  66. data/.gitignore +0 -15
  67. data/features/rails_3.0.0.feature +0 -8
@@ -0,0 +1,215 @@
1
+ # NEEDS:
2
+ #
3
+ # @image
4
+ # @processor
5
+ #
6
+ describe "processing methods", :shared => true do
7
+
8
+ describe "resize" do
9
+
10
+ it "should work correctly with xNN" do
11
+ image = @processor.resize(@image, 'x30')
12
+ image.should have_width(24)
13
+ image.should have_height(30)
14
+ end
15
+
16
+ it "should work correctly with NNx" do
17
+ image = @processor.resize(@image, '30x')
18
+ image.should have_width(30)
19
+ image.should have_height(38)
20
+ end
21
+
22
+ it "should work correctly with NNxNN" do
23
+ image = @processor.resize(@image, '30x30')
24
+ image.should have_width(24)
25
+ image.should have_height(30)
26
+ end
27
+
28
+ it "should work correctly with NNxNN!" do
29
+ image = @processor.resize(@image, '30x30!')
30
+ image.should have_width(30)
31
+ image.should have_height(30)
32
+ end
33
+
34
+ it "should work correctly with NNxNN%" do
35
+ image = @processor.resize(@image, '25x50%')
36
+ image.should have_width(70)
37
+ image.should have_height(178)
38
+ end
39
+
40
+ describe "NNxNN>" do
41
+
42
+ it "should not resize if the image is smaller than specified" do
43
+ image = @processor.resize(@image, '1000x1000>')
44
+ image.should have_width(280)
45
+ image.should have_height(355)
46
+ end
47
+
48
+ it "should resize if the image is larger than specified" do
49
+ image = @processor.resize(@image, '30x30>')
50
+ image.should have_width(24)
51
+ image.should have_height(30)
52
+ end
53
+
54
+ end
55
+
56
+ describe "NNxNN<" do
57
+
58
+ it "should not resize if the image is larger than specified" do
59
+ image = @processor.resize(@image, '10x10<')
60
+ image.should have_width(280)
61
+ image.should have_height(355)
62
+ end
63
+
64
+ it "should resize if the image is smaller than specified" do
65
+ image = @processor.resize(@image, '400x400<')
66
+ image.should have_width(315)
67
+ image.should have_height(400)
68
+ end
69
+
70
+ end
71
+
72
+ end
73
+
74
+ describe "crop" do # Difficult to test here other than dimensions
75
+
76
+ it "should not crop if no args given" do
77
+ image = @processor.crop(@image)
78
+ image.should have_width(280)
79
+ image.should have_height(355)
80
+ end
81
+
82
+ it "should crop using the offset given" do
83
+ image = @processor.crop(@image, :x => '7', :y => '12')
84
+ image.should have_width(273)
85
+ image.should have_height(343)
86
+ end
87
+
88
+ it "should crop using the dimensions given" do
89
+ image = @processor.crop(@image, :width => '10', :height => '20')
90
+ image.should have_width(10)
91
+ image.should have_height(20)
92
+ end
93
+
94
+ it "should crop in one dimension if given" do
95
+ image = @processor.crop(@image, :width => '10')
96
+ image.should have_width(10)
97
+ image.should have_height(355)
98
+ end
99
+
100
+ it "should take into account the gravity given" do
101
+ image1 = @processor.crop(@image, :width => '10', :height => '10', :gravity => 'nw')
102
+ image2 = @processor.crop(@image, :width => '10', :height => '10', :gravity => 'se')
103
+ image1.should_not == image2
104
+ end
105
+
106
+ it "should clip bits of the image outside of the requested crop area when not nw gravity" do
107
+ # Rmagick was previously throwing an error when the cropping area was outside the image size, when
108
+ # using a gravity other than nw
109
+ image = @processor.crop(@image, :width => '500', :height => '1000', :x => '100', :y => '200', :gravity => 'se')
110
+ image.should have_width(180)
111
+ image.should have_height(155)
112
+ end
113
+
114
+ end
115
+
116
+ describe "greyscale" do
117
+ it "should not raise an error" do
118
+ # Bit tricky to test
119
+ @processor.greyscale(@image)
120
+ end
121
+ end
122
+
123
+ describe "resize_and_crop" do
124
+
125
+ it "should do nothing if no args given" do
126
+ image = @processor.resize_and_crop(@image)
127
+ image.should have_width(280)
128
+ image.should have_height(355)
129
+ end
130
+
131
+ it "should crop to the correct dimensions" do
132
+ image = @processor.resize_and_crop(@image, :width => '100', :height => '100')
133
+ image.should have_width(100)
134
+ image.should have_height(100)
135
+ end
136
+
137
+ it "should allow cropping in one dimension" do
138
+ image = @processor.resize_and_crop(@image, :width => '100')
139
+ image.should have_width(100)
140
+ image.should have_height(355)
141
+ end
142
+
143
+ it "should take into account the gravity given" do
144
+ image1 = @processor.resize_and_crop(@image, :width => '10', :height => '10', :gravity => 'nw')
145
+ image2 = @processor.resize_and_crop(@image, :width => '10', :height => '10', :gravity => 'se')
146
+ image1.should_not == image2
147
+ end
148
+
149
+ end
150
+
151
+ describe "rotate" do
152
+
153
+ it "should rotate by 90 degrees" do
154
+ image = @processor.rotate(@image, 90)
155
+ image.should have_width(355)
156
+ image.should have_height(280)
157
+ end
158
+
159
+ it "should not rotate given a larger height and the '>' qualifier" do
160
+ image = @processor.rotate(@image, 90, :qualifier => '>')
161
+ image.should have_width(280)
162
+ image.should have_height(355)
163
+ end
164
+
165
+ it "should rotate given a larger height and the '<' qualifier" do
166
+ image = @processor.rotate(@image, 90, :qualifier => '<')
167
+ image.should have_width(355)
168
+ image.should have_height(280)
169
+ end
170
+
171
+ end
172
+
173
+ describe "thumb" do
174
+ it "should call resize if the correct string given" do
175
+ @processor.should_receive(:resize).with(@image, '30x40').and_return(image = mock)
176
+ @processor.thumb(@image, '30x40').should == image
177
+ end
178
+ it "should call resize_and_crop if the correct string given" do
179
+ @processor.should_receive(:resize_and_crop).with(@image, :width => '30', :height => '40', :gravity => 'se').and_return(image = mock)
180
+ @processor.thumb(@image, '30x40#se').should == image
181
+ end
182
+ it "should call crop if x and y given" do
183
+ @processor.should_receive(:crop).with(@image, :width => '30', :height => '40', :x => '+10', :y => '+20', :gravity => nil).and_return(image = mock)
184
+ @processor.thumb(@image, '30x40+10+20').should == image
185
+ end
186
+ it "should call crop if just gravity given" do
187
+ @processor.should_receive(:crop).with(@image, :width => '30', :height => '40', :x => nil, :y => nil, :gravity => 'sw').and_return(image = mock)
188
+ @processor.thumb(@image, '30x40sw').should == image
189
+ end
190
+ it "should call crop if x, y and gravity given" do
191
+ @processor.should_receive(:crop).with(@image, :width => '30', :height => '40', :x => '-10', :y => '-20', :gravity => 'se').and_return(image = mock)
192
+ @processor.thumb(@image, '30x40-10-20se').should == image
193
+ end
194
+ it "should raise an argument error if an unrecognized string is given" do
195
+ lambda{ @processor.thumb(@image, '30x40#ne!') }.should raise_error(ArgumentError)
196
+ end
197
+ end
198
+
199
+ describe "flip" do
200
+ it "should flip the image, leaving the same dimensions" do
201
+ image = @processor.flip(@image)
202
+ image.should have_width(280)
203
+ image.should have_height(355)
204
+ end
205
+ end
206
+
207
+ describe "flop" do
208
+ it "should flop the image, leaving the same dimensions" do
209
+ image = @processor.flop(@image)
210
+ image.should have_width(280)
211
+ image.should have_height(355)
212
+ end
213
+ end
214
+
215
+ end
@@ -39,3 +39,9 @@ Spec::Matchers.define :have_format do |format|
39
39
  image_properties(given)[:format].should == format
40
40
  end
41
41
  end
42
+
43
+ Spec::Matchers.define :have_size do |size|
44
+ match do |given|
45
+ image_properties(given)[:size].should == size
46
+ end
47
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'rubygems'
2
2
  require 'spec'
3
3
  require 'rack'
4
+ require 'fileutils'
4
5
 
5
6
  require File.dirname(__FILE__) + '/../lib/dragonfly'
6
7
  $:.unshift(File.dirname(__FILE__))
@@ -45,3 +46,13 @@ end
45
46
  def test_app
46
47
  Dragonfly::App.send(:new)
47
48
  end
49
+
50
+ def suppressing_stderr
51
+ original_stderr = $stderr.dup
52
+ tempfile = Tempfile.new('stderr')
53
+ $stderr.reopen(tempfile)
54
+ yield
55
+ ensure
56
+ tempfile.close
57
+ $stderr.reopen(original_stderr)
58
+ end
@@ -63,9 +63,16 @@ ul.main_files li {
63
63
  margin:0;
64
64
  padding:0;
65
65
  }
66
+ ul.main_files li:nth-child(odd) {
67
+ background-color:#fff;
68
+ }
69
+ ul.main_files li:nth-child(even) {
70
+ background-color:#eee;
71
+ }
72
+
66
73
  ul.main_files li a {
67
- margin: 5px;
68
- padding:10px;
74
+ margin: 0;
75
+ padding:7px 12px;
69
76
  display:block;
70
77
  }
71
78
 
@@ -3,9 +3,20 @@
3
3
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
4
  <head>
5
5
  <%= erb(:headers) %>
6
+ <script type="text/javascript" charset="utf-8">
7
+ (function($){
8
+ // YARD automatically creates a table of contents
9
+ // Let's place it inside .col1, instead of #content
10
+ $(document).ready(function(){
11
+ $('#toc').prependTo($('.col1'));
12
+ <% if options[:file] == 'extra_docs/Index.md' %>
13
+ $('#toc').hide();
14
+ <% end %>
15
+ });
16
+ })(jQuery);
17
+ </script>
6
18
  </head>
7
19
  <body>
8
-
9
20
  <!-- GOOGLE ANALYTICS -->
10
21
  <script type="text/javascript">
11
22
 
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dragonfly
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 63
4
5
  prerelease: false
5
6
  segments:
6
7
  - 0
7
- - 7
8
- - 7
9
- version: 0.7.7
8
+ - 8
9
+ - 0
10
+ version: 0.8.0
10
11
  platform: ruby
11
12
  authors:
12
13
  - Mark Evans
@@ -14,22 +15,294 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2010-10-31 00:00:00 +01:00
18
+ date: 2010-11-21 00:00:00 +00:00
18
19
  default_executable:
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency
22
+ type: :runtime
23
+ prerelease: false
24
+ name: aws-s3
25
+ version_requirements: &id001 !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ hash: 3
31
+ segments:
32
+ - 0
33
+ version: "0"
34
+ requirement: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ type: :runtime
37
+ prerelease: false
38
+ name: bson_ext
39
+ version_requirements: &id002 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ hash: 3
45
+ segments:
46
+ - 0
47
+ version: "0"
48
+ requirement: *id002
49
+ - !ruby/object:Gem::Dependency
50
+ type: :runtime
51
+ prerelease: false
52
+ name: capybara
53
+ version_requirements: &id003 !ruby/object:Gem::Requirement
54
+ none: false
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ hash: 3
59
+ segments:
60
+ - 0
61
+ version: "0"
62
+ requirement: *id003
63
+ - !ruby/object:Gem::Dependency
64
+ type: :runtime
65
+ prerelease: false
66
+ name: cucumber
67
+ version_requirements: &id004 !ruby/object:Gem::Requirement
68
+ none: false
69
+ requirements:
70
+ - - "="
71
+ - !ruby/object:Gem::Version
72
+ hash: 53
73
+ segments:
74
+ - 0
75
+ - 8
76
+ - 5
77
+ version: 0.8.5
78
+ requirement: *id004
79
+ - !ruby/object:Gem::Dependency
80
+ type: :runtime
81
+ prerelease: false
82
+ name: cucumber-rails
83
+ version_requirements: &id005 !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ hash: 3
89
+ segments:
90
+ - 0
91
+ version: "0"
92
+ requirement: *id005
93
+ - !ruby/object:Gem::Dependency
94
+ type: :runtime
95
+ prerelease: false
96
+ name: database_cleaner
97
+ version_requirements: &id006 !ruby/object:Gem::Requirement
98
+ none: false
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ hash: 11
103
+ segments:
104
+ - 0
105
+ - 5
106
+ - 0
107
+ version: 0.5.0
108
+ requirement: *id006
109
+ - !ruby/object:Gem::Dependency
110
+ type: :runtime
111
+ prerelease: false
112
+ name: jeweler
113
+ version_requirements: &id007 !ruby/object:Gem::Requirement
114
+ none: false
115
+ requirements:
116
+ - - ~>
117
+ - !ruby/object:Gem::Version
118
+ hash: 7
119
+ segments:
120
+ - 1
121
+ - 4
122
+ version: "1.4"
123
+ requirement: *id007
124
+ - !ruby/object:Gem::Dependency
125
+ type: :runtime
126
+ prerelease: false
127
+ name: gherkin
128
+ version_requirements: &id008 !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - "="
132
+ - !ruby/object:Gem::Version
133
+ hash: 3
134
+ segments:
135
+ - 2
136
+ - 1
137
+ - 4
138
+ version: 2.1.4
139
+ requirement: *id008
140
+ - !ruby/object:Gem::Dependency
141
+ type: :runtime
142
+ prerelease: false
143
+ name: mongo
144
+ version_requirements: &id009 !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ">="
148
+ - !ruby/object:Gem::Version
149
+ hash: 3
150
+ segments:
151
+ - 0
152
+ version: "0"
153
+ requirement: *id009
154
+ - !ruby/object:Gem::Dependency
155
+ type: :runtime
156
+ prerelease: false
157
+ name: nokogiri
158
+ version_requirements: &id010 !ruby/object:Gem::Requirement
159
+ none: false
160
+ requirements:
161
+ - - "="
162
+ - !ruby/object:Gem::Version
163
+ hash: 62196439
164
+ segments:
165
+ - 1
166
+ - 5
167
+ - 0
168
+ - beta
169
+ - 2
170
+ version: 1.5.0.beta.2
171
+ requirement: *id010
172
+ - !ruby/object:Gem::Dependency
173
+ type: :runtime
174
+ prerelease: false
21
175
  name: rack
176
+ version_requirements: &id011 !ruby/object:Gem::Requirement
177
+ none: false
178
+ requirements:
179
+ - - ~>
180
+ - !ruby/object:Gem::Version
181
+ hash: 13
182
+ segments:
183
+ - 1
184
+ - 1
185
+ version: "1.1"
186
+ requirement: *id011
187
+ - !ruby/object:Gem::Dependency
188
+ type: :runtime
189
+ prerelease: false
190
+ name: rack-cache
191
+ version_requirements: &id012 !ruby/object:Gem::Requirement
192
+ none: false
193
+ requirements:
194
+ - - ">="
195
+ - !ruby/object:Gem::Version
196
+ hash: 3
197
+ segments:
198
+ - 0
199
+ version: "0"
200
+ requirement: *id012
201
+ - !ruby/object:Gem::Dependency
202
+ type: :runtime
203
+ prerelease: false
204
+ name: rails
205
+ version_requirements: &id013 !ruby/object:Gem::Requirement
206
+ none: false
207
+ requirements:
208
+ - - "="
209
+ - !ruby/object:Gem::Version
210
+ hash: 1
211
+ segments:
212
+ - 3
213
+ - 0
214
+ - 3
215
+ version: 3.0.3
216
+ requirement: *id013
217
+ - !ruby/object:Gem::Dependency
218
+ type: :runtime
219
+ prerelease: false
220
+ name: rake
221
+ version_requirements: &id014 !ruby/object:Gem::Requirement
222
+ none: false
223
+ requirements:
224
+ - - ">="
225
+ - !ruby/object:Gem::Version
226
+ hash: 3
227
+ segments:
228
+ - 0
229
+ version: "0"
230
+ requirement: *id014
231
+ - !ruby/object:Gem::Dependency
232
+ type: :runtime
233
+ prerelease: false
234
+ name: rmagick
235
+ version_requirements: &id015 !ruby/object:Gem::Requirement
236
+ none: false
237
+ requirements:
238
+ - - "="
239
+ - !ruby/object:Gem::Version
240
+ hash: 59
241
+ segments:
242
+ - 2
243
+ - 12
244
+ - 2
245
+ version: 2.12.2
246
+ requirement: *id015
247
+ - !ruby/object:Gem::Dependency
248
+ type: :runtime
249
+ prerelease: false
250
+ name: rspec
251
+ version_requirements: &id016 !ruby/object:Gem::Requirement
252
+ none: false
253
+ requirements:
254
+ - - ~>
255
+ - !ruby/object:Gem::Version
256
+ hash: 9
257
+ segments:
258
+ - 1
259
+ - 3
260
+ version: "1.3"
261
+ requirement: *id016
262
+ - !ruby/object:Gem::Dependency
263
+ type: :runtime
264
+ prerelease: false
265
+ name: sqlite3-ruby
266
+ version_requirements: &id017 !ruby/object:Gem::Requirement
267
+ none: false
268
+ requirements:
269
+ - - "="
270
+ - !ruby/object:Gem::Version
271
+ hash: 27
272
+ segments:
273
+ - 1
274
+ - 3
275
+ - 0
276
+ version: 1.3.0
277
+ requirement: *id017
278
+ - !ruby/object:Gem::Dependency
279
+ type: :runtime
22
280
  prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
281
+ name: yard
282
+ version_requirements: &id018 !ruby/object:Gem::Requirement
24
283
  none: false
25
284
  requirements:
26
285
  - - ">="
27
286
  - !ruby/object:Gem::Version
287
+ hash: 3
28
288
  segments:
29
289
  - 0
30
290
  version: "0"
291
+ requirement: *id018
292
+ - !ruby/object:Gem::Dependency
31
293
  type: :runtime
32
- version_requirements: *id001
294
+ prerelease: false
295
+ name: rack
296
+ version_requirements: &id019 !ruby/object:Gem::Requirement
297
+ none: false
298
+ requirements:
299
+ - - ">="
300
+ - !ruby/object:Gem::Version
301
+ hash: 3
302
+ segments:
303
+ - 0
304
+ version: "0"
305
+ requirement: *id019
33
306
  description:
34
307
  email: mark@new-bamboo.co.uk
35
308
  executables: []
@@ -40,7 +313,6 @@ extra_rdoc_files:
40
313
  - LICENSE
41
314
  - README.md
42
315
  files:
43
- - .gitignore
44
316
  - .specopts
45
317
  - .yardopts
46
318
  - Gemfile
@@ -71,10 +343,10 @@ files:
71
343
  - extra_docs/Rails3.md
72
344
  - extra_docs/Sinatra.md
73
345
  - extra_docs/URLs.md
346
+ - features/3.0.3.feature
74
347
  - features/images.feature
75
348
  - features/no_processing.feature
76
349
  - features/rails_2.3.5.feature
77
- - features/rails_3.0.0.feature
78
350
  - features/steps/common_steps.rb
79
351
  - features/steps/dragonfly_steps.rb
80
352
  - features/steps/rails_steps.rb
@@ -88,7 +360,7 @@ files:
88
360
  - fixtures/files/features/support/paths.rb
89
361
  - fixtures/files/features/text_images.feature
90
362
  - fixtures/rails_2.3.5/template.rb
91
- - fixtures/rails_3.0.0/template.rb
363
+ - fixtures/rails_3.0.3/template.rb
92
364
  - irbrc.rb
93
365
  - lib/dragonfly.rb
94
366
  - lib/dragonfly/active_model_extensions.rb
@@ -98,9 +370,11 @@ files:
98
370
  - lib/dragonfly/active_model_extensions/validations.rb
99
371
  - lib/dragonfly/analyser.rb
100
372
  - lib/dragonfly/analysis/file_command_analyser.rb
373
+ - lib/dragonfly/analysis/image_magick_analyser.rb
101
374
  - lib/dragonfly/analysis/r_magick_analyser.rb
102
375
  - lib/dragonfly/app.rb
103
376
  - lib/dragonfly/config/heroku.rb
377
+ - lib/dragonfly/config/image_magick.rb
104
378
  - lib/dragonfly/config/r_magick.rb
105
379
  - lib/dragonfly/config/rails.rb
106
380
  - lib/dragonfly/configurable.rb
@@ -112,16 +386,21 @@ files:
112
386
  - lib/dragonfly/data_storage/mongo_data_store.rb
113
387
  - lib/dragonfly/data_storage/s3data_store.rb
114
388
  - lib/dragonfly/encoder.rb
389
+ - lib/dragonfly/encoding/image_magick_encoder.rb
115
390
  - lib/dragonfly/encoding/r_magick_encoder.rb
116
391
  - lib/dragonfly/function_manager.rb
392
+ - lib/dragonfly/generation/hash_with_css_style_keys.rb
393
+ - lib/dragonfly/generation/image_magick_generator.rb
117
394
  - lib/dragonfly/generation/r_magick_generator.rb
118
395
  - lib/dragonfly/generator.rb
396
+ - lib/dragonfly/image_magick_utils.rb
119
397
  - lib/dragonfly/job.rb
120
398
  - lib/dragonfly/job_builder.rb
121
399
  - lib/dragonfly/job_definitions.rb
122
400
  - lib/dragonfly/job_endpoint.rb
123
401
  - lib/dragonfly/loggable.rb
124
402
  - lib/dragonfly/middleware.rb
403
+ - lib/dragonfly/processing/image_magick_processor.rb
125
404
  - lib/dragonfly/processing/r_magick_processor.rb
126
405
  - lib/dragonfly/processor.rb
127
406
  - lib/dragonfly/r_magick_utils.rb
@@ -144,7 +423,9 @@ files:
144
423
  - spec/dragonfly/active_model_extensions/spec_helper.rb
145
424
  - spec/dragonfly/analyser_spec.rb
146
425
  - spec/dragonfly/analysis/file_command_analyser_spec.rb
426
+ - spec/dragonfly/analysis/image_magick_analyser_spec.rb
147
427
  - spec/dragonfly/analysis/r_magick_analyser_spec.rb
428
+ - spec/dragonfly/analysis/shared_analyser_spec.rb
148
429
  - spec/dragonfly/app_spec.rb
149
430
  - spec/dragonfly/config/r_magick_spec.rb
150
431
  - spec/dragonfly/configurable_spec.rb
@@ -155,16 +436,23 @@ files:
155
436
  - spec/dragonfly/data_storage/mongo_data_store_spec.rb
156
437
  - spec/dragonfly/data_storage/s3_data_store_spec.rb
157
438
  - spec/dragonfly/deprecation_spec.rb
439
+ - spec/dragonfly/encoding/image_magick_encoder_spec.rb
158
440
  - spec/dragonfly/encoding/r_magick_encoder_spec.rb
159
441
  - spec/dragonfly/function_manager_spec.rb
442
+ - spec/dragonfly/generation/hash_with_css_style_keys_spec.rb
443
+ - spec/dragonfly/generation/image_magick_generator_spec.rb
160
444
  - spec/dragonfly/generation/r_magick_generator_spec.rb
445
+ - spec/dragonfly/generation/shared_generator_spec.rb
446
+ - spec/dragonfly/image_magick_utils_spec.rb
161
447
  - spec/dragonfly/job_builder_spec.rb
162
448
  - spec/dragonfly/job_definitions_spec.rb
163
449
  - spec/dragonfly/job_endpoint_spec.rb
164
450
  - spec/dragonfly/job_spec.rb
165
451
  - spec/dragonfly/loggable_spec.rb
166
452
  - spec/dragonfly/middleware_spec.rb
453
+ - spec/dragonfly/processing/image_magick_processor_spec.rb
167
454
  - spec/dragonfly/processing/r_magick_processor_spec.rb
455
+ - spec/dragonfly/processing/shared_processing_spec.rb
168
456
  - spec/dragonfly/routed_endpoint_spec.rb
169
457
  - spec/dragonfly/serializer_spec.rb
170
458
  - spec/dragonfly/simple_cache_spec.rb
@@ -184,8 +472,8 @@ homepage: http://github.com/markevans/dragonfly
184
472
  licenses: []
185
473
 
186
474
  post_install_message:
187
- rdoc_options:
188
- - --charset=UTF-8
475
+ rdoc_options: []
476
+
189
477
  require_paths:
190
478
  - lib
191
479
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -193,6 +481,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
193
481
  requirements:
194
482
  - - ">="
195
483
  - !ruby/object:Gem::Version
484
+ hash: 3
196
485
  segments:
197
486
  - 0
198
487
  version: "0"
@@ -201,6 +490,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
201
490
  requirements:
202
491
  - - ">="
203
492
  - !ruby/object:Gem::Version
493
+ hash: 3
204
494
  segments:
205
495
  - 0
206
496
  version: "0"
@@ -219,7 +509,9 @@ test_files:
219
509
  - spec/dragonfly/active_model_extensions/spec_helper.rb
220
510
  - spec/dragonfly/analyser_spec.rb
221
511
  - spec/dragonfly/analysis/file_command_analyser_spec.rb
512
+ - spec/dragonfly/analysis/image_magick_analyser_spec.rb
222
513
  - spec/dragonfly/analysis/r_magick_analyser_spec.rb
514
+ - spec/dragonfly/analysis/shared_analyser_spec.rb
223
515
  - spec/dragonfly/app_spec.rb
224
516
  - spec/dragonfly/config/r_magick_spec.rb
225
517
  - spec/dragonfly/configurable_spec.rb
@@ -230,16 +522,23 @@ test_files:
230
522
  - spec/dragonfly/data_storage/mongo_data_store_spec.rb
231
523
  - spec/dragonfly/data_storage/s3_data_store_spec.rb
232
524
  - spec/dragonfly/deprecation_spec.rb
525
+ - spec/dragonfly/encoding/image_magick_encoder_spec.rb
233
526
  - spec/dragonfly/encoding/r_magick_encoder_spec.rb
234
527
  - spec/dragonfly/function_manager_spec.rb
528
+ - spec/dragonfly/generation/hash_with_css_style_keys_spec.rb
529
+ - spec/dragonfly/generation/image_magick_generator_spec.rb
235
530
  - spec/dragonfly/generation/r_magick_generator_spec.rb
531
+ - spec/dragonfly/generation/shared_generator_spec.rb
532
+ - spec/dragonfly/image_magick_utils_spec.rb
236
533
  - spec/dragonfly/job_builder_spec.rb
237
534
  - spec/dragonfly/job_definitions_spec.rb
238
535
  - spec/dragonfly/job_endpoint_spec.rb
239
536
  - spec/dragonfly/job_spec.rb
240
537
  - spec/dragonfly/loggable_spec.rb
241
538
  - spec/dragonfly/middleware_spec.rb
539
+ - spec/dragonfly/processing/image_magick_processor_spec.rb
242
540
  - spec/dragonfly/processing/r_magick_processor_spec.rb
541
+ - spec/dragonfly/processing/shared_processing_spec.rb
243
542
  - spec/dragonfly/routed_endpoint_spec.rb
244
543
  - spec/dragonfly/serializer_spec.rb
245
544
  - spec/dragonfly/simple_cache_spec.rb