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.
- data/Gemfile +3 -3
- data/History.md +11 -0
- data/VERSION +1 -1
- data/dragonfly.gemspec +23 -22
- data/extra_docs/Configuration.md +1 -2
- data/extra_docs/Models.md +5 -2
- data/features/rails.feature +8 -0
- data/features/steps/rails_steps.rb +8 -8
- data/fixtures/{rails_3.0.5 → rails}/files/app/models/album.rb +0 -0
- data/fixtures/{rails_3.0.5 → rails}/files/app/views/albums/new.html.erb +0 -0
- data/fixtures/{rails_3.0.5 → rails}/files/app/views/albums/show.html.erb +0 -0
- data/fixtures/{rails_3.0.5 → rails}/files/config/initializers/dragonfly.rb +0 -0
- data/fixtures/{rails_3.0.5 → rails}/files/features/manage_album_images.feature +0 -0
- data/fixtures/{rails_3.0.5 → rails}/files/features/step_definitions/helper_steps.rb +0 -0
- data/fixtures/{rails_3.0.5 → rails}/files/features/step_definitions/image_steps.rb +2 -2
- data/fixtures/{rails_3.0.5 → rails}/files/features/support/paths.rb +0 -0
- data/fixtures/{rails_3.0.5 → rails}/files/features/text_images.feature +0 -0
- data/fixtures/{rails_3.0.5 → rails}/template.rb +0 -0
- data/lib/dragonfly/active_model_extensions/attachment.rb +2 -0
- data/lib/dragonfly/app.rb +4 -0
- data/lib/dragonfly/image_magick/utils.rb +4 -7
- data/samples/white pixel.png +0 -0
- data/spec/dragonfly/app_spec.rb +4 -0
- data/spec/dragonfly/image_magick/analyser_spec.rb +6 -2
- data/spec/dragonfly/image_magick/processor_spec.rb +7 -2
- data/spec/dragonfly/temp_object_spec.rb +2 -2
- data/spec/spec_helper.rb +1 -1
- metadata +129 -54
- 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.
|
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.
|
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.
|
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.
|
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-
|
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/
|
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/
|
63
|
-
"fixtures/
|
64
|
-
"fixtures/
|
65
|
-
"fixtures/
|
66
|
-
"fixtures/
|
67
|
-
"fixtures/
|
68
|
-
"fixtures/
|
69
|
-
"fixtures/
|
70
|
-
"fixtures/
|
71
|
-
"fixtures/
|
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.
|
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.
|
253
|
-
s.add_development_dependency(%q<rake>, ["
|
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.
|
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.
|
272
|
-
s.add_dependency(%q<rake>, ["
|
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.
|
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.
|
292
|
-
s.add_dependency(%q<rake>, ["
|
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"])
|
data/extra_docs/Configuration.md
CHANGED
@@ -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/#{
|
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/#{
|
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
|
5
|
-
"#{FIXTURES_PATH}/
|
4
|
+
def fixture_path
|
5
|
+
"#{FIXTURES_PATH}/rails"
|
6
6
|
end
|
7
7
|
|
8
|
-
def app_path
|
9
|
-
"#{fixture_path
|
8
|
+
def app_path
|
9
|
+
"#{fixture_path}/#{RAILS_APP_NAME}"
|
10
10
|
end
|
11
11
|
|
12
12
|
##############################################################################
|
13
13
|
|
14
|
-
Given "a Rails
|
14
|
+
Given "a Rails application set up for using dragonfly" do
|
15
15
|
raise "Problem setting up Rails app" unless `
|
16
|
-
cd #{fixture_path
|
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
|
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
|
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"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -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.
|
20
|
-
tempfile.write page.
|
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
|
File without changes
|
File without changes
|
data/lib/dragonfly/app.rb
CHANGED
@@ -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
|
-
|
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
|
data/spec/dragonfly/app_spec.rb
CHANGED
@@ -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
|
-
|
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
|
-
|
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
|
-
|
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
|
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
|
-
|
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-
|
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
|
-
|
57
|
-
|
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
|
-
|
134
|
-
|
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
|
-
|
145
|
-
|
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/
|
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/
|
268
|
-
- fixtures/
|
269
|
-
- fixtures/
|
270
|
-
- fixtures/
|
271
|
-
- fixtures/
|
272
|
-
- fixtures/
|
273
|
-
- fixtures/
|
274
|
-
- fixtures/
|
275
|
-
- fixtures/
|
276
|
-
- fixtures/
|
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:
|
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
|