oahu-dragonfly 0.8.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (159) hide show
  1. data/.rspec +1 -0
  2. data/.yardopts +24 -0
  3. data/Gemfile +30 -0
  4. data/History.md +323 -0
  5. data/LICENSE +20 -0
  6. data/README.md +88 -0
  7. data/Rakefile +50 -0
  8. data/VERSION +1 -0
  9. data/config.ru +14 -0
  10. data/docs.watchr +1 -0
  11. data/dragonfly.gemspec +297 -0
  12. data/extra_docs/Analysers.md +66 -0
  13. data/extra_docs/Caching.md +23 -0
  14. data/extra_docs/Configuration.md +124 -0
  15. data/extra_docs/Couch.md +49 -0
  16. data/extra_docs/DataStorage.md +153 -0
  17. data/extra_docs/Encoding.md +67 -0
  18. data/extra_docs/GeneralUsage.md +121 -0
  19. data/extra_docs/Generators.md +60 -0
  20. data/extra_docs/Heroku.md +50 -0
  21. data/extra_docs/ImageMagick.md +125 -0
  22. data/extra_docs/Index.md +33 -0
  23. data/extra_docs/MimeTypes.md +40 -0
  24. data/extra_docs/Models.md +272 -0
  25. data/extra_docs/Mongo.md +45 -0
  26. data/extra_docs/Processing.md +77 -0
  27. data/extra_docs/Rack.md +52 -0
  28. data/extra_docs/Rails2.md +57 -0
  29. data/extra_docs/Rails3.md +62 -0
  30. data/extra_docs/Sinatra.md +25 -0
  31. data/extra_docs/URLs.md +169 -0
  32. data/features/images.feature +47 -0
  33. data/features/no_processing.feature +14 -0
  34. data/features/rails_3.0.5.feature +8 -0
  35. data/features/steps/common_steps.rb +8 -0
  36. data/features/steps/dragonfly_steps.rb +66 -0
  37. data/features/steps/rails_steps.rb +28 -0
  38. data/features/support/env.rb +13 -0
  39. data/features/support/setup.rb +32 -0
  40. data/fixtures/rails_3.0.5/files/app/models/album.rb +7 -0
  41. data/fixtures/rails_3.0.5/files/app/views/albums/new.html.erb +7 -0
  42. data/fixtures/rails_3.0.5/files/app/views/albums/show.html.erb +6 -0
  43. data/fixtures/rails_3.0.5/files/config/initializers/dragonfly.rb +4 -0
  44. data/fixtures/rails_3.0.5/files/features/manage_album_images.feature +38 -0
  45. data/fixtures/rails_3.0.5/files/features/step_definitions/helper_steps.rb +7 -0
  46. data/fixtures/rails_3.0.5/files/features/step_definitions/image_steps.rb +25 -0
  47. data/fixtures/rails_3.0.5/files/features/support/paths.rb +17 -0
  48. data/fixtures/rails_3.0.5/files/features/text_images.feature +7 -0
  49. data/fixtures/rails_3.0.5/template.rb +20 -0
  50. data/irbrc.rb +18 -0
  51. data/lib/dragonfly.rb +55 -0
  52. data/lib/dragonfly/active_model_extensions.rb +13 -0
  53. data/lib/dragonfly/active_model_extensions/attachment.rb +250 -0
  54. data/lib/dragonfly/active_model_extensions/attachment_class_methods.rb +148 -0
  55. data/lib/dragonfly/active_model_extensions/class_methods.rb +95 -0
  56. data/lib/dragonfly/active_model_extensions/instance_methods.rb +28 -0
  57. data/lib/dragonfly/active_model_extensions/validations.rb +41 -0
  58. data/lib/dragonfly/analyser.rb +58 -0
  59. data/lib/dragonfly/analysis/file_command_analyser.rb +32 -0
  60. data/lib/dragonfly/analysis/image_magick_analyser.rb +6 -0
  61. data/lib/dragonfly/app.rb +172 -0
  62. data/lib/dragonfly/config/heroku.rb +19 -0
  63. data/lib/dragonfly/config/image_magick.rb +6 -0
  64. data/lib/dragonfly/config/rails.rb +20 -0
  65. data/lib/dragonfly/configurable.rb +207 -0
  66. data/lib/dragonfly/core_ext/array.rb +7 -0
  67. data/lib/dragonfly/core_ext/hash.rb +7 -0
  68. data/lib/dragonfly/core_ext/object.rb +12 -0
  69. data/lib/dragonfly/core_ext/string.rb +9 -0
  70. data/lib/dragonfly/core_ext/symbol.rb +9 -0
  71. data/lib/dragonfly/data_storage.rb +9 -0
  72. data/lib/dragonfly/data_storage/couch_data_store.rb +64 -0
  73. data/lib/dragonfly/data_storage/file_data_store.rb +141 -0
  74. data/lib/dragonfly/data_storage/mongo_data_store.rb +86 -0
  75. data/lib/dragonfly/data_storage/s3data_store.rb +145 -0
  76. data/lib/dragonfly/encoder.rb +13 -0
  77. data/lib/dragonfly/encoding/image_magick_encoder.rb +6 -0
  78. data/lib/dragonfly/function_manager.rb +71 -0
  79. data/lib/dragonfly/generation/image_magick_generator.rb +6 -0
  80. data/lib/dragonfly/generator.rb +9 -0
  81. data/lib/dragonfly/hash_with_css_style_keys.rb +21 -0
  82. data/lib/dragonfly/image_magick/analyser.rb +51 -0
  83. data/lib/dragonfly/image_magick/config.rb +41 -0
  84. data/lib/dragonfly/image_magick/encoder.rb +57 -0
  85. data/lib/dragonfly/image_magick/generator.rb +145 -0
  86. data/lib/dragonfly/image_magick/processor.rb +99 -0
  87. data/lib/dragonfly/image_magick/utils.rb +72 -0
  88. data/lib/dragonfly/image_magick_utils.rb +4 -0
  89. data/lib/dragonfly/job.rb +451 -0
  90. data/lib/dragonfly/job_builder.rb +39 -0
  91. data/lib/dragonfly/job_definitions.rb +26 -0
  92. data/lib/dragonfly/job_endpoint.rb +15 -0
  93. data/lib/dragonfly/loggable.rb +28 -0
  94. data/lib/dragonfly/middleware.rb +20 -0
  95. data/lib/dragonfly/processing/image_magick_processor.rb +6 -0
  96. data/lib/dragonfly/processor.rb +9 -0
  97. data/lib/dragonfly/rails/images.rb +27 -0
  98. data/lib/dragonfly/response.rb +97 -0
  99. data/lib/dragonfly/routed_endpoint.rb +40 -0
  100. data/lib/dragonfly/serializer.rb +32 -0
  101. data/lib/dragonfly/server.rb +113 -0
  102. data/lib/dragonfly/simple_cache.rb +23 -0
  103. data/lib/dragonfly/temp_object.rb +175 -0
  104. data/lib/dragonfly/url_mapper.rb +78 -0
  105. data/samples/beach.png +0 -0
  106. data/samples/egg.png +0 -0
  107. data/samples/round.gif +0 -0
  108. data/samples/sample.docx +0 -0
  109. data/samples/taj.jpg +0 -0
  110. data/spec/dragonfly/active_model_extensions/model_spec.rb +1426 -0
  111. data/spec/dragonfly/active_model_extensions/spec_helper.rb +91 -0
  112. data/spec/dragonfly/analyser_spec.rb +123 -0
  113. data/spec/dragonfly/analysis/file_command_analyser_spec.rb +48 -0
  114. data/spec/dragonfly/app_spec.rb +135 -0
  115. data/spec/dragonfly/configurable_spec.rb +461 -0
  116. data/spec/dragonfly/core_ext/array_spec.rb +19 -0
  117. data/spec/dragonfly/core_ext/hash_spec.rb +19 -0
  118. data/spec/dragonfly/core_ext/string_spec.rb +17 -0
  119. data/spec/dragonfly/core_ext/symbol_spec.rb +17 -0
  120. data/spec/dragonfly/data_storage/couch_data_store_spec.rb +76 -0
  121. data/spec/dragonfly/data_storage/file_data_store_spec.rb +296 -0
  122. data/spec/dragonfly/data_storage/mongo_data_store_spec.rb +57 -0
  123. data/spec/dragonfly/data_storage/s3_data_store_spec.rb +258 -0
  124. data/spec/dragonfly/data_storage/shared_data_store_examples.rb +77 -0
  125. data/spec/dragonfly/function_manager_spec.rb +154 -0
  126. data/spec/dragonfly/hash_with_css_style_keys_spec.rb +24 -0
  127. data/spec/dragonfly/image_magick/analyser_spec.rb +64 -0
  128. data/spec/dragonfly/image_magick/encoder_spec.rb +41 -0
  129. data/spec/dragonfly/image_magick/generator_spec.rb +172 -0
  130. data/spec/dragonfly/image_magick/processor_spec.rb +233 -0
  131. data/spec/dragonfly/image_magick/utils_spec.rb +18 -0
  132. data/spec/dragonfly/job_builder_spec.rb +37 -0
  133. data/spec/dragonfly/job_definitions_spec.rb +35 -0
  134. data/spec/dragonfly/job_endpoint_spec.rb +173 -0
  135. data/spec/dragonfly/job_spec.rb +1046 -0
  136. data/spec/dragonfly/loggable_spec.rb +80 -0
  137. data/spec/dragonfly/middleware_spec.rb +47 -0
  138. data/spec/dragonfly/routed_endpoint_spec.rb +48 -0
  139. data/spec/dragonfly/serializer_spec.rb +61 -0
  140. data/spec/dragonfly/server_spec.rb +278 -0
  141. data/spec/dragonfly/simple_cache_spec.rb +27 -0
  142. data/spec/dragonfly/temp_object_spec.rb +306 -0
  143. data/spec/dragonfly/url_mapper_spec.rb +126 -0
  144. data/spec/functional/deprecations_spec.rb +51 -0
  145. data/spec/functional/image_magick_app_spec.rb +27 -0
  146. data/spec/functional/model_urls_spec.rb +85 -0
  147. data/spec/functional/remote_on_the_fly_spec.rb +51 -0
  148. data/spec/functional/to_response_spec.rb +31 -0
  149. data/spec/spec_helper.rb +51 -0
  150. data/spec/support/argument_matchers.rb +19 -0
  151. data/spec/support/image_matchers.rb +47 -0
  152. data/spec/support/simple_matchers.rb +53 -0
  153. data/yard/handlers/configurable_attr_handler.rb +38 -0
  154. data/yard/setup.rb +15 -0
  155. data/yard/templates/default/fulldoc/html/css/common.css +107 -0
  156. data/yard/templates/default/layout/html/layout.erb +89 -0
  157. data/yard/templates/default/module/html/configuration_summary.erb +31 -0
  158. data/yard/templates/default/module/setup.rb +17 -0
  159. metadata +544 -0
