dragonfly 0.9.4 → 0.9.5

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 (29) hide show
  1. data/Gemfile +3 -3
  2. data/History.md +11 -0
  3. data/VERSION +1 -1
  4. data/dragonfly.gemspec +23 -22
  5. data/extra_docs/Configuration.md +1 -2
  6. data/extra_docs/Models.md +5 -2
  7. data/features/rails.feature +8 -0
  8. data/features/steps/rails_steps.rb +8 -8
  9. data/fixtures/{rails_3.0.5 → rails}/files/app/models/album.rb +0 -0
  10. data/fixtures/{rails_3.0.5 → rails}/files/app/views/albums/new.html.erb +0 -0
  11. data/fixtures/{rails_3.0.5 → rails}/files/app/views/albums/show.html.erb +0 -0
  12. data/fixtures/{rails_3.0.5 → rails}/files/config/initializers/dragonfly.rb +0 -0
  13. data/fixtures/{rails_3.0.5 → rails}/files/features/manage_album_images.feature +0 -0
  14. data/fixtures/{rails_3.0.5 → rails}/files/features/step_definitions/helper_steps.rb +0 -0
  15. data/fixtures/{rails_3.0.5 → rails}/files/features/step_definitions/image_steps.rb +2 -2
  16. data/fixtures/{rails_3.0.5 → rails}/files/features/support/paths.rb +0 -0
  17. data/fixtures/{rails_3.0.5 → rails}/files/features/text_images.feature +0 -0
  18. data/fixtures/{rails_3.0.5 → rails}/template.rb +0 -0
  19. data/lib/dragonfly/active_model_extensions/attachment.rb +2 -0
  20. data/lib/dragonfly/app.rb +4 -0
  21. data/lib/dragonfly/image_magick/utils.rb +4 -7
  22. data/samples/white pixel.png +0 -0
  23. data/spec/dragonfly/app_spec.rb +4 -0
  24. data/spec/dragonfly/image_magick/analyser_spec.rb +6 -2
  25. data/spec/dragonfly/image_magick/processor_spec.rb +7 -2
  26. data/spec/dragonfly/temp_object_spec.rb +2 -2
  27. data/spec/spec_helper.rb +1 -1
  28. metadata +129 -54
  29. data/features/rails_3.0.5.feature +0 -8
data/Gemfile CHANGED
@@ -6,15 +6,15 @@ gem "rack"
6
6
  group :development, :test, :cucumber do
7
7
  gem 'capybara'
8
8
  gem 'cucumber', '~>0.10.0'
9
- gem 'cucumber-rails', '~>0.3.2'
9
+ gem 'cucumber-rails', '~>0.5.2'
10
10
  gem 'database_cleaner'
11
11
  gem 'jeweler', '~> 1.5.2'
12
12
  gem 'fog'
13
13
  gem 'mongo'
14
14
  gem 'couchrest', '~> 1.0'
15
15
  gem 'rack-cache'
16
- gem 'rails', '3.0.5', :require => nil
17
- gem 'rake'
16
+ gem 'rails', '3.0.9', :require => nil
17
+ gem 'rake', '0.8.7'
18
18
  gem 'rspec', '~> 2.5'
19
19
  gem 'webmock'
20
20
  gem 'yard'
data/History.md CHANGED
@@ -1,3 +1,14 @@
1
+ 0.9.5 (2011-07-27)
2
+ ==================
3
+ Features
4
+ --------
5
+ - Added reflection method `app.analyser_methods`
6
+
7
+ Fixes
8
+ -----
9
+ - Fixed `convert` and `identify` for files with spaces
10
+ - Fixed size validations for Rails 3.0.7
11
+
1
12
  0.9.4 (2011-06-10)
2
13
  ==================
3
14
  Fixes
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.9.4
1
+ 0.9.5
data/dragonfly.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{dragonfly}
8
- s.version = "0.9.4"
8
+ s.version = "0.9.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Mark Evans"]
12
- s.date = %q{2011-06-10}
12
+ s.date = %q{2011-08-02}
13
13
  s.description = %q{Dragonfly is a framework that enables on-the-fly processing for any content type.
14
14
  It is especially suited to image handling. Its uses range from image thumbnails to standard attachments to on-demand text generation.}
15
15
  s.email = %q{mark@new-bamboo.co.uk}
@@ -53,22 +53,22 @@ Gem::Specification.new do |s|
53
53
  "extra_docs/URLs.md",
54
54
  "features/images.feature",
55
55
  "features/no_processing.feature",
56
- "features/rails_3.0.5.feature",
56
+ "features/rails.feature",
57
57
  "features/steps/common_steps.rb",
