dragonfly 0.8.6 → 0.9.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 (155) hide show
  1. data/{.specopts → .rspec} +0 -1
  2. data/.yardopts +6 -2
  3. data/Gemfile +14 -13
  4. data/History.md +47 -9
  5. data/README.md +25 -5
  6. data/Rakefile +37 -79
  7. data/VERSION +1 -1
  8. data/dragonfly.gemspec +140 -89
  9. data/extra_docs/Analysers.md +8 -48
  10. data/extra_docs/Configuration.md +40 -25
  11. data/extra_docs/Couch.md +49 -0
  12. data/extra_docs/DataStorage.md +94 -24
  13. data/extra_docs/Encoding.md +6 -35
  14. data/extra_docs/ExampleUseCases.md +113 -0
  15. data/extra_docs/GeneralUsage.md +7 -23
  16. data/extra_docs/Generators.md +15 -49
  17. data/extra_docs/Heroku.md +7 -8
  18. data/extra_docs/ImageMagick.md +126 -0
  19. data/extra_docs/MimeTypes.md +3 -3
  20. data/extra_docs/Models.md +163 -0
  21. data/extra_docs/Mongo.md +1 -4
  22. data/extra_docs/Processing.md +7 -60
  23. data/extra_docs/Rails2.md +3 -1
  24. data/extra_docs/Rails3.md +2 -10
  25. data/extra_docs/ServingRemotely.md +83 -0
  26. data/extra_docs/Sinatra.md +3 -3
  27. data/extra_docs/URLs.md +60 -33
  28. data/features/rails_3.0.5.feature +8 -0
  29. data/features/steps/rails_steps.rb +7 -18
  30. data/features/support/env.rb +10 -37
  31. data/features/support/setup.rb +32 -0
  32. data/fixtures/rails_3.0.5/files/app/models/album.rb +5 -0
  33. data/fixtures/rails_3.0.5/files/app/views/albums/new.html.erb +7 -0
  34. data/fixtures/{files → rails_3.0.5/files}/app/views/albums/show.html.erb +2 -0
  35. data/fixtures/{files → rails_3.0.5/files}/config/initializers/dragonfly.rb +0 -0
  36. data/fixtures/rails_3.0.5/files/features/manage_album_images.feature +38 -0
  37. data/fixtures/rails_3.0.5/files/features/step_definitions/helper_steps.rb +7 -0
  38. data/fixtures/{files → rails_3.0.5/files}/features/step_definitions/image_steps.rb +11 -1
  39. data/fixtures/{files → rails_3.0.5/files}/features/support/paths.rb +2 -0
  40. data/fixtures/{files → rails_3.0.5/files}/features/text_images.feature +0 -0
  41. data/fixtures/{rails_3.0.3 → rails_3.0.5}/template.rb +2 -2
  42. data/irbrc.rb +2 -1
  43. data/lib/dragonfly.rb +7 -0
  44. data/lib/dragonfly/active_model_extensions/attachment.rb +134 -46
  45. data/lib/dragonfly/active_model_extensions/attachment_class_methods.rb +144 -0
  46. data/lib/dragonfly/active_model_extensions/class_methods.rb +62 -9
  47. data/lib/dragonfly/active_model_extensions/instance_methods.rb +2 -2
  48. data/lib/dragonfly/active_model_extensions/validations.rb +10 -6
  49. data/lib/dragonfly/analyser.rb +0 -1
  50. data/lib/dragonfly/analysis/file_command_analyser.rb +1 -1
  51. data/lib/dragonfly/analysis/image_magick_analyser.rb +2 -43
  52. data/lib/dragonfly/app.rb +64 -55
  53. data/lib/dragonfly/config/heroku.rb +1 -1
  54. data/lib/dragonfly/config/image_magick.rb +2 -37
  55. data/lib/dragonfly/config/rails.rb +5 -2
  56. data/lib/dragonfly/configurable.rb +115 -35
  57. data/lib/dragonfly/core_ext/object.rb +1 -1
  58. data/lib/dragonfly/core_ext/string.rb +1 -1
  59. data/lib/dragonfly/data_storage/couch_data_store.rb +84 -0
  60. data/lib/dragonfly/data_storage/file_data_store.rb +43 -18
  61. data/lib/dragonfly/data_storage/mongo_data_store.rb +8 -4
  62. data/lib/dragonfly/data_storage/s3data_store.rb +82 -38
  63. data/lib/dragonfly/encoding/image_magick_encoder.rb +2 -53
  64. data/lib/dragonfly/function_manager.rb +4 -2
  65. data/lib/dragonfly/generation/image_magick_generator.rb +2 -136
  66. data/lib/dragonfly/hash_with_css_style_keys.rb +21 -0
  67. data/lib/dragonfly/image_magick/analyser.rb +51 -0
  68. data/lib/dragonfly/image_magick/config.rb +44 -0
  69. data/lib/dragonfly/{encoding/r_magick_encoder.rb → image_magick/encoder.rb} +10 -14
  70. data/lib/dragonfly/image_magick/generator.rb +145 -0
  71. data/lib/dragonfly/image_magick/processor.rb +104 -0
  72. data/lib/dragonfly/image_magick/utils.rb +72 -0
  73. data/lib/dragonfly/image_magick_utils.rb +2 -79
  74. data/lib/dragonfly/job.rb +152 -90
  75. data/lib/dragonfly/middleware.rb +5 -19
  76. data/lib/dragonfly/processing/image_magick_processor.rb +2 -95
  77. data/lib/dragonfly/rails/images.rb +15 -10
  78. data/lib/dragonfly/response.rb +26 -12
  79. data/lib/dragonfly/serializer.rb +1 -4
  80. data/lib/dragonfly/server.rb +103 -0
  81. data/lib/dragonfly/temp_object.rb +56 -101
  82. data/lib/dragonfly/url_mapper.rb +78 -0
  83. data/spec/dragonfly/active_model_extensions/model_spec.rb +772 -65
  84. data/spec/dragonfly/active_model_extensions/spec_helper.rb +90 -10
  85. data/spec/dragonfly/analyser_spec.rb +1 -1
  86. data/spec/dragonfly/analysis/file_command_analyser_spec.rb +5 -14
  87. data/spec/dragonfly/app_spec.rb +35 -180
  88. data/spec/dragonfly/configurable_spec.rb +259 -18
  89. data/spec/dragonfly/core_ext/string_spec.rb +2 -2
  90. data/spec/dragonfly/core_ext/symbol_spec.rb +1 -1
  91. data/spec/dragonfly/data_storage/couch_data_store_spec.rb +84 -0
  92. data/spec/dragonfly/data_storage/file_data_store_spec.rb +149 -22
  93. data/spec/dragonfly/data_storage/mongo_data_store_spec.rb +21 -2
  94. data/spec/dragonfly/data_storage/s3_data_store_spec.rb +207 -43
  95. data/spec/dragonfly/data_storage/{data_store_spec.rb → shared_data_store_examples.rb} +16 -15
  96. data/spec/dragonfly/function_manager_spec.rb +2 -2
  97. data/spec/dragonfly/{generation/hash_with_css_style_keys_spec.rb → hash_with_css_style_keys_spec.rb} +2 -2
  98. data/spec/dragonfly/{analysis/shared_analyser_spec.rb → image_magick/analyser_spec.rb} +19 -6
  99. data/spec/dragonfly/{encoding/image_magick_encoder_spec.rb → image_magick/encoder_spec.rb} +2 -2
  100. data/spec/dragonfly/image_magick/generator_spec.rb +172 -0
  101. data/spec/dragonfly/{processing/shared_processing_spec.rb → image_magick/processor_spec.rb} +55 -6
  102. data/spec/dragonfly/image_magick/utils_spec.rb +18 -0
  103. data/spec/dragonfly/job_builder_spec.rb +1 -1
  104. data/spec/dragonfly/job_definitions_spec.rb +1 -1
  105. data/spec/dragonfly/job_endpoint_spec.rb +26 -3
  106. data/spec/dragonfly/job_spec.rb +426 -208
  107. data/spec/dragonfly/loggable_spec.rb +2 -2
  108. data/spec/dragonfly/middleware_spec.rb +5 -26
  109. data/spec/dragonfly/routed_endpoint_spec.rb +1 -1
  110. data/spec/dragonfly/serializer_spec.rb +1 -14
  111. data/spec/dragonfly/server_spec.rb +261 -0
  112. data/spec/dragonfly/simple_cache_spec.rb +1 -1
  113. data/spec/dragonfly/temp_object_spec.rb +84 -130
  114. data/spec/dragonfly/url_mapper_spec.rb +130 -0
  115. data/spec/functional/deprecations_spec.rb +51 -0
  116. data/spec/functional/image_magick_app_spec.rb +27 -0
  117. data/spec/functional/model_urls_spec.rb +85 -0
  118. data/spec/functional/remote_on_the_fly_spec.rb +51 -0
  119. data/spec/functional/to_response_spec.rb +31 -0
  120. data/spec/spec_helper.rb +12 -22
  121. data/spec/{argument_matchers.rb → support/argument_matchers.rb} +0 -0
  122. data/spec/{image_matchers.rb → support/image_matchers.rb} +4 -4
  123. data/spec/support/simple_matchers.rb +53 -0
  124. data/yard/handlers/configurable_attr_handler.rb +2 -2
  125. data/yard/templates/default/fulldoc/html/css/common.css +12 -10
  126. data/yard/templates/default/layout/html/layout.erb +6 -0
  127. metadata +267 -308
  128. data/Gemfile.rails.2.3.5 +0 -20
  129. data/features/3.0.3.feature +0 -8
  130. data/features/rails_2.3.5.feature +0 -7
  131. data/fixtures/files/app/models/album.rb +0 -3
  132. data/fixtures/files/app/views/albums/new.html.erb +0 -4
  133. data/fixtures/files/features/manage_album_images.feature +0 -12
  134. data/fixtures/rails_2.3.5/template.rb +0 -10
  135. data/lib/dragonfly/analysis/r_magick_analyser.rb +0 -63
  136. data/lib/dragonfly/config/r_magick.rb +0 -46
  137. data/lib/dragonfly/generation/hash_with_css_style_keys.rb +0 -23
  138. data/lib/dragonfly/generation/r_magick_generator.rb +0 -155
  139. data/lib/dragonfly/processing/r_magick_processor.rb +0 -126
  140. data/lib/dragonfly/r_magick_utils.rb +0 -48
  141. data/lib/dragonfly/simple_endpoint.rb +0 -76
  142. data/spec/dragonfly/active_model_extensions/active_model_setup.rb +0 -97
  143. data/spec/dragonfly/active_model_extensions/active_record_setup.rb +0 -85
  144. data/spec/dragonfly/analysis/image_magick_analyser_spec.rb +0 -15
  145. data/spec/dragonfly/analysis/r_magick_analyser_spec.rb +0 -31
  146. data/spec/dragonfly/config/r_magick_spec.rb +0 -29
  147. data/spec/dragonfly/encoding/r_magick_encoder_spec.rb +0 -41
  148. data/spec/dragonfly/generation/image_magick_generator_spec.rb +0 -12
  149. data/spec/dragonfly/generation/r_magick_generator_spec.rb +0 -28
  150. data/spec/dragonfly/generation/shared_generator_spec.rb +0 -91
  151. data/spec/dragonfly/image_magick_utils_spec.rb +0 -16
  152. data/spec/dragonfly/processing/image_magick_processor_spec.rb +0 -29
  153. data/spec/dragonfly/processing/r_magick_processor_spec.rb +0 -30
  154. data/spec/dragonfly/simple_endpoint_spec.rb +0 -97
  155. data/spec/simple_matchers.rb +0 -44
