oahu-dragonfly 0.8.2
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.
- data/.rspec +1 -0
- data/.yardopts +24 -0
- data/Gemfile +30 -0
- data/History.md +323 -0
- data/LICENSE +20 -0
- data/README.md +88 -0
- data/Rakefile +50 -0
- data/VERSION +1 -0
- data/config.ru +14 -0
- data/docs.watchr +1 -0
- data/dragonfly.gemspec +297 -0
- data/extra_docs/Analysers.md +66 -0
- data/extra_docs/Caching.md +23 -0
- data/extra_docs/Configuration.md +124 -0
- data/extra_docs/Couch.md +49 -0
- data/extra_docs/DataStorage.md +153 -0
- data/extra_docs/Encoding.md +67 -0
- data/extra_docs/GeneralUsage.md +121 -0
- data/extra_docs/Generators.md +60 -0
- data/extra_docs/Heroku.md +50 -0
- data/extra_docs/ImageMagick.md +125 -0
- data/extra_docs/Index.md +33 -0
- data/extra_docs/MimeTypes.md +40 -0
- data/extra_docs/Models.md +272 -0
- data/extra_docs/Mongo.md +45 -0
- data/extra_docs/Processing.md +77 -0
- data/extra_docs/Rack.md +52 -0
- data/extra_docs/Rails2.md +57 -0
- data/extra_docs/Rails3.md +62 -0
- data/extra_docs/Sinatra.md +25 -0
- data/extra_docs/URLs.md +169 -0
- data/features/images.feature +47 -0
- data/features/no_processing.feature +14 -0
- data/features/rails_3.0.5.feature +8 -0
- data/features/steps/common_steps.rb +8 -0
- data/features/steps/dragonfly_steps.rb +66 -0
- data/features/steps/rails_steps.rb +28 -0
- data/features/support/env.rb +13 -0
- data/features/support/setup.rb +32 -0
- data/fixtures/rails_3.0.5/files/app/models/album.rb +7 -0
- data/fixtures/rails_3.0.5/files/app/views/albums/new.html.erb +7 -0
- data/fixtures/rails_3.0.5/files/app/views/albums/show.html.erb +6 -0
- data/fixtures/rails_3.0.5/files/config/initializers/dragonfly.rb +4 -0
- data/fixtures/rails_3.0.5/files/features/manage_album_images.feature +38 -0
- data/fixtures/rails_3.0.5/files/features/step_definitions/helper_steps.rb +7 -0
- data/fixtures/rails_3.0.5/files/features/step_definitions/image_steps.rb +25 -0
- data/fixtures/rails_3.0.5/files/features/support/paths.rb +17 -0
- data/fixtures/rails_3.0.5/files/features/text_images.feature +7 -0
- data/fixtures/rails_3.0.5/template.rb +20 -0
- data/irbrc.rb +18 -0
- data/lib/dragonfly.rb +55 -0
- data/lib/dragonfly/active_model_extensions.rb +13 -0
- data/lib/dragonfly/active_model_extensions/attachment.rb +250 -0
- data/lib/dragonfly/active_model_extensions/attachment_class_methods.rb +148 -0
- data/lib/dragonfly/active_model_extensions/class_methods.rb +95 -0
- data/lib/dragonfly/active_model_extensions/instance_methods.rb +28 -0
- data/lib/dragonfly/active_model_extensions/validations.rb +41 -0
- data/lib/dragonfly/analyser.rb +58 -0
- data/lib/dragonfly/analysis/file_command_analyser.rb +32 -0
- data/lib/dragonfly/analysis/image_magick_analyser.rb +6 -0
- data/lib/dragonfly/app.rb +172 -0
- data/lib/dragonfly/config/heroku.rb +19 -0
- data/lib/dragonfly/config/image_magick.rb +6 -0
- data/lib/dragonfly/config/rails.rb +20 -0
- data/lib/dragonfly/configurable.rb +207 -0
- data/lib/dragonfly/core_ext/array.rb +7 -0
- data/lib/dragonfly/core_ext/hash.rb +7 -0
- data/lib/dragonfly/core_ext/object.rb +12 -0
- data/lib/dragonfly/core_ext/string.rb +9 -0
- data/lib/dragonfly/core_ext/symbol.rb +9 -0
- data/lib/dragonfly/data_storage.rb +9 -0
- data/lib/dragonfly/data_storage/couch_data_store.rb +64 -0
- data/lib/dragonfly/data_storage/file_data_store.rb +141 -0
- data/lib/dragonfly/data_storage/mongo_data_store.rb +86 -0
- data/lib/dragonfly/data_storage/s3data_store.rb +145 -0
- data/lib/dragonfly/encoder.rb +13 -0
- data/lib/dragonfly/encoding/image_magick_encoder.rb +6 -0
- data/lib/dragonfly/function_manager.rb +71 -0
- data/lib/dragonfly/generation/image_magick_generator.rb +6 -0
- data/lib/dragonfly/generator.rb +9 -0
- data/lib/dragonfly/hash_with_css_style_keys.rb +21 -0
- data/lib/dragonfly/image_magick/analyser.rb +51 -0
- data/lib/dragonfly/image_magick/config.rb +41 -0
- data/lib/dragonfly/image_magick/encoder.rb +57 -0
- data/lib/dragonfly/image_magick/generator.rb +145 -0
- data/lib/dragonfly/image_magick/processor.rb +99 -0
- data/lib/dragonfly/image_magick/utils.rb +72 -0
- data/lib/dragonfly/image_magick_utils.rb +4 -0
- data/lib/dragonfly/job.rb +451 -0
- data/lib/dragonfly/job_builder.rb +39 -0
- data/lib/dragonfly/job_definitions.rb +26 -0
- data/lib/dragonfly/job_endpoint.rb +15 -0
- data/lib/dragonfly/loggable.rb +28 -0
- data/lib/dragonfly/middleware.rb +20 -0
- data/lib/dragonfly/processing/image_magick_processor.rb +6 -0
- data/lib/dragonfly/processor.rb +9 -0
- data/lib/dragonfly/rails/images.rb +27 -0
- data/lib/dragonfly/response.rb +97 -0
- data/lib/dragonfly/routed_endpoint.rb +40 -0
- data/lib/dragonfly/serializer.rb +32 -0
- data/lib/dragonfly/server.rb +113 -0
- data/lib/dragonfly/simple_cache.rb +23 -0
- data/lib/dragonfly/temp_object.rb +175 -0
- data/lib/dragonfly/url_mapper.rb +78 -0
- data/samples/beach.png +0 -0
- data/samples/egg.png +0 -0
- data/samples/round.gif +0 -0
- data/samples/sample.docx +0 -0
- data/samples/taj.jpg +0 -0
- data/spec/dragonfly/active_model_extensions/model_spec.rb +1426 -0
- data/spec/dragonfly/active_model_extensions/spec_helper.rb +91 -0
- data/spec/dragonfly/analyser_spec.rb +123 -0
- data/spec/dragonfly/analysis/file_command_analyser_spec.rb +48 -0
- data/spec/dragonfly/app_spec.rb +135 -0
- data/spec/dragonfly/configurable_spec.rb +461 -0
- data/spec/dragonfly/core_ext/array_spec.rb +19 -0
- data/spec/dragonfly/core_ext/hash_spec.rb +19 -0
- data/spec/dragonfly/core_ext/string_spec.rb +17 -0
- data/spec/dragonfly/core_ext/symbol_spec.rb +17 -0
- data/spec/dragonfly/data_storage/couch_data_store_spec.rb +76 -0
- data/spec/dragonfly/data_storage/file_data_store_spec.rb +296 -0
- data/spec/dragonfly/data_storage/mongo_data_store_spec.rb +57 -0
- data/spec/dragonfly/data_storage/s3_data_store_spec.rb +258 -0
- data/spec/dragonfly/data_storage/shared_data_store_examples.rb +77 -0
- data/spec/dragonfly/function_manager_spec.rb +154 -0
- data/spec/dragonfly/hash_with_css_style_keys_spec.rb +24 -0
- data/spec/dragonfly/image_magick/analyser_spec.rb +64 -0
- data/spec/dragonfly/image_magick/encoder_spec.rb +41 -0
- data/spec/dragonfly/image_magick/generator_spec.rb +172 -0
- data/spec/dragonfly/image_magick/processor_spec.rb +233 -0
- data/spec/dragonfly/image_magick/utils_spec.rb +18 -0
- data/spec/dragonfly/job_builder_spec.rb +37 -0
- data/spec/dragonfly/job_definitions_spec.rb +35 -0
- data/spec/dragonfly/job_endpoint_spec.rb +173 -0
- data/spec/dragonfly/job_spec.rb +1046 -0
- data/spec/dragonfly/loggable_spec.rb +80 -0
- data/spec/dragonfly/middleware_spec.rb +47 -0
- data/spec/dragonfly/routed_endpoint_spec.rb +48 -0
- data/spec/dragonfly/serializer_spec.rb +61 -0
- data/spec/dragonfly/server_spec.rb +278 -0
- data/spec/dragonfly/simple_cache_spec.rb +27 -0
- data/spec/dragonfly/temp_object_spec.rb +306 -0
- data/spec/dragonfly/url_mapper_spec.rb +126 -0
- data/spec/functional/deprecations_spec.rb +51 -0
- data/spec/functional/image_magick_app_spec.rb +27 -0
- data/spec/functional/model_urls_spec.rb +85 -0
- data/spec/functional/remote_on_the_fly_spec.rb +51 -0
- data/spec/functional/to_response_spec.rb +31 -0
- data/spec/spec_helper.rb +51 -0
- data/spec/support/argument_matchers.rb +19 -0
- data/spec/support/image_matchers.rb +47 -0
- data/spec/support/simple_matchers.rb +53 -0
- data/yard/handlers/configurable_attr_handler.rb +38 -0
- data/yard/setup.rb +15 -0
- data/yard/templates/default/fulldoc/html/css/common.css +107 -0
- data/yard/templates/default/layout/html/layout.erb +89 -0
- data/yard/templates/default/module/html/configuration_summary.erb +31 -0
- data/yard/templates/default/module/setup.rb +17 -0
- metadata +544 -0
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--colour
|
data/.yardopts
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
--main extra_docs/Index.md
|
2
|
+
-e ./yard/setup.rb
|
3
|
+
-
|
4
|
+
README.md
|
5
|
+
extra_docs/GeneralUsage.md
|
6
|
+
extra_docs/Rails2.md
|
7
|
+
extra_docs/Rails3.md
|
8
|
+
extra_docs/ImageMagick.md
|
9
|
+
extra_docs/Rack.md
|
10
|
+
extra_docs/Sinatra.md
|
11
|
+
extra_docs/Heroku.md
|
12
|
+
extra_docs/Mongo.md
|
13
|
+
extra_docs/Models.md
|
14
|
+
extra_docs/DataStorage.md
|
15
|
+
extra_docs/Analysers.md
|
16
|
+
extra_docs/Processing.md
|
17
|
+
extra_docs/Encoding.md
|
18
|
+
extra_docs/Generators.md
|
19
|
+
extra_docs/Configuration.md
|
20
|
+
extra_docs/URLs.md
|
21
|
+
extra_docs/Caching.md
|
22
|
+
extra_docs/MimeTypes.md
|
23
|
+
LICENSE
|
24
|
+
History.md
|
data/Gemfile
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
source :rubygems
|
2
|
+
|
3
|
+
gem "rack"
|
4
|
+
|
5
|
+
# These gems are needed for development and testing
|
6
|
+
group :development, :test, :cucumber do
|
7
|
+
gem 'capybara'
|
8
|
+
gem 'cucumber', '~>0.10.0'
|
9
|
+
gem 'cucumber-rails', '~>0.3.2'
|
10
|
+
gem 'database_cleaner'
|
11
|
+
gem 'jeweler', '~> 1.5.2'
|
12
|
+
gem 'fog'
|
13
|
+
gem 'mongo'
|
14
|
+
gem 'couchrest', '~> 1.0'
|
15
|
+
gem 'rack-cache'
|
16
|
+
gem 'rails', '3.0.5', :require => nil
|
17
|
+
gem 'rake'
|
18
|
+
gem 'rspec', '~> 2.5'
|
19
|
+
gem 'webmock'
|
20
|
+
gem 'yard'
|
21
|
+
if RUBY_PLATFORM == "java"
|
22
|
+
gem "jdbc-sqlite3"
|
23
|
+
gem "activerecord-jdbcsqlite3-adapter"
|
24
|
+
gem "jruby-openssl"
|
25
|
+
else
|
26
|
+
gem 'bluecloth'
|
27
|
+
gem 'bson_ext'
|
28
|
+
gem 'sqlite3-ruby'
|
29
|
+
end
|
30
|
+
end
|
data/History.md
ADDED
@@ -0,0 +1,323 @@
|
|
1
|
+
0.9.0 (2011-04-19)
|
2
|
+
==================
|
3
|
+
Features
|
4
|
+
--------
|
5
|
+
- Model accessors are configurable
|
6
|
+
- added `after_assign` callback
|
7
|
+
- added `after_unassign` callback
|
8
|
+
- added `copy_to` for e.g. up-front thumbnailing
|
9
|
+
- added `storage_opts` and `storage_xxx`
|
10
|
+
- Added model `remove_xxxxx` for using with checkboxes
|
11
|
+
- Added model `xxxx_url` for assigning content from a url
|
12
|
+
- Added job step `fetch_url`
|
13
|
+
- Added `retain` and `retain!` for avoiding multiple uploads when validations fail
|
14
|
+
- Added `image?` to imagemagick analyser
|
15
|
+
- Added imagemagick `plain` generator
|
16
|
+
- Added CouchDataStore that uses a CouchDB as a data storage engine
|
17
|
+
- Added `before_serve` callback
|
18
|
+
- Made url re-definable with `define_url`
|
19
|
+
- `validates_property` can take a proc for the message
|
20
|
+
- Saved configs can be registered now so they can be used with `configure_with(:symbol)`
|
21
|
+
- Configurable objects can fallback to a parent configuration, so e.g. the server can be configured through the parent app's configure block.
|
22
|
+
- Allowed initializing data by using a pathname
|
23
|
+
- `convert_command` and `identify_command` can be configured on a per-app basis
|
24
|
+
- Added `remote_url` and ability for datastores to form urls
|
25
|
+
- Added for File and S3 datastores
|
26
|
+
- Models automatically copy magic attributes into meta
|
27
|
+
- S3DataStore configurable headers
|
28
|
+
- 'dragonfly/rails/images' slightly smarter and added `file_accessor` for more semantic use of non-image attachments
|
29
|
+
- Made dragonfly response configurable
|
30
|
+
- Mongo datastore can reuse an existing connection/db
|
31
|
+
- FileDataStore can be configured not to store meta (save on extra file)
|
32
|
+
|
33
|
+
Changes
|
34
|
+
-------
|
35
|
+
- Removed `url_path_prefix` and `url_suffix` in favour of `url_format`
|
36
|
+
- Middleware doesn't need mount point argument now
|
37
|
+
- Removed support for rails 2.3
|
38
|
+
- Removed RMagick support (and extracted into a plugin)
|
39
|
+
- ImageMagick processors etc. moved into the ImageMagick namespace
|
40
|
+
- moved from aws/s3 -> fog for S3 support
|
41
|
+
- Renamed SimpleEndpoint -> Server
|
42
|
+
- moved name and meta into Job, simplified, and now they don't cause the job to be applied
|
43
|
+
- FileDataStore stores metadata in xxx.meta now, not xxx.extra
|
44
|
+
|
45
|
+
Fixes
|
46
|
+
-----
|
47
|
+
- Performance tweaks regarding temp_objects model accessors and job objects
|
48
|
+
|
49
|
+
0.8.2 (2010-01-11)
|
50
|
+
==================
|
51
|
+
Fixes
|
52
|
+
-----
|
53
|
+
- Renamed ActiveModel methods like 'attachments' to avoid name clashes
|
54
|
+
- Respond properly to HEAD, POST, PUT and DELETE requests
|
55
|
+
- Got it working with jRuby and Rubinius
|
56
|
+
- Made DOS protection SHA (and ETag) consistent
|
57
|
+
|
58
|
+
0.8.1 (2010-11-22)
|
59
|
+
==================
|
60
|
+
Fixes
|
61
|
+
-----
|
62
|
+
Removed runtime dependencies that Jeweler automatically takes from the Gemfile
|
63
|
+
|
64
|
+
0.8.0 (2010-11-21)
|
65
|
+
==================
|
66
|
+
Features
|
67
|
+
--------
|
68
|
+
- New ImageMagick generator, processor, encoder and analyser, which are now defaults
|
69
|
+
(thanks to Henry Phan for work on this)
|
70
|
+
|
71
|
+
Fixes
|
72
|
+
-----
|
73
|
+
- Works with Rails 3.0.2 uploaded files (which has a changed API)
|
74
|
+
|
75
|
+
|
76
|
+
0.7.7 (2010-10-31)
|
77
|
+
==================
|
78
|
+
Features
|
79
|
+
--------
|
80
|
+
- Added username/password authentication to mongo data store
|
81
|
+
|
82
|
+
Fixes
|
83
|
+
-----
|
84
|
+
- Fixes for Windows, inc. tempfile binmode and closing files
|
85
|
+
- "IOError: closed stream" fix (hopefully!)
|
86
|
+
|
87
|
+
|
88
|
+
0.7.6 (2010-09-12)
|
89
|
+
==================
|
90
|
+
Features
|
91
|
+
--------
|
92
|
+
- Added methods for querying job steps, and Job#uid, Job#uid_basename, etc.
|
93
|
+
- Added Job#b64_data
|
94
|
+
- Added configurable url_suffix
|
95
|
+
- Added configurable content_disposition and content_filename
|
96
|
+
- Can pass extra GET params to url_for
|
97
|
+
- Can manually set uid on FileDataStore and S3DataStore
|
98
|
+
(not yet documented because attachments have no way to pass it on yet)
|
99
|
+
- Model attachments store meta info about themselves
|
100
|
+
|
101
|
+
Changes
|
102
|
+
-------
|
103
|
+
- Configurable module doesn't implicitly call 'call' if attribute set as proc
|
104
|
+
- Refactored Endpoint module -> Response object
|
105
|
+
|
106
|
+
Fixes
|
107
|
+
-----
|
108
|
+
- Ruby 1.9.2-p0 was raising encoding errors due to Tempfiles not being in binmode
|
109
|
+
|
110
|
+
|
111
|
+
0.7.5 (2010-09-01)
|
112
|
+
==================
|
113
|
+
Changes
|
114
|
+
--------
|
115
|
+
- RMagick processor, encoder, analyser and generator all use the filesystem now
|
116
|
+
They can be configured to use in-memory strings with the use_filesystem config option.
|
117
|
+
- Upgraded support from Rails 3.0.0.rc -> Rails.3.0.0
|
118
|
+
|
119
|
+
0.7.4 (2010-08-28)
|
120
|
+
==================
|
121
|
+
Features
|
122
|
+
--------
|
123
|
+
- Gave model accessors bang methods process! and encode!
|
124
|
+
|
125
|
+
0.7.3 (2010-08-27)
|
126
|
+
==================
|
127
|
+
Fixes
|
128
|
+
-----
|
129
|
+
- Seems as though inserting after Rails' Rack::Lock was worth it after all
|
130
|
+
|
131
|
+
0.7.2 (2010-08-27)
|
132
|
+
==================
|
133
|
+
Fixes
|
134
|
+
-----
|
135
|
+
- S3DataStore was breaking if previous data hadn't stored meta
|
136
|
+
|
137
|
+
0.7.1 (2010-08-26)
|
138
|
+
==================
|
139
|
+
Fixes
|
140
|
+
-----
|
141
|
+
- SimpleEndpoint was modifying env path_info so wasn't creating proper cache keys
|
142
|
+
- to_response accepts env, so can use if-not-modified, etc.
|
143
|
+
|
144
|
+
Features
|
145
|
+
--------
|
146
|
+
- Doc tweaks: Added mongo page, notes about Capistrano
|
147
|
+
|
148
|
+
Changes
|
149
|
+
-------
|
150
|
+
- ETags generated by hash of job.serialize - was getting a bit long
|
151
|
+
|
152
|
+
0.7.0 (2010-08-25)
|
153
|
+
==================
|
154
|
+
|
155
|
+
Features
|
156
|
+
--------
|
157
|
+
- Ability to chain processing, encoding
|
158
|
+
- Added Generators for arbitrary content generation
|
159
|
+
- 'fetch_file' method for easily getting local files
|
160
|
+
- ActiveModel support
|
161
|
+
- Mongoid support
|
162
|
+
- Better Sinatra, etc. support (using 'to_response')
|
163
|
+
- Data stores now store meta, name and format information too
|
164
|
+
- Added Mongo Data Store
|
165
|
+
- temp_objects maintain name, meta, etc. across processing, encoding, etc.
|
166
|
+
- added portrait? and landscape? to RMagick analyser
|
167
|
+
- Ability to add single custom processor/encoder/analyser/generator
|
168
|
+
- added flip and flop to RMagick processor
|
169
|
+
- ability to configure whether it trusts the file extension
|
170
|
+
- nice text response for root path
|
171
|
+
- ability to configure url host
|
172
|
+
- ability to override path_prefix/host when calling url
|
173
|
+
- routed endpoints
|
174
|
+
- simple endpoints
|
175
|
+
- more intelligent working out of Content-Type to send back
|
176
|
+
|
177
|
+
Fixes
|
178
|
+
-----
|
179
|
+
- proper use of ETags
|
180
|
+
- remove whitespace from file/s3 datastore uids
|
181
|
+
- dragonfly/rails/images url-encodes rack-cache config for windows users
|
182
|
+
- Ruby 1.9.2 support
|
183
|
+
- Better RMagick memory management using image.destroy!
|
184
|
+
|
185
|
+
Changes
|
186
|
+
-------
|
187
|
+
- Dragonfly::App[:images] -> Dragonfly[:images]
|
188
|
+
- Moved text/plasma generation into Generator
|
189
|
+
- Use of lazy 'Job' objects
|
190
|
+
- simplified shortcuts interface
|
191
|
+
- changed interface for attaching to ActiveRecord
|
192
|
+
- simplified saved configurations and allow referring to them as symbols
|
193
|
+
- Removed need for Base class for datastores, processors, analysers and encoders
|
194
|
+
- FileCommandAnalyser included in Rails config, not RMagick
|
195
|
+
- better use of logging module for sharing logs between classes
|
196
|
+
- mounting the app is down the middleware/elsewhere, not the app itself
|
197
|
+
- DOS protection off by default
|
198
|
+
- encoded urls
|
199
|
+
- got rid of unnecessary configurable sha_length
|
200
|
+
|
201
|
+
|
202
|
+
|
203
|
+
0.6.2 (2010-06-24)
|
204
|
+
==================
|
205
|
+
Features
|
206
|
+
-----
|
207
|
+
- Added ability for custom error messages in validations
|
208
|
+
|
209
|
+
0.6.1 (2010-05-16)
|
210
|
+
==================
|
211
|
+
Fixes
|
212
|
+
-----
|
213
|
+
- STI was breaking when the model had a mixin too
|
214
|
+
|
215
|
+
0.6.0 (2010-05-11)
|
216
|
+
==================
|
217
|
+
|
218
|
+
Features
|
219
|
+
--------
|
220
|
+
- Added 'scale factor' for text generation, which gives better quality font rendering for smaller fonts
|
221
|
+
- Configurable objects allow for passing args, and passing a block for extra config
|
222
|
+
- Added more 'saved configurations', for easier setting up on e.g. Heroku
|
223
|
+
- Added RMagickAnalyser#format
|
224
|
+
- Added greyscale to RMagickProcessor
|
225
|
+
- S3DataStore is configurable as to whether it uses the filesystem or not (to save a tempfile)
|
226
|
+
|
227
|
+
Fixes
|
228
|
+
-----
|
229
|
+
- Some specs refactoring, including making text processing specs less brittle
|
230
|
+
- RMagickEncoder::SUPPORTED_FORMATS was proving problematic - now we use a configurable list instead
|
231
|
+
- Got Rails 3 beta3 cucumber features working
|
232
|
+
- Added check to see if bucket already exists in S3DataStore - apparently this was problematic in EU
|
233
|
+
|
234
|
+
Changes
|
235
|
+
-------
|
236
|
+
- temp_object.tempfile now returns a closed tempfile, which temp_object.file returns an open file.
|
237
|
+
Can also pass a block to temp_object.file which closes the file automatically
|
238
|
+
- Processors/Analysers/Encoders know about app now so can log to app's log
|
239
|
+
- Imagemagick errors in RMagick processor/analyser/encoder now throw unable_to_handle and log a warning
|
240
|
+
- Removed Rails generators - better being more explicit with saved configurations which are more concise now
|
241
|
+
|
242
|
+
0.5.7 (2010-04-18)
|
243
|
+
==================
|
244
|
+
|
245
|
+
Fixes
|
246
|
+
--------
|
247
|
+
- Strip file command mime_type value because some versions of file command were appending a line-break
|
248
|
+
|
249
|
+
0.5.6 (2010-04-13)
|
250
|
+
==================
|
251
|
+
|
252
|
+
Fixes
|
253
|
+
--------
|
254
|
+
- Wasn't working properly with Single-Table Inheritance
|
255
|
+
|
256
|
+
0.5.5 (2010-04-13)
|
257
|
+
==================
|
258
|
+
|
259
|
+
Fixes
|
260
|
+
--------
|
261
|
+
- Rails 3 has changed 'metaclass' -> 'singleton_class' so adapt accordingly
|
262
|
+
|
263
|
+
0.5.4 (2010-04-12)
|
264
|
+
==================
|
265
|
+
|
266
|
+
Features
|
267
|
+
--------
|
268
|
+
- Allow setting the uid manually
|
269
|
+
|
270
|
+
Fixes
|
271
|
+
-----
|
272
|
+
- Assigning an accessor to nil wasn't working properly
|
273
|
+
|
274
|
+
|
275
|
+
0.5.3 (2010-03-27)
|
276
|
+
==================
|
277
|
+
|
278
|
+
Fixes
|
279
|
+
-----
|
280
|
+
- Assigning an accessor to nil wasn't working properly
|
281
|
+
|
282
|
+
|
283
|
+
0.5.2 (2010-03-04)
|
284
|
+
==================
|
285
|
+
|
286
|
+
Features
|
287
|
+
--------
|
288
|
+
- Added 'registered mime-types'
|
289
|
+
- Enhanced docs
|
290
|
+
|
291
|
+
Fixes
|
292
|
+
-----
|
293
|
+
- RMagickEncoder only encodes if not already in that format
|
294
|
+
|
295
|
+
|
296
|
+
0.5.1 (2010-02-20)
|
297
|
+
==================
|
298
|
+
|
299
|
+
Fixes
|
300
|
+
-----
|
301
|
+
- Fixed 'broken pipe' errors in FileCommandAnalyser due to outputting loads of stuff to the command line stdin
|
302
|
+
|
303
|
+
0.5.0 (2010-02-20)
|
304
|
+
==================
|
305
|
+
|
306
|
+
Added support
|
307
|
+
-------------
|
308
|
+
- support for Rails 3
|
309
|
+
|
310
|
+
|
311
|
+
0.4.4 (2010-02-16)
|
312
|
+
==================
|
313
|
+
|
314
|
+
Better late than never to start logging change history...
|
315
|
+
|
316
|
+
New features
|
317
|
+
------------
|
318
|
+
- added aspect_ratio to rmagick_analyser
|
319
|
+
|
320
|
+
Added support
|
321
|
+
-------------
|
322
|
+
- support for ruby 1.9
|
323
|
+
- added development dependencies to gemspec for easier setting up
|
data/LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2009-2010 Mark Evans
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,88 @@
|
|
1
|
+
Dragonfly
|
2
|
+
===========
|
3
|
+
|
4
|
+
Dragonfly is a <a href="http://rack.rubyforge.org">Rack</a> framework for on-the-fly image handling.
|
5
|
+
|
6
|
+
Ideal for using with Ruby on Rails (2.3 and 3), Sinatra and all that gubbins.
|
7
|
+
|
8
|
+
For the lazy Rails user...
|
9
|
+
--------------------------
|
10
|
+
**Gemfile**:
|
11
|
+
|
12
|
+
gem 'rack-cache', :require => 'rack/cache'
|
13
|
+
gem 'dragonfly', '~>0.8.2'
|
14
|
+
|
15
|
+
**Initializer** (e.g. config/initializers/dragonfly.rb):
|
16
|
+
|
17
|
+
require 'dragonfly/rails/images'
|
18
|
+
|
19
|
+
**Migration**:
|
20
|
+
|
21
|
+
add_column :albums, :cover_image_uid, :string
|
22
|
+
|
23
|
+
**Model**:
|
24
|
+
|
25
|
+
class Album < ActiveRecord::Base
|
26
|
+
image_accessor :cover_image # 'image_accessor' is provided by Dragonfly
|
27
|
+
# this defines a reader/writer for cover_image
|
28
|
+
# ...
|
29
|
+
end
|
30
|
+
|
31
|
+
**View** (for uploading via a file field):
|
32
|
+
|
33
|
+
<% form_for @album, :html => {:multipart => true} do |f| %>
|
34
|
+
...
|
35
|
+
<%= f.file_field :cover_image %>
|
36
|
+
...
|
37
|
+
<% end %>
|
38
|
+
|
39
|
+
NB: REMEMBER THE MULTIPART BIT!!!
|
40
|
+
|
41
|
+
**View** (to display):
|
42
|
+
|
43
|
+
<%= image_tag @album.cover_image.url %>
|
44
|
+
<%= image_tag @album.cover_image.thumb('400x200#').url %>
|
45
|
+
<%= image_tag @album.cover_image.jpg.url %>
|
46
|
+
<%= image_tag @album.cover_image.process(:greyscale).encode(:tiff).url %>
|
47
|
+
...etc.
|
48
|
+
|
49
|
+
The above relies on imagemagick being installed. Dragonfly doesn't depend on it per se, but the default configuration `'dragonfly/rails/images'`
|
50
|
+
uses it. For alternative configurations, see below.
|
51
|
+
|
52
|
+
If using Capistrano with the above, you probably will want to keep the cache between deploys, so in deploy.rb:
|
53
|
+
|
54
|
+
namespace :dragonfly do
|
55
|
+
desc "Symlink the Rack::Cache files"
|
56
|
+
task :symlink, :roles => [:app] do
|
57
|
+
run "mkdir -p #{shared_path}/tmp/dragonfly && ln -nfs #{shared_path}/tmp/dragonfly #{release_path}/tmp/dragonfly"
|
58
|
+
end
|
59
|
+
end
|
60
|
+
after 'deploy:update_code', 'dragonfly:symlink'
|
61
|
+
|
62
|
+
Using outside of rails, custom storage/processing/encoding/analysis, and more...
|
63
|
+
--------------------------------------------------------------------------------
|
64
|
+
Dragonfly is primarily a Rack app, so you can use it as a standalone app, or with Sinatra, Merb, etc.
|
65
|
+
|
66
|
+
It's highly customizable, and works with any data type (not just images).
|
67
|
+
|
68
|
+
For more info, consult the <a href="http://markevans.github.com/dragonfly"><big><strong>DOCUMENTATION</strong></big></a>
|
69
|
+
|
70
|
+
Add-ons
|
71
|
+
=======
|
72
|
+
For third-party add-ons, see [the Add-ons wiki](http://github.com/markevans/dragonfly/wiki/Dragonfly-add-ons)
|
73
|
+
|
74
|
+
Issues
|
75
|
+
======
|
76
|
+
Please use the <a href="http://github.com/markevans/dragonfly/issues">github issue tracker</a> if you have any issues.
|
77
|
+
|
78
|
+
Suggestions/Questions
|
79
|
+
=====================
|
80
|
+
<a href="http://groups.google.com/group/dragonfly-users">Google group dragonfly-users</a>
|
81
|
+
|
82
|
+
Credits
|
83
|
+
=======
|
84
|
+
- [Mark Evans](http://github.com/markevans) (author)
|
85
|
+
|
86
|
+
Copyright
|
87
|
+
========
|
88
|
+
Copyright (c) 2009-2010 Mark Evans. See LICENSE for details.
|