58
58
  "features/steps/dragonfly_steps.rb",
59
59
  "features/steps/rails_steps.rb",
60
60
  "features/support/env.rb",
61
61
  "features/support/setup.rb",
62
- "fixtures/rails_3.0.5/files/app/models/album.rb",
63
- "fixtures/rails_3.0.5/files/app/views/albums/new.html.erb",
64
- "fixtures/rails_3.0.5/files/app/views/albums/show.html.erb",
65
- "fixtures/rails_3.0.5/files/config/initializers/dragonfly.rb",
66
- "fixtures/rails_3.0.5/files/features/manage_album_images.feature",
67
- "fixtures/rails_3.0.5/files/features/step_definitions/helper_steps.rb",
68
- "fixtures/rails_3.0.5/files/features/step_definitions/image_steps.rb",
69
- "fixtures/rails_3.0.5/files/features/support/paths.rb",
70
- "fixtures/rails_3.0.5/files/features/text_images.feature",
71
- "fixtures/rails_3.0.5/template.rb",
62
+ "fixtures/rails/files/app/models/album.rb",
63
+ "fixtures/rails/files/app/views/albums/new.html.erb",
64
+ "fixtures/rails/files/app/views/albums/show.html.erb",
65
+ "fixtures/rails/files/config/initializers/dragonfly.rb",
66
+ "fixtures/rails/files/features/manage_album_images.feature",
67
+ "fixtures/rails/files/features/step_definitions/helper_steps.rb",
68
+ "fixtures/rails/files/features/step_definitions/image_steps.rb",
69
+ "fixtures/rails/files/features/support/paths.rb",
70
+ "fixtures/rails/files/features/text_images.feature",
71
+ "fixtures/rails/template.rb",
72
72
  "irbrc.rb",
73
73
  "lib/dragonfly.rb",
74
74
  "lib/dragonfly/active_model_extensions.rb",
@@ -131,6 +131,7 @@ Gem::Specification.new do |s|
131
131
  "samples/round.gif",
132
132
  "samples/sample.docx",
133
133
  "samples/taj.jpg",
134
+ "samples/white pixel.png",
134
135
  "spec/dragonfly/active_model_extensions/model_spec.rb",
135
136
  "spec/dragonfly/active_model_extensions/spec_helper.rb",
136
137
  "spec/dragonfly/analyser_spec.rb",
@@ -242,15 +243,15 @@ Gem::Specification.new do |s|
242
243
  s.add_runtime_dependency(%q<rack>, [">= 0"])
243
244
  s.add_development_dependency(%q<capybara>, [">= 0"])
244
245
  s.add_development_dependency(%q<cucumber>, ["~> 0.10.0"])
245
- s.add_development_dependency(%q<cucumber-rails>, ["~> 0.3.2"])
246
+ s.add_development_dependency(%q<cucumber-rails>, ["~> 0.5.2"])
246
247
  s.add_development_dependency(%q<database_cleaner>, [">= 0"])
247
248
  s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
248
249
  s.add_development_dependency(%q<fog>, [">= 0"])
249
250
  s.add_development_dependency(%q<mongo>, [">= 0"])
250
251
  s.add_development_dependency(%q<couchrest>, ["~> 1.0"])
251
252
  s.add_development_dependency(%q<rack-cache>, [">= 0"])
252
- s.add_development_dependency(%q<rails>, ["= 3.0.5"])
253
- s.add_development_dependency(%q<rake>, [">= 0"])
253
+ s.add_development_dependency(%q<rails>, ["= 3.0.9"])
254
+ s.add_development_dependency(%q<rake>, ["= 0.8.7"])
254
255
  s.add_development_dependency(%q<rspec>, ["~> 2.5"])
255
256
  s.add_development_dependency(%q<webmock>, [">= 0"])
256
257
  s.add_development_dependency(%q<yard>, [">= 0"])
@@ -261,15 +262,15 @@ Gem::Specification.new do |s|
261
262
  s.add_dependency(%q<rack>, [">= 0"])
262
263
  s.add_dependency(%q<capybara>, [">= 0"])
263
264
  s.add_dependency(%q<cucumber>, ["~> 0.10.0"])
264
- s.add_dependency(%q<cucumber-rails>, ["~> 0.3.2"])
265
+ s.add_dependency(%q<cucumber-rails>, ["~> 0.5.2"])
265
266
  s.add_dependency(%q<database_cleaner>, [">= 0"])
266
267
  s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
267
268
  s.add_dependency(%q<fog>, [">= 0"])
268
269
  s.add_dependency(%q<mongo>, [">= 0"])
269
270
  s.add_dependency(%q<couchrest>, ["~> 1.0"])