@@ -1,2 +1 @@
1
1
  --colour
2
-
data/.yardopts CHANGED
@@ -1,14 +1,16 @@
1
1
  --main extra_docs/Index.md
2
- -e yard/setup.rb
2
+ -e ./yard/setup.rb
3
3
  -
4
4
  README.md
5
5
  extra_docs/GeneralUsage.md
6
6
  extra_docs/Rails2.md
7
7
  extra_docs/Rails3.md
8
+ extra_docs/ImageMagick.md
8
9
  extra_docs/Rack.md
9
10
  extra_docs/Sinatra.md
10
11
  extra_docs/Heroku.md
11
12
  extra_docs/Mongo.md
13
+ extra_docs/Couch.md
12
14
  extra_docs/Models.md
13
15
  extra_docs/DataStorage.md
14
16
  extra_docs/Analysers.md
@@ -17,7 +19,9 @@ extra_docs/Encoding.md
17
19
  extra_docs/Generators.md
18
20
  extra_docs/Configuration.md
19
21
  extra_docs/URLs.md
20
- extra_docs/Caching.md
21
22
  extra_docs/MimeTypes.md
23
+ extra_docs/Caching.md
24
+ extra_docs/ServingRemotely.md
25
+ extra_docs/ExampleUseCases.md
22
26
  LICENSE