@@ -0,0 +1,15 @@
1
+ this_dir = File.dirname(__FILE__)
2
+
3
+ YARD::Templates::Engine.register_template_path(this_dir + '/templates')
4
+ Dir[this_dir + '/handlers/*.rb'].each do |file|
5
+ require File.expand_path(file)
6
+ end
7
+ YARD::Parser::SourceParser.parser_type = :ruby18
8
+
9
+ version = ENV['DRAGONFLY_VERSION']
10
+ DRAGONFLY_VERSION = if version
11
+ puts "Setting the version in the docs to #{version}"
12
+ version
13
+ else
14
+ File.read(this_dir + '/../VERSION').strip
15
+ end
@@ -0,0 +1,107 @@
1
+ /* Overrides for yard documentation */
2
+
3
+ /* Clearfix */
4
+ .clearfix:after {
5
+ content: ".";
6
+ display: block;
7
+ clear: both;
8
+ visibility: hidden;
9
+ line-height: 0;
10
+ height: 0;
11
+ }
12
+
13
+ .clearfix {
14
+ display: inline-block;
15
+ }
16
+
17
+ html[xmlns] .clearfix {
18
+ display: block;
19
+ }
20
+
21
+ * html .clearfix {
22
+ height: 1%;
23
+ }
24
+ /************/
25
+
26
+ pre, code, .code,
27
+ #filecontents pre.code,
28
+ .docstring pre.code,
29
+ .source_code pre {
30
+ font-family: monaco, 'Trebuchet MS', monospace;
31
+ }
32
+
33
+ pre.code, code {
34
+ background:#F5F5FF;
35
+ overflow-x: auto;
36
+ }
37
+ #filecontents pre.code {
38
+ margin:10px 0;
39
+ padding:5px 12px;
40
+ border-radius:5px;
41
+ -webkit-border-radius:5px;
42
+ -moz-border-radius:5px;
43
+ border: 1px dotted #CCC;
44
+ }
45
+
46
+ code .val {
47
+ color:#036A07;
48
+ }
49
+ code .kw {
50
+ color:#0000FF;
51
+ }
52
+ code .symbol {
53
+ color:#C5060B;
54
+ }
55
+
56
+ ul.main_files {
57
+ list-style-type:none;
58
+ margin:0;
59
+ padding:0;
60
+ font-size:14px;
61
+ }
62
+ ul.main_files li {
63
+ margin:0;
64
+ padding:0;
65
+ }
66
+ ul.main_files li:nth-child(odd) {
67
+ background-color:#fff;
68
+ }
69
+ ul.main_files li:nth-child(even) {
70
+ background-color:#eee;
71
+ }
72
+
73
+ ul.main_files li a {
74
+ margin: 0;
75
+ padding:7px 12px;
76
+ display:block;
77
+ }
78
+
79
+ /* Layout */
80
+ #header,
81
+ #content,
82
+ #footer {
83
+ margin:0 auto;
84
+ width:1000px;
85
+ }
86
+ #header #logo {
87
+ float:left;
88
+ width:50%;
89
+ font-size: 32px;
90
+ letter-spacing: -1px;
91
+ margin-top: 20px;
92
+ }
93
+ #header #search {
94
+ position:static;
95
+ float:right;
96
+ }
97
+ #content .col1 {
98
+ float:left;
99
+ width: 750px;
100
+ }
101
+ #content .col2 {
102
+ float:left;
103
+ margin: 20px 0 0 20px;
104
+ padding: 0 0 0 20px;
105
+ width: 200px;
106
+ border-left: 1px dotted #D5D5D5;
107
+ }
@@ -0,0 +1,89 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <%= erb(:headers) %>
6
+ <script type="text/javascript" charset="utf-8">
7
+ (function($){
8
+ // YARD automatically creates a table of contents
9
+ // Let's place it inside .col1, instead of #content
10
+ $(document).ready(function(){
11
+ $('#toc').prependTo($('.col1'));
12
+ <% if options[:file] == 'extra_docs/Index.md' %>
13
+ $('#toc').hide();
14
+ <% end %>
15
+ });
16
+ })(jQuery);
17
+ </script>
18
+ </head>
19
+ <body>
20
+ <!-- GOOGLE ANALYTICS -->
21
+ <script type="text/javascript">
22
+
23
+ var _gaq = _gaq || [];
24
+ _gaq.push(['_setAccount', 'UA-16382932-1']);
25
+ _gaq.push(['_trackPageview']);
26
+
27
+ (function() {
28
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
29
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
30
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
31
+ })();
32
+
33
+ </script>
34
+ <!-- *************** -->
35
+
36
+ <script type="text/javascript" charset="utf-8">
37
+ if (window.top.frames.main) document.body.className = 'frames';
38
+ </script>
39
+
40
+ <div id="header" class="clearfix">
41
+ <%#= erb(:breadcrumb) %>
42
+ <div id="logo">DRAGONFLY (v <%= DRAGONFLY_VERSION %>)</div>
43
+ <%= erb(:search) %>
44
+ </div>
45
+
46
+ <div>
47
+ <iframe id="search_frame"></iframe>
48
+ </div>
49
+
50
+ <div id="content" class="clearfix">
51
+ <div class="col1">
52
+ <%= yieldall %>
53
+ </div>
54
+ <div class="col2">
55
+ <ul class="main_files clearfix">
56
+ <%= [
57
+ ['Index', 'Home'],
58
+ ['README', 'Quick start for Rails (README)'],
59
+ ['GeneralUsage', 'General usage'],
60
+ ['Rails2', 'Rails 2.3'],
61
+ ['Rails3', 'Rails 3'],
62
+ ['Models', 'Models (ActiveRecord, ActiveModel, etc.)'],
63
+ ['ImageMagick', 'ImageMagick'],
64
+ ['Rack', 'Rack'],
65
+ ['Sinatra', 'Sinatra'],
66
+ ['Heroku', 'Heroku'],
67
+ ['Mongo', 'Mongo'],
68
+ ['Couch', 'Couch'],
69
+ ['DataStorage', 'Data Storage'],
70
+ ['Analysers', 'Analysers'],
71
+ ['Processing', 'Processing'],
72
+ ['Encoding', 'Encoding'],
73
+ ['Generators', 'Generators'],
74
+ ['Configuration', 'Configuration'],
75
+ ['URLs', 'URLs / Endpoints'],
76
+ ['MimeTypes', 'Mime Types'],
77
+ ['Caching', 'Caching'],
78
+ ['History', 'History'],
79
+ ].map{|(file, text)|
80
+ "<li>#{link_file(file, text)}</li>"
81
+ }.join
82
+ %>
83
+ </ul>
84
+ </div>
85
+ </div>
86
+
87
+ <%= erb(:footer) %>
88
+ </body>
89
+ </html>
@@ -0,0 +1,31 @@
1
+ <% configurable_attributes = object[:configurable_attributes] || [] %>
2
+ <% if configurable_attributes.any? %>
3
+ <h2>Configuration Summary</h2>
4
+ <h3>Configurable attributes</h3>
5
+ Configurable attributes for an object in general <code>object</code> can be configured either by using something like
6
+ <pre class="code">
7
+ object.configure <%= hl :do %> |c|
8
+ c.some_configurable_attribute = <%= hl 'some value' %>
9
+ c.some_other_configurable_attribute = <%= hl 42 %>
10
+ ...
11
+ <%= hl :end %>
12
+ </pre>
13
+ or
14
+ <pre class="code">
15
+ object.some_configurable_attribute = <%= hl 'some value' %>
16
+ </pre>
17
+ <h4>Configurable attributes for instances of <%= object %></h4>
18
+ <ul>
19
+ <% configurable_attributes.each do |attribute| %>
20
+ <li>
21
+ <code><%= attribute[:attribute] %></code>
22
+ <% if attribute[:lazy_default_value] %>
23
+ - default <code><%= hl attribute[:lazy_default_value] %></code> (evaluated lazily)
24
+ <% else %>
25
+ - default <code><%= hl attribute[:default_value] %></code>
26
+ <% end %>
27
+ <%= '- ' + attribute[:comments] if attribute[:comments] %>
28
+ </li>
29
+ <% end %>
30
+ </ul>
31
+ <% end %>
@@ -0,0 +1,17 @@
1
+ def init
2
+ super
3
+ sections.place(:configuration_summary).before(:method_summary)
4
+ end
5
+
6
+ # Highlight stuff
7
+ def hl(code)
8
+ case code
9
+ when :do, :end then %(<span class="kw">#{code}</span>)
10
+ when Symbol then %(<span class="symbol">#{code.inspect}</span>)
11
+ when Integer then %(<span class="integer val">#{code}</span>)
12
+ when String then %(<span class="string val">#{code.inspect}</span>)
13
+ when true, false then %(<span class="kw">#{code.inspect}</span>)
14
+ when nil then %(<span class="nil kw">#{code.inspect}</span>)
15
+ else code
16
+ end
17
+ end
metadata ADDED
@@ -0,0 +1,544 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: oahu-dragonfly
3
+ version: !ruby/object:Gem::Version
4
+ hash: 59
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 8
9
+ - 2
10
+ version: 0.8.2
11
+ platform: ruby
12
+ authors:
13
+ - Mark Evans
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-04-26 00:00:00 +02:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: rack
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 3
30
+ segments:
31
+ - 0
32
+ version: "0"
33
+ type: :runtime
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: capybara
37
+ prerelease: false
38
+ requirement: &id002 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ hash: 3
44
+ segments:
45
+ - 0
46
+ version: "0"
47
+ type: :development
48
+ version_requirements: *id002
49
+ - !ruby/object:Gem::Dependency
50
+ name: cucumber
51
+ prerelease: false
52
+ requirement: &id003 !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - ~>
56
+ - !ruby/object:Gem::Version
57
+ hash: 55
58
+ segments:
59
+ - 0
60
+ - 10
61
+ - 0
62
+ version: 0.10.0
63
+ type: :development
64
+ version_requirements: *id003
65
+ - !ruby/object:Gem::Dependency
66
+ name: cucumber-rails
67
+ prerelease: false
68
+ requirement: &id004 !ruby/object:Gem::Requirement
69
+ none: false
70
+ requirements:
71
+ - - ~>
72
+ - !ruby/object:Gem::Version
73
+ hash: 23
74
+ segments:
75
+ - 0
76
+ - 3
77
+ - 2
78
+ version: 0.3.2
79
+ type: :development
80
+ version_requirements: *id004
81
+ - !ruby/object:Gem::Dependency
82
+ name: database_cleaner
83
+ prerelease: false
84
+ requirement: &id005 !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ hash: 3
90
+ segments:
91
+ - 0
92
+ version: "0"
93
+ type: :development
94
+ version_requirements: *id005
95
+ - !ruby/object:Gem::Dependency
96
+ name: jeweler
97
+ prerelease: false
98
+ requirement: &id006 !ruby/object:Gem::Requirement
99
+ none: false
100
+ requirements:
101
+ - - ~>
102
+ - !ruby/object:Gem::Version
103
+ hash: 7
104
+ segments:
105
+ - 1
106
+ - 5
107
+ - 2
108
+ version: 1.5.2
109
+ type: :development
110
+ version_requirements: *id006
111
+ - !ruby/object:Gem::Dependency
112
+ name: fog
113
+ prerelease: false
114
+ requirement: &id007 !ruby/object:Gem::Requirement
115
+ none: false
116
+ requirements:
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ hash: 3
120
+ segments:
121
+ - 0
122
+ version: "0"
123
+ type: :development
124
+ version_requirements: *id007
125
+ - !ruby/object:Gem::Dependency
126
+ name: mongo
127
+ prerelease: false
128
+ requirement: &id008 !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ hash: 3
134
+ segments:
135
+ - 0
136
+ version: "0"
137
+ type: :development
138
+ version_requirements: *id008
139
+ - !ruby/object:Gem::Dependency
140
+ name: couchrest
141
+ prerelease: false
142
+ requirement: &id009 !ruby/object:Gem::Requirement
143
+ none: false
144
+ requirements:
145
+ - - ~>
146
+ - !ruby/object:Gem::Version
147
+ hash: 15
148
+ segments:
149
+ - 1
150
+ - 0
151
+ version: "1.0"
152
+ type: :development
153
+ version_requirements: *id009
154
+ - !ruby/object:Gem::Dependency
155
+ name: rack-cache
156
+ prerelease: false
157
+ requirement: &id010 !ruby/object:Gem::Requirement
158
+ none: false
159
+ requirements:
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ hash: 3
163
+ segments:
164
+ - 0
165
+ version: "0"
166
+ type: :development
167
+ version_requirements: *id010
168
+ - !ruby/object:Gem::Dependency
169
+ name: rails
170
+ prerelease: false
171
+ requirement: &id011 !ruby/object:Gem::Requirement
172
+ none: false
173
+ requirements:
174
+ - - "="
175
+ - !ruby/object:Gem::Version
176
+ hash: 13
177
+ segments:
178
+ - 3
179
+ - 0
180
+ - 5
181
+ version: 3.0.5
182
+ type: :development
183
+ version_requirements: *id011
184
+ - !ruby/object:Gem::Dependency
185
+ name: rake
186
+ prerelease: false
187
+ requirement: &id012 !ruby/object:Gem::Requirement
188
+ none: false
189
+ requirements:
190
+ - - ">="
191
+ - !ruby/object:Gem::Version
192
+ hash: 3
193
+ segments:
194
+ - 0
195
+ version: "0"
196
+ type: :development
197
+ version_requirements: *id012
198
+ - !ruby/object:Gem::Dependency
199
+ name: rspec
200
+ prerelease: false
201
+ requirement: &id013 !ruby/object:Gem::Requirement
202
+ none: false
203
+ requirements:
204
+ - - ~>
205
+ - !ruby/object:Gem::Version
206
+ hash: 9
207
+ segments:
208
+ - 2
209
+ - 5
210
+ version: "2.5"
211
+ type: :development
212
+ version_requirements: *id013
213
+ - !ruby/object:Gem::Dependency
214
+ name: webmock
215
+ prerelease: false
216
+ requirement: &id014 !ruby/object:Gem::Requirement
217
+ none: false
218
+ requirements:
219
+ - - ">="
220
+ - !ruby/object:Gem::Version
221
+ hash: 3
222
+ segments:
223
+ - 0
224
+ version: "0"
225
+ type: :development
226
+ version_requirements: *id014
227
+ - !ruby/object:Gem::Dependency
228
+ name: yard
229
+ prerelease: false
230
+ requirement: &id015 !ruby/object:Gem::Requirement
231
+ none: false
232
+ requirements:
233
+ - - ">="
234
+ - !ruby/object:Gem::Version
235
+ hash: 3
236
+ segments:
237
+ - 0
238
+ version: "0"
239
+ type: :development
240
+ version_requirements: *id015
241
+ - !ruby/object:Gem::Dependency
242
+ name: bluecloth
243
+ prerelease: false
244
+ requirement: &id016 !ruby/object:Gem::Requirement
245
+ none: false
246
+ requirements:
247
+ - - ">="
248
+ - !ruby/object:Gem::Version
249
+ hash: 3
250
+ segments:
251
+ - 0
252
+ version: "0"
253
+ type: :development
254
+ version_requirements: *id016
255
+ - !ruby/object:Gem::Dependency
256
+ name: bson_ext
257
+ prerelease: false
258
+ requirement: &id017 !ruby/object:Gem::Requirement
259
+ none: false
260
+ requirements:
261
+ - - ">="
262
+ - !ruby/object:Gem::Version
263
+ hash: 3
264
+ segments:
265
+ - 0
266
+ version: "0"
267
+ type: :development
268
+ version_requirements: *id017
269
+ - !ruby/object:Gem::Dependency
270
+ name: sqlite3-ruby
271
+ prerelease: false
272
+ requirement: &id018 !ruby/object:Gem::Requirement
273
+ none: false
274
+ requirements:
275
+ - - ">="
276
+ - !ruby/object:Gem::Version
277
+ hash: 3
278
+ segments:
279
+ - 0
280
+ version: "0"
281
+ type: :development
282
+ version_requirements: *id018
283
+ - !ruby/object:Gem::Dependency
284
+ name: rack
285
+ prerelease: false
286
+ requirement: &id019 !ruby/object:Gem::Requirement
287
+ none: false
288
+ requirements:
289
+ - - ">="
290
+ - !ruby/object:Gem::Version
291
+ hash: 3
292
+ segments:
293
+ - 0
294
+ version: "0"
295
+ type: :runtime
296
+ version_requirements: *id019
297
+ description: |-
298
+ Dragonfly is a framework that enables on-the-fly processing for any content type.
299
+ It is especially suited to image handling. Its uses range from image thumbnails to standard attachments to on-demand text generation.
300
+ email: mark@new-bamboo.co.uk
301
+ executables: []
302
+
303
+ extensions: []
304
+
305
+ extra_rdoc_files:
306
+ - LICENSE
307
+ - README.md
308
+ files:
309
+ - .rspec
310
+ - .yardopts
311
+ - Gemfile
312
+ - History.md
313
+ - LICENSE
314
+ - README.md
315
+ - Rakefile
316
+ - VERSION
317
+ - config.ru
318
+ - docs.watchr
319
+ - dragonfly.gemspec
320
+ - extra_docs/Analysers.md
321
+ - extra_docs/Caching.md
322
+ - extra_docs/Configuration.md
323
+ - extra_docs/Couch.md
324
+ - extra_docs/DataStorage.md
325
+ - extra_docs/Encoding.md
326
+ - extra_docs/GeneralUsage.md
327
+ - extra_docs/Generators.md
328
+ - extra_docs/Heroku.md
329
+ - extra_docs/ImageMagick.md
330
+ - extra_docs/Index.md
331
+ - extra_docs/MimeTypes.md
332
+ - extra_docs/Models.md
333
+ - extra_docs/Mongo.md
334
+ - extra_docs/Processing.md
335
+ - extra_docs/Rack.md
336
+ - extra_docs/Rails2.md
337
+ - extra_docs/Rails3.md
338
+ - extra_docs/Sinatra.md
339
+ - extra_docs/URLs.md
340
+ - features/images.feature
341
+ - features/no_processing.feature
342
+ - features/rails_3.0.5.feature
343
+ - features/steps/common_steps.rb
344
+ - features/steps/dragonfly_steps.rb
345
+ - features/steps/rails_steps.rb
346
+ - features/support/env.rb
347
+ - features/support/setup.rb
348
+ - fixtures/rails_3.0.5/files/app/models/album.rb
349
+ - fixtures/rails_3.0.5/files/app/views/albums/new.html.erb
350
+ - fixtures/rails_3.0.5/files/app/views/albums/show.html.erb
351
+ - fixtures/rails_3.0.5/files/config/initializers/dragonfly.rb
352
+ - fixtures/rails_3.0.5/files/features/manage_album_images.feature
353
+ - fixtures/rails_3.0.5/files/features/step_definitions/helper_steps.rb
354
+ - fixtures/rails_3.0.5/files/features/step_definitions/image_steps.rb
355
+ - fixtures/rails_3.0.5/files/features/support/paths.rb
356
+ - fixtures/rails_3.0.5/files/features/text_images.feature
357
+ - fixtures/rails_3.0.5/template.rb
358
+ - irbrc.rb
359
+ - lib/dragonfly.rb
360
+ - lib/dragonfly/active_model_extensions.rb
361
+ - lib/dragonfly/active_model_extensions/attachment.rb
362
+ - lib/dragonfly/active_model_extensions/attachment_class_methods.rb
363
+ - lib/dragonfly/active_model_extensions/class_methods.rb
364
+ - lib/dragonfly/active_model_extensions/instance_methods.rb
365
+ - lib/dragonfly/active_model_extensions/validations.rb
366
+ - lib/dragonfly/analyser.rb
367
+ - lib/dragonfly/analysis/file_command_analyser.rb
368
+ - lib/dragonfly/analysis/image_magick_analyser.rb
369
+ - lib/dragonfly/app.rb
370
+ - lib/dragonfly/config/heroku.rb
371
+ - lib/dragonfly/config/image_magick.rb
372
+ - lib/dragonfly/config/rails.rb
373
+ - lib/dragonfly/configurable.rb
374
+ - lib/dragonfly/core_ext/array.rb
375
+ - lib/dragonfly/core_ext/hash.rb
376
+ - lib/dragonfly/core_ext/object.rb
377
+ - lib/dragonfly/core_ext/string.rb
378
+ - lib/dragonfly/core_ext/symbol.rb
379
+ - lib/dragonfly/data_storage.rb
380
+ - lib/dragonfly/data_storage/couch_data_store.rb
381
+ - lib/dragonfly/data_storage/file_data_store.rb
382
+ - lib/dragonfly/data_storage/mongo_data_store.rb
383
+ - lib/dragonfly/data_storage/s3data_store.rb
384
+ - lib/dragonfly/encoder.rb
385
+ - lib/dragonfly/encoding/image_magick_encoder.rb
386
+ - lib/dragonfly/function_manager.rb
387
+ - lib/dragonfly/generation/image_magick_generator.rb
388
+ - lib/dragonfly/generator.rb
389
+ - lib/dragonfly/hash_with_css_style_keys.rb
390
+ - lib/dragonfly/image_magick/analyser.rb
391
+ - lib/dragonfly/image_magick/config.rb
392
+ - lib/dragonfly/image_magick/encoder.rb
393
+ - lib/dragonfly/image_magick/generator.rb
394
+ - lib/dragonfly/image_magick/processor.rb
395
+ - lib/dragonfly/image_magick/utils.rb
396
+ - lib/dragonfly/image_magick_utils.rb
397
+ - lib/dragonfly/job.rb
398
+ - lib/dragonfly/job_builder.rb
399
+ - lib/dragonfly/job_definitions.rb
400
+ - lib/dragonfly/job_endpoint.rb
401
+ - lib/dragonfly/loggable.rb
402
+ - lib/dragonfly/middleware.rb
403
+ - lib/dragonfly/processing/image_magick_processor.rb
404
+ - lib/dragonfly/processor.rb
405
+ - lib/dragonfly/rails/images.rb
406
+ - lib/dragonfly/response.rb
407
+ - lib/dragonfly/routed_endpoint.rb
408
+ - lib/dragonfly/serializer.rb
409
+ - lib/dragonfly/server.rb
410
+ - lib/dragonfly/simple_cache.rb
411
+ - lib/dragonfly/temp_object.rb
412
+ - lib/dragonfly/url_mapper.rb
413
+ - samples/beach.png
414
+ - samples/egg.png
415
+ - samples/round.gif
416
+ - samples/sample.docx
417
+ - samples/taj.jpg
418
+ - spec/dragonfly/active_model_extensions/model_spec.rb
419
+ - spec/dragonfly/active_model_extensions/spec_helper.rb
420
+ - spec/dragonfly/analyser_spec.rb
421
+ - spec/dragonfly/analysis/file_command_analyser_spec.rb
422
+ - spec/dragonfly/app_spec.rb
423
+ - spec/dragonfly/configurable_spec.rb
424
+ - spec/dragonfly/core_ext/array_spec.rb
425
+ - spec/dragonfly/core_ext/hash_spec.rb
426
+ - spec/dragonfly/core_ext/string_spec.rb
427
+ - spec/dragonfly/core_ext/symbol_spec.rb
428
+ - spec/dragonfly/data_storage/couch_data_store_spec.rb
429
+ - spec/dragonfly/data_storage/file_data_store_spec.rb
430
+ - spec/dragonfly/data_storage/mongo_data_store_spec.rb
431
+ - spec/dragonfly/data_storage/s3_data_store_spec.rb
432
+ - spec/dragonfly/data_storage/shared_data_store_examples.rb
433
+ - spec/dragonfly/function_manager_spec.rb
434
+ - spec/dragonfly/hash_with_css_style_keys_spec.rb
435
+ - spec/dragonfly/image_magick/analyser_spec.rb
436
+ - spec/dragonfly/image_magick/encoder_spec.rb
437
+ - spec/dragonfly/image_magick/generator_spec.rb
438
+ - spec/dragonfly/image_magick/processor_spec.rb
439
+ - spec/dragonfly/image_magick/utils_spec.rb
440
+ - spec/dragonfly/job_builder_spec.rb
441
+ - spec/dragonfly/job_definitions_spec.rb
442
+ - spec/dragonfly/job_endpoint_spec.rb
443
+ - spec/dragonfly/job_spec.rb
444
+ - spec/dragonfly/loggable_spec.rb
445
+ - spec/dragonfly/middleware_spec.rb
446
+ - spec/dragonfly/routed_endpoint_spec.rb
447
+ - spec/dragonfly/serializer_spec.rb
448
+ - spec/dragonfly/server_spec.rb
449
+ - spec/dragonfly/simple_cache_spec.rb
450
+ - spec/dragonfly/temp_object_spec.rb
451
+ - spec/dragonfly/url_mapper_spec.rb
452
+ - spec/functional/deprecations_spec.rb
453
+ - spec/functional/image_magick_app_spec.rb
454
+ - spec/functional/model_urls_spec.rb
455
+ - spec/functional/remote_on_the_fly_spec.rb
456
+ - spec/functional/to_response_spec.rb
457
+ - spec/spec_helper.rb
458
+ - spec/support/argument_matchers.rb
459
+ - spec/support/image_matchers.rb
460
+ - spec/support/simple_matchers.rb
461
+ - yard/handlers/configurable_attr_handler.rb
462
+ - yard/setup.rb
463
+ - yard/templates/default/fulldoc/html/css/common.css
464
+ - yard/templates/default/layout/html/layout.erb
465
+ - yard/templates/default/module/html/configuration_summary.erb
466
+ - yard/templates/default/module/setup.rb
467
+ has_rdoc: true
468
+ homepage: http://github.com/markevans/dragonfly
469
+ licenses:
470
+ - MIT
471
+ post_install_message:
472
+ rdoc_options: []
473
+
474
+ require_paths:
475
+ - lib
476
+ required_ruby_version: !ruby/object:Gem::Requirement
477
+ none: false
478
+ requirements:
479
+ - - ">="
480
+ - !ruby/object:Gem::Version
481
+ hash: 3
482
+ segments:
483
+ - 0
484
+ version: "0"
485
+ required_rubygems_version: !ruby/object:Gem::Requirement
486
+ none: false
487
+ requirements:
488
+ - - ">="
489
+ - !ruby/object:Gem::Version
490
+ hash: 3
491
+ segments:
492
+ - 0
493
+ version: "0"
494
+ requirements: []
495
+
496
+ rubyforge_project:
497
+ rubygems_version: 1.6.2
498
+ signing_key:
499
+ specification_version: 3
500
+ summary: Ideal gem for handling attachments in Rails, Sinatra and Rack applications.
501
+ test_files:
502
+ - spec/dragonfly/active_model_extensions/model_spec.rb
503
+ - spec/dragonfly/active_model_extensions/spec_helper.rb
504
+ - spec/dragonfly/analyser_spec.rb
505
+ - spec/dragonfly/analysis/file_command_analyser_spec.rb
506
+ - spec/dragonfly/app_spec.rb
507
+ - spec/dragonfly/configurable_spec.rb
508
+ - spec/dragonfly/core_ext/array_spec.rb
509
+ - spec/dragonfly/core_ext/hash_spec.rb
510
+ - spec/dragonfly/core_ext/string_spec.rb
511
+ - spec/dragonfly/core_ext/symbol_spec.rb
512
+ - spec/dragonfly/data_storage/couch_data_store_spec.rb
513
+ - spec/dragonfly/data_storage/file_data_store_spec.rb
514
+ - spec/dragonfly/data_storage/mongo_data_store_spec.rb
515
+ - spec/dragonfly/data_storage/s3_data_store_spec.rb
516
+ - spec/dragonfly/data_storage/shared_data_store_examples.rb
517
+ - spec/dragonfly/function_manager_spec.rb
518
+ - spec/dragonfly/hash_with_css_style_keys_spec.rb
519
+ - spec/dragonfly/image_magick/analyser_spec.rb
520
+ - spec/dragonfly/image_magick/encoder_spec.rb
521
+ - spec/dragonfly/image_magick/generator_spec.rb
522
+ - spec/dragonfly/image_magick/processor_spec.rb
523
+ - spec/dragonfly/image_magick/utils_spec.rb
524
+ - spec/dragonfly/job_builder_spec.rb
525
+ - spec/dragonfly/job_definitions_spec.rb
526
+ - spec/dragonfly/job_endpoint_spec.rb
527
+ - spec/dragonfly/job_spec.rb
528
+ - spec/dragonfly/loggable_spec.rb
529
+ - spec/dragonfly/middleware_spec.rb
530
+ - spec/dragonfly/routed_endpoint_spec.rb
531
+ - spec/dragonfly/serializer_spec.rb
532
+ - spec/dragonfly/server_spec.rb
533
+ - spec/dragonfly/simple_cache_spec.rb
534
+ - spec/dragonfly/temp_object_spec.rb
535
+ - spec/dragonfly/url_mapper_spec.rb
536
+ - spec/functional/deprecations_spec.rb
537
+ - spec/functional/image_magick_app_spec.rb
538
+ - spec/functional/model_urls_spec.rb
539
+ - spec/functional/remote_on_the_fly_spec.rb
540
+ - spec/functional/to_response_spec.rb
541
+ - spec/spec_helper.rb
542
+ - spec/support/argument_matchers.rb
543
+ - spec/support/image_matchers.rb
544
+ - spec/support/simple_matchers.rb