270
271
  s.add_dependency(%q<rack-cache>, [">= 0"])
271
- s.add_dependency(%q<rails>, ["= 3.0.5"])
272
- s.add_dependency(%q<rake>, [">= 0"])
272
+ s.add_dependency(%q<rails>, ["= 3.0.9"])
273
+ s.add_dependency(%q<rake>, ["= 0.8.7"])
273
274
  s.add_dependency(%q<rspec>, ["~> 2.5"])
274
275
  s.add_dependency(%q<webmock>, [">= 0"])
275
276
  s.add_dependency(%q<yard>, [">= 0"])
@@ -281,15 +282,15 @@ Gem::Specification.new do |s|
281
282
  s.add_dependency(%q<rack>, [">= 0"])
282
283
  s.add_dependency(%q<capybara>, [">= 0"])
283
284
  s.add_dependency(%q<cucumber>, ["~> 0.10.0"])
284
- s.add_dependency(%q<cucumber-rails>, ["~> 0.3.2"])
285
+ s.add_dependency(%q<cucumber-rails>, ["~> 0.5.2"])
285
286
  s.add_dependency(%q<database_cleaner>, [">= 0"])
286
287
  s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
287
288
  s.add_dependency(%q<fog>, [">= 0"])
288
289
  s.add_dependency(%q<mongo>, [">= 0"])
289
290
  s.add_dependency(%q<couchrest>, ["~> 1.0"])
290
291
  s.add_dependency(%q<rack-cache>, [">= 0"])
291
- s.add_dependency(%q<rails>, ["= 3.0.5"])
292
- s.add_dependency(%q<rake>, [">= 0"])
292
+ s.add_dependency(%q<rails>, ["= 3.0.9"])
293
+ s.add_dependency(%q<rake>, ["= 0.8.7"])
293
294
  s.add_dependency(%q<rspec>, ["~> 2.5"])
294
295
  s.add_dependency(%q<webmock>, [">= 0"])
295
296
  s.add_dependency(%q<yard>, [">= 0"])
@@ -83,8 +83,7 @@ Otherwise it should be done anywhere where general setup is done, early on.
83
83
 
84
84
  Reflecting on configuration
85
85
  ---------------------------
86
- There are a few methods you can call on the `app` to see what processors etc. are registered: `processor_methods`, `generator_methods`
87
- and `job_methods`.
86
+ There are a few methods you can call on the `app` to see what processors etc. are registered: `processor_methods`, `generator_methods`, `analyser_methods` and `job_methods`.
88
87
 
89
88
  Saved configurations
90
89
  ====================