23
27
  History.md
data/Gemfile CHANGED
@@ -1,29 +1,30 @@
1
1
  source :rubygems
2
2
 
3
+ gem "rack"
4
+
3
5
  # These gems are needed for development and testing
4
6
  group :development, :test, :cucumber do
5
- gem 'aws-s3'
6
7
  gem 'capybara'
7
- gem 'cucumber'
8
- gem 'cucumber-rails'
9
- gem 'database_cleaner', '>= 0.5.0'
10
- gem 'jeweler', '~> 1.4'
11
- gem 'gherkin', '~> 2.11.6'
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'
12
13
  gem 'mongo'
13
- gem 'nokogiri', '1.5.0.beta.2' # 1.4.3.1 segfaults on Ruby 1.9.2
14
- gem 'rack', '~>1.1'
14
+ gem 'couchrest', '~> 1.0'
15
15
  gem 'rack-cache'
16
- gem 'rails', '3.0.3', :require => nil
17
- gem 'rake', '= 0.8.7'
18
- gem 'rspec', '~> 1.3'
16
+ gem 'rails', '3.0.5', :require => nil
17
+ gem 'rake'
18
+ gem 'rspec', '~> 2.5'
19
+ gem 'webmock'
19
20
  gem 'yard'
20
21
  if RUBY_PLATFORM == "java"
21
22
  gem "jdbc-sqlite3"
22
23
  gem "activerecord-jdbcsqlite3-adapter"
23
24
  gem "jruby-openssl"
24
25
  else
26
+ gem 'bluecloth'
25
27
  gem 'bson_ext'
26
- gem 'rmagick', '2.12.2', :require => nil
27
- gem 'sqlite3-ruby', '1.3.0' # 1.3.1 segfaults on Ruby 1.9.2
28
+ gem 'sqlite3-ruby'
28
29
  end
29
30
  end
data/History.md CHANGED
@@ -1,17 +1,55 @@
1
- 0.8.6 (2013-03-26)
1
+ 0.9.0 (2011-04-27)
2
2
  ==================
3
- Fixes
4
- -----
5
- - Backport of security fix for CVE-2013-1756 (in version 0.9.13)
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 model `retained_xxxxx` for avoiding multiple uploads when validations fail
14
+ - Added `image?` to imagemagick analyser
15
+ - Added imagemagick `plain` generator
16
+ - Added `strip` to imagemagick processor
17
+ - Added CouchDataStore that uses a CouchDB as a data storage engine
18
+ - Added `before_serve` callback
19
+ - Allowed for configurable response headers
20
+ - Made url re-definable with `define_url`
21
+ - `validates_property` can take a proc for the message
22
+ - Saved configs can be registered now so they can be used with `configure_with(:symbol)`
23
+ - Configurable objects can fallback to a parent configuration, so e.g. the server can be configured through the parent app's configure block.
24
+ - Allowed initializing data by using a pathname
25
+ - `convert_command` and `identify_command` can be configured on a per-app basis
26
+ - Added `remote_url` and ability for datastores to form urls
27
+ - Added for File, Couch and S3 datastores
28
+ - Models automatically copy magic attributes into meta
29
+ - S3DataStore configurable headers
30
+ - 'dragonfly/rails/images' slightly smarter and added `file_accessor` for more semantic use of non-image attachments
31
+ - Made dragonfly response configurable
32
+ - Mongo datastore can reuse an existing connection/db
33
+ - FileDataStore can be configured not to store meta (save on extra file)
34
+
35
+ Changes
36
+ -------
37
+ - Removed `url_path_prefix` and `url_suffix` in favour of `url_format`
38
+ - Middleware doesn't need mount point argument now
39
+ - Removed support for rails 2.3
40
+ - Removed RMagick support (and extracted into a plugin)
41
+ - ImageMagick processors etc. moved into the ImageMagick namespace
42
+ - moved from aws/s3 -> fog for S3 support
43
+ - Renamed SimpleEndpoint -> Server
44
+ - moved name and meta into Job, simplified, and now they don't cause the job to be applied
45
+ - FileDataStore stores metadata in xxx.meta now, not xxx.extra
46
+ - removed Job methods `uid_basename`, `uid_extname`, `encoded_format` and `encoded_extname` as they are now unnecessary
6
47
 
7
- 0.8.5 (2011-05-11)
8
- ==================
9
48
  Fixes
10
49
  -----
11
- - Allow filenames that have '..' in them (but not '../') in the filedatastore
12
- - Better security for server
50
+ - Performance tweaks regarding temp_objects model accessors and job objects
13
51
 
14
- 0.8.4 (2011-04-27)
52
+ 0.8.4 (2010-04-27)
15
53
  ==================
16
54
  Fixes
17
55
  -----
data/README.md CHANGED
@@ -5,12 +5,14 @@ Dragonfly is a <a href="http://rack.rubyforge.org">Rack</a> framework for on-the
5
5
 
6
6
  Ideal for using with Ruby on Rails (2.3 and 3), Sinatra and all that gubbins.
7
7
 
8
+ However, Dragonfly is NOT JUST FOR RAILS, and NOT JUST FOR IMAGES!!
9
+
8
10
  For the lazy Rails user...
9
11
  --------------------------
10
12
  **Gemfile**:
11
13
 
12
14
  gem 'rack-cache', :require => 'rack/cache'
13
- gem 'dragonfly', '~>0.8.6'
15
+ gem 'dragonfly', '~>0.9.0'
14
16
 
15
17
  **Initializer** (e.g. config/initializers/dragonfly.rb):
16
18
 
@@ -18,7 +20,9 @@ For the lazy Rails user...
18
20
 
19
21
  **Migration**:
20
22
 
21
- add_column :albums, :cover_image_uid, :string
23
+ add_column :albums, :cover_image_uid, :string
24
+ add_column :albums, :cover_image_name, :string # Optional - only if you want urls
25
+ # to end with the original filename
22
26
 
23
27
  **Model**:
24
28
 
@@ -38,6 +42,22 @@ For the lazy Rails user...
38
42
 
39
43
  NB: REMEMBER THE MULTIPART BIT!!!
40
44
 
45
+ You can avoid having to re-upload when validations fail with
46
+
47
+ <%= f.hidden_field :retained_cover_image %>
48
+
49
+ remove the attachment with
50
+
51
+ <%= f.check_box :remove_cover_image %>
52
+
53
+ assign from some other url with
54
+
55
+ <%= f.text_field :cover_image_url %>
56
+
57
+ and display a thumbnail (on the upload form) with
58
+
59
+ <%= image_tag @album.cover_image.thumb('100x100').url if @album.cover_image_uid %>
60
+
41
61
  **View** (to display):
42
62
 
43
63
  <%= image_tag @album.cover_image.url %>
@@ -59,9 +79,9 @@ If using Capistrano with the above, you probably will want to keep the cache bet
59
79
  end
60
80
  after 'deploy:update_code', 'dragonfly:symlink'
61
81
 
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.
82
+ Sinatra, CouchDB, Mongo, Rack, S3, custom storage, processing, and more...
83
+ --------------------------------------------------------------------------
84
+ Dragonfly is not just for Rails - it's primarily a Rack app, so you can use it as a standalone app, or with Sinatra, Merb, etc.
65
85
 
66
86
  It's highly customizable, and works with any data type (not just images).
67
87
 
data/Rakefile CHANGED
@@ -1,92 +1,50 @@
1
- require 'rake'
2
-
1
+ require 'rubygems'
2
+ require 'bundler'
3
3
  begin
4
- require 'jeweler'
5
- Jeweler::Tasks.new do |s|
6
- s.name = "dragonfly"
7
- s.summary = %Q{Dragonfly is an on-the-fly Rack-based image handling framework.
8
- It is suitable for use with Rails, Sinatra and other web frameworks. Although it's mainly used for images,
9
- it can handle any content type.}
10
- s.email = "mark@new-bamboo.co.uk"
11
- s.homepage = "http://github.com/markevans/dragonfly"
12
- s.authors = ["Mark Evans"]
13
- s.add_dependency('rack')
14
- end
15
- Jeweler::GemcutterTasks.new
16
- rescue LoadError
17
- puts "Jeweler not available. Install it with: (sudo) gem install jeweler"
4
+ Bundler.setup(:default, :development)
5
+ rescue Bundler::BundlerError => e
6
+ $stderr.puts e.message
7
+ $stderr.puts "Run `bundle install` to install missing gems"
8
+ exit e.status_code
18
9
  end
10
+ require 'rake'
19
11
 
20
- require 'rake/rdoctask'
21
- Rake::RDocTask.new do |rdoc|
22
- rdoc.rdoc_dir = 'rdoc'
23
- rdoc.title = 'dragonfly'
24
- rdoc.options << '--line-numbers' << '--inline-source'
25
- rdoc.rdoc_files.include('README*')
26
- rdoc.rdoc_files.include('lib/**/*.rb')
12
+ require 'jeweler'
13
+ Jeweler::Tasks.new do |gem|
14
+ gem.name = "dragonfly"
15
+ gem.email = "mark@new-bamboo.co.uk"
16
+ gem.summary = %Q{Ideal gem for handling attachments in Rails, Sinatra and Rack applications.}
17
+ gem.description = %Q{Dragonfly is a framework that enables on-the-fly processing for any content type.
18
+ It is especially suited to image handling. Its uses range from image thumbnails to standard attachments to on-demand text generation.}
19
+ gem.homepage = "http://github.com/markevans/dragonfly"
20
+ gem.license = "MIT"
21
+ gem.authors = ["Mark Evans"]
22
+ gem.add_runtime_dependency('rack')
27
23
  end
24
+ Jeweler::RubygemsDotOrgTasks.new
28
25
 
29
- begin
30
- require 'yard'
31
- YARD::Rake::YardocTask.new do |t|
32
- t.files = ['lib/**/*.rb']
33
- t.options = []
34
- end
35
- YARD::Rake::YardocTask.new 'yard:changed' do |t|
36
- t.files = `git status | grep '.rb' | grep modified | grep -v yard | cut -d' ' -f4`.split
37
- t.options = []
38
- end
39
- rescue LoadError
40
- puts "YARD is not available. To run the documentation tasks, install it with: (sudo) gem install yard"
26
+ require 'rspec/core'
27
+ require 'rspec/core/rake_task'
28
+ RSpec::Core::RakeTask.new(:spec) do |spec|
29
+ spec.pattern = FileList['spec/**/*_spec.rb']
41
30
  end
42
31
 
43
- desc "Run all the specs"
44
- task :spec do
45
- system "bundle exec spec -O .specopts spec/dragonfly"
32
+ RSpec::Core::RakeTask.new(:rcov) do |spec|
33
+ spec.pattern = 'spec/**/*_spec.rb'
34
+ spec.rcov = true
46
35
  end
47
36
 
48
- desc "Run the active model specs"
49
- task :model_spec do
50
- system "bundle exec spec -O .specopts spec/dragonfly/active_model_extensions"
51
- end
37
+ require 'cucumber/rake/task'
38
+ Cucumber::Rake::Task.new(:features)
52
39
 
53
- desc "Run the active_record specs (AR 2.3)"
54
- task :model_spec_235 do
55
- system "export BUNDLE_GEMFILE=Gemfile.rails.2.3.5 && bundle exec spec -O .specopts spec/dragonfly/active_model_extensions"
56
- end
40
+ task :default => [:spec, :features]
57
41
 
58
- task :features do
59
- system "bundle exec cucumber"
42
+ require 'yard'
43
+ YARD::Rake::YardocTask.new do |t|
44
+ t.files = ['lib/**/*.rb']
45
+ t.options = []
60
46
  end