data/extra_docs/Models.md CHANGED
@@ -320,7 +320,7 @@ can take a `:path` option to specify where to store the content (which will also
320
320
 
321
321
  class Person
322
322
  image_accessor :mugshot do
323
- storage_path{ "some/path/#{id}/#{rand(100)}" } # You can call model instance methods (like 'id') directly
323
+ storage_path{ "some/path/#{first_name}/#{rand(100)}" } # You can call model instance methods (like 'first_name') directly
324
324
  end
325
325
  end
326
326
 
@@ -332,7 +332,7 @@ or
332
332
  end
333
333
 
334
334
  def path_for_mugshot
335
- "some/path/#{id}/#{rand(100)}"
335
+ "some/path/#{first_name}/#{rand(100)}"
336
336
  end
337
337
  end
338
338
 
@@ -343,6 +343,9 @@ or you can also yield the attachment itself
343
343
  **BEWARE!!!!** you must make sure the path (which will become the uid for the content) is unique and changes each time the content
344
344
  is changed, otherwise you could have caching problems, as the generated urls will be the same for the same uid.
345
345
 
346
+ **BEWARE No. 2!!!!** using `id` in the `storage_path` won't generally work on create, because Dragonfly stores the content in a call to `before_save`,
347
+ at which point the `id` won't yet exist.
348
+
346
349
  You can pass any options through to the datastore using `storage_xxx` methods, or all at once using `storage_opts`:
347
350
 
348
351
  class Person
@@ -0,0 +1,8 @@
1
+ Feature: champion uses dragonfly in his Rails application
2
+ In order to be a champion
3
+ A user uses dragonfly in his Rails application
4
+
5
+ Scenario: Set up dragonfly using initializer
6
+ Given a Rails application set up for using dragonfly
7
+ Then the manage_album_images cucumber features in my Rails app should pass
8
+ And the text_images cucumber features in my Rails app should pass
@@ -1,26 +1,26 @@
1
1
  RAILS_APP_NAME = 'tmp_app'
2
2
  FIXTURES_PATH = ROOT_PATH + "/fixtures"
3
3
 
4
- def fixture_path(version)
5
- "#{FIXTURES_PATH}/rails_#{version}"
4
+ def fixture_path
5
+ "#{FIXTURES_PATH}/rails"
6
6
  end
7
7
 
8
- def app_path(version)
9
- "#{fixture_path(version)}/#{RAILS_APP_NAME}"
8
+ def app_path
9
+ "#{fixture_path}/#{RAILS_APP_NAME}"
10
10
  end
11
11
 
12
12
  ##############################################################################
13
13
 
14
- Given "a Rails 3.0.5 application set up for using dragonfly" do
14
+ Given "a Rails application set up for using dragonfly" do
15
15
  raise "Problem setting up Rails app" unless `
16
- cd #{fixture_path('3.0.5')} &&
16
+ cd #{fixture_path} &&
17
17
  rm -rf #{RAILS_APP_NAME} &&
18
18
  bundle exec rails new #{RAILS_APP_NAME} -m template.rb`
19
19
  end
20
20
 
21
- Then /^the (.+) cucumber features in my Rails (.+) app should pass$/ do |filename, version|
21
+ Then /^the (.+) cucumber features in my Rails app should pass$/ do |filename|
22
22
  puts "\n*** RUNNING FEATURES IN THE RAILS APP... ***\n"
23
- path = File.join(fixture_path(version), RAILS_APP_NAME)
23
+ path = File.join(fixture_path, RAILS_APP_NAME)
24
24
  `cd #{path} && RAILS_ENV=cucumber rake db:migrate`
25
25
  features_passed = system "cd #{path} && cucumber features/#{filename}.feature"
26
26
  puts "\n*** FINISHED RUNNING FEATURES IN THE RAILS APP ***\n"
@@ -16,8 +16,8 @@ end
16
16
 
17
17
  Then /^I should see a (.+) image of size (.+)$/ do |format, size|
18
18
  tempfile = Tempfile.new('wicked')
19
- page.body.force_encoding('UTF-8').encode! if page.body.respond_to?(:force_encoding) # For some reason need this on Ruby 1.9.2
20
- tempfile.write page.body
19
+ page.source.force_encoding('UTF-8').encode! if page.source.respond_to?(:force_encoding) # For some reason need this on Ruby 1.9.2
20
+ tempfile.write page.source
21
21
  tempfile.close
22
22
  output = `identify #{tempfile.path}`.split(' ')
23
23
  output[1].should == format
File without changes
@@ -17,6 +17,8 @@ module Dragonfly
17
17
  :name, :basename, :ext, :size,
18
18
  :url
19
19
 
20
+ alias_method :length, :size
21
+
20
22
  def initialize(model)
21
23
  @model = model
22
24
  self.uid = model_uid
data/lib/dragonfly/app.rb CHANGED
@@ -154,6 +154,10 @@ module Dragonfly
154
154
  generator.functions.keys
155
155
  end
156
156
 
157
+ def analyser_methods
158
+ analyser.analysis_method_names
159
+ end
160
+
157
161
  def job_methods
158
162
  job_definitions.definition_names
159
163
  end
@@ -17,28 +17,25 @@ module Dragonfly
17
17
 
18
18
  def convert(temp_object=nil, args='', format=nil)
19
19
  tempfile = new_tempfile(format)
20
- run "#{convert_command} #{temp_object.path if temp_object} #{args} #{tempfile.path}"
20
+ run "#{convert_command} #{'"'+temp_object.path+'"' if temp_object} #{args} #{tempfile.path}"
21
21
  tempfile
22
22
  end
23
23
 
24
24
  def identify(temp_object)
25
25
  # example of details string:
26
26
  # myimage.png PNG 200x100 200x100+0+0 8-bit DirectClass 31.2kb
27
- details = raw_identify(temp_object)
28
- filename, format, geometry, geometry_2, depth, image_class, size = details.split(' ')
27
+ format, geometry, depth = raw_identify(temp_object).scan(/([A-Z]+) (.+) .+ (\d+)-bit/)[0]
29
28
  width, height = geometry.split('x')
30
29
  {
31
- :filename => filename,
32
30
  :format => format.downcase.to_sym,
33
31
  :width => width.to_i,
34
32
  :height => height.to_i,
35
- :depth => depth.to_i,
36
- :image_class => image_class
33
+ :depth => depth.to_i
37
34
  }
38
35
  end
39
36
 
40
37
  def raw_identify(temp_object, args='')
41
- run "#{identify_command} #{args} #{temp_object.path}"
38
+ run "#{identify_command} #{args} \"#{temp_object.path}\""
42
39
  end
43
40
 
44
41
  def new_tempfile(ext=nil)
Binary file
@@ -137,6 +137,7 @@ describe Dragonfly::App do
137
137
  @app = test_app.configure do |c|
138
138
  c.processor.add(:milk){}
139
139
  c.generator.add(:butter){}
140
+ c.analyser.add(:cheese){}
140
141
  c.job(:bacon){}
141
142
  end
142
143
 
@@ -147,6 +148,9 @@ describe Dragonfly::App do
147
148
  it "should return generator methods" do
148
149
  @app.generator_methods.should == [:butter]
149
150
  end
151
+ it "should return analyser methods" do
152
+ @app.analyser_methods.should == [:cheese]
153
+ end
150
154
  it "should return job methods" do
151
155
  @app.job_methods.should == [:bacon]
152
156
  end
@@ -3,8 +3,7 @@ require 'spec_helper'
3
3
  describe Dragonfly::ImageMagick::Analyser do
4
4
 
5
5
  before(:each) do
6
- image_path = File.dirname(__FILE__) + '/../../../samples/beach.png'
7
- @image = Dragonfly::TempObject.new(File.new(image_path))
6
+ @image = Dragonfly::TempObject.new(SAMPLES_DIR.join('beach.png'))
8
7
  @analyser = Dragonfly::ImageMagick::Analyser.new
9
8
  end
10
9
 
@@ -61,4 +60,9 @@ describe Dragonfly::ImageMagick::Analyser do
61
60
  end
62
61
  end
63
62
 
63
+ it "should work for images with spaces in the filename" do
64
+ image = Dragonfly::TempObject.new(SAMPLES_DIR.join('white pixel.png'))
65
+ @analyser.width(image).should == 1
66
+ end
67
+
64
68
  end
@@ -3,8 +3,7 @@ require 'spec_helper'
3
3
  describe Dragonfly::ImageMagick::Processor do
4
4
 
5
5
  before(:each) do
6
- sample_file = File.dirname(__FILE__) + '/../../../samples/beach.png' # 280x355
7
- @image = Dragonfly::TempObject.new(File.new(sample_file))
6
+ @image = Dragonfly::TempObject.new(SAMPLES_DIR.join('beach.png')) # 280x355
8
7
  @processor = Dragonfly::ImageMagick::Processor.new
9
8
  end
10
9
 
@@ -260,6 +259,7 @@ describe Dragonfly::ImageMagick::Processor do
260
259
  image.should have_width(56)
261
260
  image.should have_height(71)
262
261
  end
262
+
263
263
  it "should allow for general convert commands with added format" do
264
264
  image, extra = @processor.convert(@image, '-scale 56x71', :gif)
265
265
  image.should have_width(56)
@@ -272,6 +272,11 @@ describe Dragonfly::ImageMagick::Processor do
272
272
  image = @processor.convert(@image, "\\( +clone -sparse-color Barycentric '0,0 black 0,%[fx:h-1] white' -function polynomial 2,-2,0.5 \\) -compose Blur -set option:compose:args 15 -composite")
273
273
  image.should have_width(280)
274
274
  end
275
+
276
+ it "should work for files with spaces in the name" do
277
+ image = Dragonfly::TempObject.new(SAMPLES_DIR.join('white pixel.png'))
278
+ @processor.convert(image, "-resize 2x2!").should have_width(2)
279
+ end
275
280
  end
276
281
 
277
282
  end
@@ -5,7 +5,7 @@ describe Dragonfly::TempObject do
5
5
  ####### Helper Methods #######
6
6
 
7
7
  def sample_path(filename)
8
- File.join(SAMPLES_DIR, filename)
8
+ SAMPLES_DIR.join(filename)
9
9
  end
10
10
 
11
11
  def new_tempfile(data='HELLO')
@@ -324,7 +324,7 @@ describe Dragonfly::TempObject do
324
324
  Dragonfly::TempObject.new(@obj).original_filename.should be_nil
325
325
  end
326
326
  it "should set the name if the initial object is a file object" do
327
- file = File.new(SAMPLES_DIR + '/round.gif')
327
+ file = File.new(SAMPLES_DIR.join('round.gif'))
328
328
  temp_object = Dragonfly::TempObject.new(file)
329
329
  temp_object.original_filename.should == 'round.gif'
330
330
  end
data/spec/spec_helper.rb CHANGED
@@ -13,7 +13,7 @@ require 'webmock/rspec'
13
13
  # Requires supporting files with custom matchers and macros, etc,
14
14
  Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
15
15
 
16
- SAMPLES_DIR = File.expand_path(File.dirname(__FILE__) + '/../samples') unless defined?(SAMPLES_DIR)
16
+ SAMPLES_DIR = Pathname.new(File.expand_path(File.dirname(__FILE__) + '/../samples')) unless defined?(SAMPLES_DIR)
17
17
 
18
18
  def todo
19
19
  raise "TODO"
metadata CHANGED
@@ -1,8 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dragonfly
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 49
4
5
  prerelease:
5
- version: 0.9.4
6
+ segments:
7
+ - 0
8
+ - 9
9
+ - 5
10
+ version: 0.9.5
6
11
  platform: ruby
7
12
  authors:
8
13
  - Mark Evans
@@ -10,206 +15,272 @@ autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
17
 
13
- date: 2011-06-10 00:00:00 +01:00
18
+ date: 2011-08-02 00:00:00 +01:00
14
19
  default_executable:
15
20
  dependencies:
16
21
  - !ruby/object:Gem::Dependency
17
- name: rack
18
22
  requirement: &id001 !ruby/object:Gem::Requirement
19
23
  none: false
20
24
  requirements:
21
25
  - - ">="
22
26
  - !ruby/object:Gem::Version
27
+ hash: 3
28
+ segments:
29
+ - 0
23
30
  version: "0"
24
- type: :runtime
25
31
  prerelease: false
32
+ name: rack
33
+ type: :runtime
26
34
  version_requirements: *id001
27
35
  - !ruby/object:Gem::Dependency
28
- name: capybara
29
36
  requirement: &id002 !ruby/object:Gem::Requirement
30
37
  none: false
31
38
  requirements:
32
39
  - - ">="
33
40
  - !ruby/object:Gem::Version
41
+ hash: 3
42
+ segments:
43
+ - 0
34
44
  version: "0"
35
- type: :development
36
45
  prerelease: false
46
+ name: capybara
47
+ type: :development
37
48
  version_requirements: *id002
38
49
  - !ruby/object:Gem::Dependency
39
- name: cucumber
40
50
  requirement: &id003 !ruby/object:Gem::Requirement
41
51
  none: false
42
52
  requirements:
43
53
  - - ~>
44
54
  - !ruby/object:Gem::Version
55
+ hash: 55
56
+ segments:
57
+ - 0
58
+ - 10
59
+ - 0
45
60
  version: 0.10.0
46
- type: :development
47
61
  prerelease: false
62
+ name: cucumber
63
+ type: :development
48
64
  version_requirements: *id003
49
65
  - !ruby/object:Gem::Dependency
50
- name: cucumber-rails
51
66
  requirement: &id004 !ruby/object:Gem::Requirement
52
67
  none: false
53
68
  requirements:
54
69
  - - ~>
55
70
  - !ruby/object:Gem::Version
56
- version: 0.3.2
57
- type: :development
71
+ hash: 15
72
+ segments:
73
+ - 0
74
+ - 5
75
+ - 2
76
+ version: 0.5.2
58
77
  prerelease: false
78
+ name: cucumber-rails
79
+ type: :development
59
80
  version_requirements: *id004
60
81
  - !ruby/object:Gem::Dependency
61
- name: database_cleaner
62
82
  requirement: &id005 !ruby/object:Gem::Requirement
63
83
  none: false
64
84
  requirements:
65
85
  - - ">="
66
86
  - !ruby/object:Gem::Version
87
+ hash: 3
88
+ segments:
89
+ - 0
67
90
  version: "0"
68
- type: :development
69
91
  prerelease: false
92
+ name: database_cleaner
93
+ type: :development
70
94
  version_requirements: *id005
71
95
  - !ruby/object:Gem::Dependency
72
- name: jeweler
73
96
  requirement: &id006 !ruby/object:Gem::Requirement
74
97
  none: false
75
98
  requirements:
76
99
  - - ~>
77
100
  - !ruby/object:Gem::Version
101
+ hash: 7
102
+ segments:
103
+ - 1
104
+ - 5
105
+ - 2
78
106
  version: 1.5.2
79
- type: :development
80
107
  prerelease: false
108
+ name: jeweler
109
+ type: :development
81
110
  version_requirements: *id006
82
111
  - !ruby/object:Gem::Dependency
83
- name: fog
84
112
  requirement: &id007 !ruby/object:Gem::Requirement
85
113
  none: false
86
114
  requirements:
87
115
  - - ">="
88
116
  - !ruby/object:Gem::Version
117
+ hash: 3
118
+ segments:
119
+ - 0
89
120
  version: "0"
90
- type: :development
91
121
  prerelease: false
122
+ name: fog
123
+ type: :development
92
124
  version_requirements: *id007
93
125
  - !ruby/object:Gem::Dependency
94
- name: mongo
95
126
  requirement: &id008 !ruby/object:Gem::Requirement
96
127
  none: false
97
128
  requirements:
98
129
  - - ">="
99
130
  - !ruby/object:Gem::Version
131
+ hash: 3
132
+ segments:
133
+ - 0
100
134
  version: "0"
101
- type: :development
102
135
  prerelease: false
136
+ name: mongo
137
+ type: :development
103
138
  version_requirements: *id008
104
139
  - !ruby/object:Gem::Dependency
105
- name: couchrest
106
140
  requirement: &id009 !ruby/object:Gem::Requirement
107
141
  none: false
108
142
  requirements:
109
143
  - - ~>
110
144
  - !ruby/object:Gem::Version
145
+ hash: 15
146
+ segments:
147
+ - 1
148
+ - 0
111
149
  version: "1.0"
112
- type: :development
113
150
  prerelease: false
151
+ name: couchrest
152
+ type: :development
114
153
  version_requirements: *id009
115
154
  - !ruby/object:Gem::Dependency
116
- name: rack-cache
117
155
  requirement: &id010 !ruby/object:Gem::Requirement
118
156
  none: false
119
157
  requirements:
120
158
  - - ">="
121
159
  - !ruby/object:Gem::Version
160
+ hash: 3
161
+ segments:
162
+ - 0
122
163
  version: "0"
123
- type: :development
124
164
  prerelease: false
165
+ name: rack-cache
166
+ type: :development
125
167
  version_requirements: *id010
126
168
  - !ruby/object:Gem::Dependency
127
- name: rails
128
169
  requirement: &id011 !ruby/object:Gem::Requirement
129
170
  none: false
130
171
  requirements:
131
172
  - - "="
132
173
  - !ruby/object:Gem::Version
133
- version: 3.0.5
134
- type: :development
174
+ hash: 21
175
+ segments:
176
+ - 3
177
+ - 0
178
+ - 9
179
+ version: 3.0.9
135
180
  prerelease: false
181
+ name: rails
182
+ type: :development
136
183
  version_requirements: *id011
137
184
  - !ruby/object:Gem::Dependency
138
- name: rake
139
185
  requirement: &id012 !ruby/object:Gem::Requirement
140
186
  none: false
141
187
  requirements:
142
- - - ">="
188
+ - - "="
143
189
  - !ruby/object:Gem::Version
144
- version: "0"
145
- type: :development
190
+ hash: 49
191
+ segments:
192
+ - 0
193
+ - 8
194
+ - 7
195
+ version: 0.8.7
146
196
  prerelease: false
197
+ name: rake
198
+ type: :development
147
199
  version_requirements: *id012
148
200
  - !ruby/object:Gem::Dependency
149
- name: rspec
150
201
  requirement: &id013 !ruby/object:Gem::Requirement
151
202
  none: false
152
203
  requirements:
153
204
  - - ~>
154
205
  - !ruby/object:Gem::Version
206
+ hash: 9
207
+ segments:
208
+ - 2
209
+ - 5
155
210
  version: "2.5"
156
- type: :development
157
211
  prerelease: false
212
+ name: rspec
213
+ type: :development
158
214
  version_requirements: *id013
159
215
  - !ruby/object:Gem::Dependency
160
- name: webmock
161
216
  requirement: &id014 !ruby/object:Gem::Requirement
162
217
  none: false
163
218
  requirements:
164
219
  - - ">="
165
220
  - !ruby/object:Gem::Version
221
+ hash: 3
222
+ segments:
223
+ - 0
166
224
  version: "0"
167
- type: :development
168
225
  prerelease: false
226
+ name: webmock
227
+ type: :development
169
228
  version_requirements: *id014
170
229
  - !ruby/object:Gem::Dependency
171
- name: yard
172
230
  requirement: &id015 !ruby/object:Gem::Requirement
173
231
  none: false
174
232
  requirements:
175
233
  - - ">="
176
234
  - !ruby/object:Gem::Version
235
+ hash: 3
236
+ segments:
237
+ - 0
177
238
  version: "0"
178
- type: :development
179
239
  prerelease: false
240
+ name: yard
241
+ type: :development
180
242
  version_requirements: *id015
181
243
  - !ruby/object:Gem::Dependency
182
- name: bluecloth
183
244
  requirement: &id016 !ruby/object:Gem::Requirement
184
245
  none: false
185
246
  requirements:
186
247
  - - ">="
187
248
  - !ruby/object:Gem::Version
249
+ hash: 3
250
+ segments:
251
+ - 0
188
252
  version: "0"
189
- type: :development
190
253
  prerelease: false
254
+ name: bluecloth
255
+ type: :development
191
256
  version_requirements: *id016
192
257
  - !ruby/object:Gem::Dependency
193
- name: bson_ext
194
258
  requirement: &id017 !ruby/object:Gem::Requirement
195
259
  none: false
196
260
  requirements:
197
261
  - - ">="
198
262
  - !ruby/object:Gem::Version
263
+ hash: 3
264
+ segments:
265
+ - 0
199
266
  version: "0"
200
- type: :development
201
267
  prerelease: false
268
+ name: bson_ext
269
+ type: :development
202
270
  version_requirements: *id017
203
271
  - !ruby/object:Gem::Dependency
204
- name: sqlite3-ruby
205
272
  requirement: &id018 !ruby/object:Gem::Requirement
206
273
  none: false
207
274
  requirements:
208
275
  - - ">="
209
276
  - !ruby/object:Gem::Version
277
+ hash: 3
278
+ segments:
279
+ - 0
210
280
  version: "0"
211
- type: :development
212
281
  prerelease: false
282
+ name: sqlite3-ruby
283
+ type: :development
213
284
  version_requirements: *id018
214
285
  description: |-
215
286
  Dragonfly is a framework that enables on-the-fly processing for any content type.
@@ -258,22 +329,22 @@ files:
258
329
  - extra_docs/URLs.md
259
330
  - features/images.feature
260
331
  - features/no_processing.feature
261
- - features/rails_3.0.5.feature
332
+ - features/rails.feature
262
333
  - features/steps/common_steps.rb
263
334
  - features/steps/dragonfly_steps.rb
264
335
  - features/steps/rails_steps.rb
265
336
  - features/support/env.rb
266
337
  - features/support/setup.rb
267
- - fixtures/rails_3.0.5/files/app/models/album.rb
268
- - fixtures/rails_3.0.5/files/app/views/albums/new.html.erb
269
- - fixtures/rails_3.0.5/files/app/views/albums/show.html.erb
270
- - fixtures/rails_3.0.5/files/config/initializers/dragonfly.rb
271
- - fixtures/rails_3.0.5/files/features/manage_album_images.feature
272
- - fixtures/rails_3.0.5/files/features/step_definitions/helper_steps.rb
273
- - fixtures/rails_3.0.5/files/features/step_definitions/image_steps.rb
274
- - fixtures/rails_3.0.5/files/features/support/paths.rb
275
- - fixtures/rails_3.0.5/files/features/text_images.feature
276
- - fixtures/rails_3.0.5/template.rb
338
+ - fixtures/rails/files/app/models/album.rb
339
+ - fixtures/rails/files/app/views/albums/new.html.erb
340
+ - fixtures/rails/files/app/views/albums/show.html.erb
341
+ - fixtures/rails/files/config/initializers/dragonfly.rb
342
+ - fixtures/rails/files/features/manage_album_images.feature
343
+ - fixtures/rails/files/features/step_definitions/helper_steps.rb
344
+ - fixtures/rails/files/features/step_definitions/image_steps.rb
345
+ - fixtures/rails/files/features/support/paths.rb
346
+ - fixtures/rails/files/features/text_images.feature
347
+ - fixtures/rails/template.rb
277
348
  - irbrc.rb
278
349
  - lib/dragonfly.rb
279
350
  - lib/dragonfly/active_model_extensions.rb
@@ -336,6 +407,7 @@ files:
336
407
  - samples/round.gif
337
408
  - samples/sample.docx
338
409
  - samples/taj.jpg
410
+ - samples/white pixel.png
339
411
  - spec/dragonfly/active_model_extensions/model_spec.rb
340
412
  - spec/dragonfly/active_model_extensions/spec_helper.rb
341
413
  - spec/dragonfly/analyser_spec.rb
@@ -401,7 +473,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
401
473
  requirements:
402
474
  - - ">="
403
475
  - !ruby/object:Gem::Version
404
- hash: 1699270307650863016
476
+ hash: 3
405
477
  segments:
406
478
  - 0
407
479
  version: "0"
@@ -410,6 +482,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
410
482
  requirements:
411
483
  - - ">="
412
484
  - !ruby/object:Gem::Version
485
+ hash: 3
486
+ segments:
487
+ - 0
413
488
  version: "0"
414
489
  requirements: []
415
490
 
@@ -1,8 +0,0 @@
1
- Feature: champion uses dragonfly in his Rails 3.0.5 application
2
- In order to be a champion
3
- A user uses dragonfly in his Rails 3.0.5 application
4
-
5
- Scenario: Set up dragonfly using initializer
6
- Given a Rails 3.0.5 application set up for using dragonfly
7
- Then the manage_album_images cucumber features in my Rails 3.0.5 app should pass
8
- And the text_images cucumber features in my Rails 3.0.5 app should pass