61
-
62
- task :default do
63
- # Do everything!!!
64
- puts "*** Running all the specs using the default Gemfile ***"
65
- Rake::Task['spec'].invoke
66
- puts "*** Running the model specs with Gemfile.rails.2.3.5 ***"
67
- Rake::Task['model_spec_235'].invoke
68
- puts "*** Running the features ***"
69
- Rake::Task['features'].invoke
70
- end
71
-
72
- desc 'Set up a Rails app ready for testing'
73
- namespace :rails do
74
-
75
- task :setup do
76
- version = ENV['RAILS_VERSION']
77
- raise "Please give a RAILS_VERSION, e.g. RAILS_VERSION=2.3.5" unless version
78
- path = File.expand_path("fixtures/rails_#{version}")
79
- app_name = 'tmp_app'
80
- system %(
81
- cd #{path} &&
82
- rm -rf #{app_name} &&
83
- ../rails _#{version}_ #{app_name} -m template.rb
84
- )
85
- FileUtils.cp("fixtures/dragonfly_setup.rb", "#{path}/#{app_name}/config/initializers")
86
- system %(cd #{path}/#{app_name} && rake db:migrate)
87
- puts "*** Created a Rails #{version} app in #{path}/#{app_name} ***"
88
- puts "Now just start the server, and go to localhost:3000/albums"
89
- puts "***"
90
- end
91
-
47
+ YARD::Rake::YardocTask.new 'yard:changed' do |t|
48
+ t.files = `git status | grep '.rb' | grep modified | grep -v yard | cut -d' ' -f4`.split
49
+ t.options = []
92
50
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.8.6
1
+ 0.9.0
@@ -4,22 +4,23 @@
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = "dragonfly"
8
- s.version = "0.8.6"
7
+ s.name = %q{dragonfly}
8
+ s.version = "0.9.0"
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 = "2013-03-26"
13
- s.email = "mark@new-bamboo.co.uk"
12
+ s.date = %q{2011-04-27}
13
+ s.description = %q{Dragonfly is a framework that enables on-the-fly processing for any content type.
14
+ It is especially suited to image handling. Its uses range from image thumbnails to standard attachments to on-demand text generation.}
15
+ s.email = %q{mark@new-bamboo.co.uk}
14
16
  s.extra_rdoc_files = [
15
17
  "LICENSE",
16
18
  "README.md"
17
19
  ]
18
20
  s.files = [
19
- ".specopts",
21
+ ".rspec",
20
22
  ".yardopts",
21
23
  "Gemfile",
22
- "Gemfile.rails.2.3.5",
23
24
  "History.md",
24
25
  "LICENSE",
25
26
  "README.md",
@@ -31,11 +32,14 @@ Gem::Specification.new do |s|
31
32
  "extra_docs/Analysers.md",
32
33
  "extra_docs/Caching.md",
33
34
  "extra_docs/Configuration.md",
35
+ "extra_docs/Couch.md",
34
36
  "extra_docs/DataStorage.md",
35
37
  "extra_docs/Encoding.md",
38
+ "extra_docs/ExampleUseCases.md",
36
39
  "extra_docs/GeneralUsage.md",
37
40
  "extra_docs/Generators.md",
38
41
  "extra_docs/Heroku.md",
42
+ "extra_docs/ImageMagick.md",
39
43
  "extra_docs/Index.md",
40
44
  "extra_docs/MimeTypes.md",
41
45
  "extra_docs/Models.md",
@@ -44,41 +48,41 @@ Gem::Specification.new do |s|
44
48
  "extra_docs/Rack.md",
45
49
  "extra_docs/Rails2.md",
46
50
  "extra_docs/Rails3.md",
51
+ "extra_docs/ServingRemotely.md",
47
52
  "extra_docs/Sinatra.md",
48
53
  "extra_docs/URLs.md",
49
- "features/3.0.3.feature",
50
54
  "features/images.feature",
51
55
  "features/no_processing.feature",
52
- "features/rails_2.3.5.feature",
56
+ "features/rails_3.0.5.feature",
53
57
  "features/steps/common_steps.rb",
54
58
  "features/steps/dragonfly_steps.rb",
55
59
  "features/steps/rails_steps.rb",
56
60
  "features/support/env.rb",
57
- "fixtures/files/app/models/album.rb",
58
- "fixtures/files/app/views/albums/new.html.erb",
59
- "fixtures/files/app/views/albums/show.html.erb",
60
- "fixtures/files/config/initializers/dragonfly.rb",
61
- "fixtures/files/features/manage_album_images.feature",
62
- "fixtures/files/features/step_definitions/image_steps.rb",
63
- "fixtures/files/features/support/paths.rb",
64
- "fixtures/files/features/text_images.feature",
65
- "fixtures/rails_2.3.5/template.rb",
66
- "fixtures/rails_3.0.3/template.rb",
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",
67
72
  "irbrc.rb",
68
73
  "lib/dragonfly.rb",
69
74
  "lib/dragonfly/active_model_extensions.rb",
70
75
  "lib/dragonfly/active_model_extensions/attachment.rb",
76
+ "lib/dragonfly/active_model_extensions/attachment_class_methods.rb",
71
77
  "lib/dragonfly/active_model_extensions/class_methods.rb",
72
78
  "lib/dragonfly/active_model_extensions/instance_methods.rb",
73
79
  "lib/dragonfly/active_model_extensions/validations.rb",
74
80
  "lib/dragonfly/analyser.rb",
75
81
  "lib/dragonfly/analysis/file_command_analyser.rb",
76
82
  "lib/dragonfly/analysis/image_magick_analyser.rb",
77
- "lib/dragonfly/analysis/r_magick_analyser.rb",
78
83
  "lib/dragonfly/app.rb",
79
84
  "lib/dragonfly/config/heroku.rb",
80
85
  "lib/dragonfly/config/image_magick.rb",
81
- "lib/dragonfly/config/r_magick.rb",
82
86
  "lib/dragonfly/config/rails.rb",
83
87
  "lib/dragonfly/configurable.rb",
84
88
  "lib/dragonfly/core_ext/array.rb",
@@ -87,17 +91,22 @@ Gem::Specification.new do |s|
87
91
  "lib/dragonfly/core_ext/string.rb",
88
92
  "lib/dragonfly/core_ext/symbol.rb",
89
93
  "lib/dragonfly/data_storage.rb",
94
+ "lib/dragonfly/data_storage/couch_data_store.rb",
90
95
  "lib/dragonfly/data_storage/file_data_store.rb",
91
96
  "lib/dragonfly/data_storage/mongo_data_store.rb",
92
97
  "lib/dragonfly/data_storage/s3data_store.rb",
93
98
  "lib/dragonfly/encoder.rb",
94
99
  "lib/dragonfly/encoding/image_magick_encoder.rb",
95
- "lib/dragonfly/encoding/r_magick_encoder.rb",
96
100
  "lib/dragonfly/function_manager.rb",
97
- "lib/dragonfly/generation/hash_with_css_style_keys.rb",
98
101
  "lib/dragonfly/generation/image_magick_generator.rb",
99
- "lib/dragonfly/generation/r_magick_generator.rb",
100
102
  "lib/dragonfly/generator.rb",
103
+ "lib/dragonfly/hash_with_css_style_keys.rb",
104
+ "lib/dragonfly/image_magick/analyser.rb",
105
+ "lib/dragonfly/image_magick/config.rb",
106
+ "lib/dragonfly/image_magick/encoder.rb",
107
+ "lib/dragonfly/image_magick/generator.rb",
108
+ "lib/dragonfly/image_magick/processor.rb",
109
+ "lib/dragonfly/image_magick/utils.rb",
101
110
  "lib/dragonfly/image_magick_utils.rb",
102
111
  "lib/dragonfly/job.rb",
103
112
  "lib/dragonfly/job_builder.rb",
@@ -106,67 +115,63 @@ Gem::Specification.new do |s|
106
115
  "lib/dragonfly/loggable.rb",
107
116
  "lib/dragonfly/middleware.rb",
108
117
  "lib/dragonfly/processing/image_magick_processor.rb",
109
- "lib/dragonfly/processing/r_magick_processor.rb",
110
118
  "lib/dragonfly/processor.rb",
111
- "lib/dragonfly/r_magick_utils.rb",
112
119
  "lib/dragonfly/rails/images.rb",
113
120
  "lib/dragonfly/response.rb",
114
121
  "lib/dragonfly/routed_endpoint.rb",
115
122
  "lib/dragonfly/serializer.rb",
123
+ "lib/dragonfly/server.rb",
116
124
  "lib/dragonfly/simple_cache.rb",
117
- "lib/dragonfly/simple_endpoint.rb",
118
125
  "lib/dragonfly/temp_object.rb",
126
+ "lib/dragonfly/url_mapper.rb",
119
127
  "samples/beach.png",
120
128
  "samples/egg.png",
121
129
  "samples/round.gif",
122
130
  "samples/sample.docx",
123
131
  "samples/taj.jpg",
124
- "spec/argument_matchers.rb",
125
- "spec/dragonfly/active_model_extensions/active_model_setup.rb",
126
- "spec/dragonfly/active_model_extensions/active_record_setup.rb",
127
132
  "spec/dragonfly/active_model_extensions/model_spec.rb",
128
133
  "spec/dragonfly/active_model_extensions/spec_helper.rb",
129
134
  "spec/dragonfly/analyser_spec.rb",
130
135
  "spec/dragonfly/analysis/file_command_analyser_spec.rb",
131
- "spec/dragonfly/analysis/image_magick_analyser_spec.rb",
132
- "spec/dragonfly/analysis/r_magick_analyser_spec.rb",
133
- "spec/dragonfly/analysis/shared_analyser_spec.rb",
134
136
  "spec/dragonfly/app_spec.rb",
135
- "spec/dragonfly/config/r_magick_spec.rb",
136
137
  "spec/dragonfly/configurable_spec.rb",
137
138
  "spec/dragonfly/core_ext/array_spec.rb",
138
139
  "spec/dragonfly/core_ext/hash_spec.rb",
139
140
  "spec/dragonfly/core_ext/string_spec.rb",
140
141
  "spec/dragonfly/core_ext/symbol_spec.rb",
141
- "spec/dragonfly/data_storage/data_store_spec.rb",
142
+ "spec/dragonfly/data_storage/couch_data_store_spec.rb",
142
143
  "spec/dragonfly/data_storage/file_data_store_spec.rb",
143
144
  "spec/dragonfly/data_storage/mongo_data_store_spec.rb",
144
145
  "spec/dragonfly/data_storage/s3_data_store_spec.rb",
145
- "spec/dragonfly/encoding/image_magick_encoder_spec.rb",
146
- "spec/dragonfly/encoding/r_magick_encoder_spec.rb",
146
+ "spec/dragonfly/data_storage/shared_data_store_examples.rb",
147
147
  "spec/dragonfly/function_manager_spec.rb",
148
- "spec/dragonfly/generation/hash_with_css_style_keys_spec.rb",
149
- "spec/dragonfly/generation/image_magick_generator_spec.rb",
150
- "spec/dragonfly/generation/r_magick_generator_spec.rb",
151
- "spec/dragonfly/generation/shared_generator_spec.rb",
152
- "spec/dragonfly/image_magick_utils_spec.rb",
148
+ "spec/dragonfly/hash_with_css_style_keys_spec.rb",
149
+ "spec/dragonfly/image_magick/analyser_spec.rb",
150
+ "spec/dragonfly/image_magick/encoder_spec.rb",
151
+ "spec/dragonfly/image_magick/generator_spec.rb",
152
+ "spec/dragonfly/image_magick/processor_spec.rb",
153
+ "spec/dragonfly/image_magick/utils_spec.rb",
153
154
  "spec/dragonfly/job_builder_spec.rb",
154
155
  "spec/dragonfly/job_definitions_spec.rb",
155
156
  "spec/dragonfly/job_endpoint_spec.rb",
156
157
  "spec/dragonfly/job_spec.rb",
157
158
  "spec/dragonfly/loggable_spec.rb",
158
159
  "spec/dragonfly/middleware_spec.rb",
159
- "spec/dragonfly/processing/image_magick_processor_spec.rb",
160
- "spec/dragonfly/processing/r_magick_processor_spec.rb",
161
- "spec/dragonfly/processing/shared_processing_spec.rb",
162
160
  "spec/dragonfly/routed_endpoint_spec.rb",
163
161
  "spec/dragonfly/serializer_spec.rb",
162
+ "spec/dragonfly/server_spec.rb",
164
163
  "spec/dragonfly/simple_cache_spec.rb",
165
- "spec/dragonfly/simple_endpoint_spec.rb",
166
164
  "spec/dragonfly/temp_object_spec.rb",
167
- "spec/image_matchers.rb",
168
- "spec/simple_matchers.rb",
165
+ "spec/dragonfly/url_mapper_spec.rb",
166
+ "spec/functional/deprecations_spec.rb",
167
+ "spec/functional/image_magick_app_spec.rb",
168
+ "spec/functional/model_urls_spec.rb",
169
+ "spec/functional/remote_on_the_fly_spec.rb",
170
+ "spec/functional/to_response_spec.rb",
169
171
  "spec/spec_helper.rb",
172
+ "spec/support/argument_matchers.rb",
173
+ "spec/support/image_matchers.rb",
174
+ "spec/support/simple_matchers.rb",
170
175
  "yard/handlers/configurable_attr_handler.rb",
171
176
  "yard/setup.rb",
172
177
  "yard/templates/default/fulldoc/html/css/common.css",
@@ -174,74 +179,120 @@ Gem::Specification.new do |s|
174
179
  "yard/templates/default/module/html/configuration_summary.erb",
175
180
  "yard/templates/default/module/setup.rb"
176
181
  ]
177
- s.homepage = "http://github.com/markevans/dragonfly"
182
+ s.homepage = %q{http://github.com/markevans/dragonfly}
183
+ s.licenses = ["MIT"]
178
184
  s.require_paths = ["lib"]
179
- s.rubygems_version = "1.8.24"
180
- s.summary = "Dragonfly is an on-the-fly Rack-based image handling framework. It is suitable for use with Rails, Sinatra and other web frameworks. Although it's mainly used for images, it can handle any content type."
185
+ s.rubygems_version = %q{1.5.2}
186
+ s.summary = %q{Ideal gem for handling attachments in Rails, Sinatra and Rack applications.}
187
+ s.test_files = [
188
+ "spec/dragonfly/active_model_extensions/model_spec.rb",
189
+ "spec/dragonfly/active_model_extensions/spec_helper.rb",
190
+ "spec/dragonfly/analyser_spec.rb",
191
+ "spec/dragonfly/analysis/file_command_analyser_spec.rb",
192
+ "spec/dragonfly/app_spec.rb",
193
+ "spec/dragonfly/configurable_spec.rb",
194
+ "spec/dragonfly/core_ext/array_spec.rb",
195
+ "spec/dragonfly/core_ext/hash_spec.rb",
196
+ "spec/dragonfly/core_ext/string_spec.rb",
197
+ "spec/dragonfly/core_ext/symbol_spec.rb",
198
+ "spec/dragonfly/data_storage/couch_data_store_spec.rb",
199
+ "spec/dragonfly/data_storage/file_data_store_spec.rb",
200
+ "spec/dragonfly/data_storage/mongo_data_store_spec.rb",
201
+ "spec/dragonfly/data_storage/s3_data_store_spec.rb",
202
+ "spec/dragonfly/data_storage/shared_data_store_examples.rb",
203
+ "spec/dragonfly/function_manager_spec.rb",
204
+ "spec/dragonfly/hash_with_css_style_keys_spec.rb",
205
+ "spec/dragonfly/image_magick/analyser_spec.rb",
206
+ "spec/dragonfly/image_magick/encoder_spec.rb",
207
+ "spec/dragonfly/image_magick/generator_spec.rb",
208
+ "spec/dragonfly/image_magick/processor_spec.rb",
209
+ "spec/dragonfly/image_magick/utils_spec.rb",
210
+ "spec/dragonfly/job_builder_spec.rb",
211
+ "spec/dragonfly/job_definitions_spec.rb",
212
+ "spec/dragonfly/job_endpoint_spec.rb",
213
+ "spec/dragonfly/job_spec.rb",
214
+ "spec/dragonfly/loggable_spec.rb",
215
+ "spec/dragonfly/middleware_spec.rb",
216
+ "spec/dragonfly/routed_endpoint_spec.rb",
217
+ "spec/dragonfly/serializer_spec.rb",
218
+ "spec/dragonfly/server_spec.rb",
219
+ "spec/dragonfly/simple_cache_spec.rb",
220
+ "spec/dragonfly/temp_object_spec.rb",
221
+ "spec/dragonfly/url_mapper_spec.rb",
222
+ "spec/functional/deprecations_spec.rb",
223
+ "spec/functional/image_magick_app_spec.rb",
224
+ "spec/functional/model_urls_spec.rb",
225
+ "spec/functional/remote_on_the_fly_spec.rb",
226
+ "spec/functional/to_response_spec.rb",
227
+ "spec/spec_helper.rb",
228
+ "spec/support/argument_matchers.rb",
229
+ "spec/support/image_matchers.rb",
230
+ "spec/support/simple_matchers.rb"
231
+ ]
181
232
 
182
233
  if s.respond_to? :specification_version then
183
234
  s.specification_version = 3
184
235
 
185
236
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
186
- s.add_development_dependency(%q<aws-s3>, [">= 0"])
237
+ s.add_runtime_dependency(%q<rack>, [">= 0"])
187
238
  s.add_development_dependency(%q<capybara>, [">= 0"])
188
- s.add_development_dependency(%q<cucumber>, [">= 0"])
189
- s.add_development_dependency(%q<cucumber-rails>, [">= 0"])
190
- s.add_development_dependency(%q<database_cleaner>, [">= 0.5.0"])
191
- s.add_development_dependency(%q<jeweler>, ["~> 1.4"])
192
- s.add_development_dependency(%q<gherkin>, ["~> 2.11.6"])
239
+ s.add_development_dependency(%q<cucumber>, ["~> 0.10.0"])
240
+ s.add_development_dependency(%q<cucumber-rails>, ["~> 0.3.2"])
241
+ s.add_development_dependency(%q<database_cleaner>, [">= 0"])
242
+ s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
243
+ s.add_development_dependency(%q<fog>, [">= 0"])
193
244
  s.add_development_dependency(%q<mongo>, [">= 0"])
194
- s.add_development_dependency(%q<nokogiri>, ["= 1.5.0.beta.2"])
195
- s.add_development_dependency(%q<rack>, ["~> 1.1"])
245
+ s.add_development_dependency(%q<couchrest>, ["~> 1.0"])
196
246
  s.add_development_dependency(%q<rack-cache>, [">= 0"])
197
- s.add_development_dependency(%q<rails>, ["= 3.0.3"])
198
- s.add_development_dependency(%q<rake>, ["= 0.8.7"])
199
- s.add_development_dependency(%q<rspec>, ["~> 1.3"])
247
+ s.add_development_dependency(%q<rails>, ["= 3.0.5"])
248
+ s.add_development_dependency(%q<rake>, [">= 0"])
249
+ s.add_development_dependency(%q<rspec>, ["~> 2.5"])
250
+ s.add_development_dependency(%q<webmock>, [">= 0"])
200
251
  s.add_development_dependency(%q<yard>, [">= 0"])
252
+ s.add_development_dependency(%q<bluecloth>, [">= 0"])
201
253
  s.add_development_dependency(%q<bson_ext>, [">= 0"])
202
- s.add_development_dependency(%q<rmagick>, ["= 2.12.2"])
203
- s.add_development_dependency(%q<sqlite3-ruby>, ["= 1.3.0"])
254
+ s.add_development_dependency(%q<sqlite3-ruby>, [">= 0"])
204
255
  s.add_runtime_dependency(%q<rack>, [">= 0"])
205
256
  else
206
- s.add_dependency(%q<aws-s3>, [">= 0"])
257
+ s.add_dependency(%q<rack>, [">= 0"])
207
258
  s.add_dependency(%q<capybara>, [">= 0"])
208
- s.add_dependency(%q<cucumber>, [">= 0"])
209
- s.add_dependency(%q<cucumber-rails>, [">= 0"])
210
- s.add_dependency(%q<database_cleaner>, [">= 0.5.0"])
211
- s.add_dependency(%q<jeweler>, ["~> 1.4"])
212
- s.add_dependency(%q<gherkin>, ["~> 2.11.6"])
259
+ s.add_dependency(%q<cucumber>, ["~> 0.10.0"])
260
+ s.add_dependency(%q<cucumber-rails>, ["~> 0.3.2"])
261
+ s.add_dependency(%q<database_cleaner>, [">= 0"])
262
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
263
+ s.add_dependency(%q<fog>, [">= 0"])
213
264
  s.add_dependency(%q<mongo>, [">= 0"])
214
- s.add_dependency(%q<nokogiri>, ["= 1.5.0.beta.2"])
215
- s.add_dependency(%q<rack>, ["~> 1.1"])
265
+ s.add_dependency(%q<couchrest>, ["~> 1.0"])
216
266
  s.add_dependency(%q<rack-cache>, [">= 0"])
217
- s.add_dependency(%q<rails>, ["= 3.0.3"])
218
- s.add_dependency(%q<rake>, ["= 0.8.7"])
219
- s.add_dependency(%q<rspec>, ["~> 1.3"])
267
+ s.add_dependency(%q<rails>, ["= 3.0.5"])
268
+ s.add_dependency(%q<rake>, [">= 0"])
269
+ s.add_dependency(%q<rspec>, ["~> 2.5"])
270
+ s.add_dependency(%q<webmock>, [">= 0"])
220
271
  s.add_dependency(%q<yard>, [">= 0"])
272
+ s.add_dependency(%q<bluecloth>, [">= 0"])
221
273
  s.add_dependency(%q<bson_ext>, [">= 0"])
222
- s.add_dependency(%q<rmagick>, ["= 2.12.2"])
223
- s.add_dependency(%q<sqlite3-ruby>, ["= 1.3.0"])
274
+ s.add_dependency(%q<sqlite3-ruby>, [">= 0"])
224
275
  s.add_dependency(%q<rack>, [">= 0"])
225
276
  end
226
277
  else
227
- s.add_dependency(%q<aws-s3>, [">= 0"])
278
+ s.add_dependency(%q<rack>, [">= 0"])
228
279
  s.add_dependency(%q<capybara>, [">= 0"])
229
- s.add_dependency(%q<cucumber>, [">= 0"])
230
- s.add_dependency(%q<cucumber-rails>, [">= 0"])
231
- s.add_dependency(%q<database_cleaner>, [">= 0.5.0"])
232
- s.add_dependency(%q<jeweler>, ["~> 1.4"])
233
- s.add_dependency(%q<gherkin>, ["~> 2.11.6"])
280
+ s.add_dependency(%q<cucumber>, ["~> 0.10.0"])
281
+ s.add_dependency(%q<cucumber-rails>, ["~> 0.3.2"])
282
+ s.add_dependency(%q<database_cleaner>, [">= 0"])
283
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
284
+ s.add_dependency(%q<fog>, [">= 0"])
234
285
  s.add_dependency(%q<mongo>, [">= 0"])
235
- s.add_dependency(%q<nokogiri>, ["= 1.5.0.beta.2"])
236
- s.add_dependency(%q<rack>, ["~> 1.1"])
286
+ s.add_dependency(%q<couchrest>, ["~> 1.0"])
237
287
  s.add_dependency(%q<rack-cache>, [">= 0"])
238
- s.add_dependency(%q<rails>, ["= 3.0.3"])
239
- s.add_dependency(%q<rake>, ["= 0.8.7"])
240
- s.add_dependency(%q<rspec>, ["~> 1.3"])
288
+ s.add_dependency(%q<rails>, ["= 3.0.5"])
289
+ s.add_dependency(%q<rake>, [">= 0"])
290
+ s.add_dependency(%q<rspec>, ["~> 2.5"])
291
+ s.add_dependency(%q<webmock>, [">= 0"])
241
292
  s.add_dependency(%q<yard>, [">= 0"])
293
+ s.add_dependency(%q<bluecloth>, [">= 0"])
242
294
  s.add_dependency(%q<bson_ext>, [">= 0"])
243
- s.add_dependency(%q<rmagick>, ["= 2.12.2"])
244
- s.add_dependency(%q<sqlite3-ruby>, ["= 1.3.0"])
295
+ s.add_dependency(%q<sqlite3-ruby>, [">= 0"])
245
296
  s.add_dependency(%q<rack>, [">= 0"])
246
297
  end
247
298
  end