paperclip-v2_7-patched-ruby-1_8_6 2.7.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +23 -0
  3. data/.travis.yml +14 -0
  4. data/Appraisals +20 -0
  5. data/CONTRIBUTING.md +38 -0
  6. data/Gemfile +5 -0
  7. data/LICENSE +26 -0
  8. data/NEWS +69 -0
  9. data/README.md +444 -0
  10. data/Rakefile +41 -0
  11. data/cucumber/paperclip_steps.rb +6 -0
  12. data/features/basic_integration.feature +48 -0
  13. data/features/rake_tasks.feature +68 -0
  14. data/features/step_definitions/attachment_steps.rb +65 -0
  15. data/features/step_definitions/html_steps.rb +15 -0
  16. data/features/step_definitions/rails_steps.rb +193 -0
  17. data/features/step_definitions/s3_steps.rb +14 -0
  18. data/features/step_definitions/web_steps.rb +209 -0
  19. data/features/support/env.rb +8 -0
  20. data/features/support/fakeweb.rb +3 -0
  21. data/features/support/fixtures/.boot_config.rb.swo +0 -0
  22. data/features/support/fixtures/boot_config.txt +15 -0
  23. data/features/support/fixtures/gemfile.txt +5 -0
  24. data/features/support/fixtures/preinitializer.txt +20 -0
  25. data/features/support/paths.rb +28 -0
  26. data/features/support/rails.rb +46 -0
  27. data/features/support/selectors.rb +19 -0
  28. data/gemfiles/rails2.gemfile +9 -0
  29. data/gemfiles/rails3.gemfile +9 -0
  30. data/gemfiles/rails3_1.gemfile +9 -0
  31. data/gemfiles/rails3_2.gemfile +9 -0
  32. data/generators/paperclip/USAGE +5 -0
  33. data/generators/paperclip/paperclip_generator.rb +27 -0
  34. data/generators/paperclip/templates/paperclip_migration.rb.erb +19 -0
  35. data/init.rb +4 -0
  36. data/lib/generators/paperclip/USAGE +8 -0
  37. data/lib/generators/paperclip/paperclip_generator.rb +33 -0
  38. data/lib/generators/paperclip/templates/paperclip_migration.rb.erb +19 -0
  39. data/lib/paperclip.rb +493 -0
  40. data/lib/paperclip/attachment.rb +491 -0
  41. data/lib/paperclip/attachment_options.rb +10 -0
  42. data/lib/paperclip/callback_compatibility.rb +61 -0
  43. data/lib/paperclip/geometry.rb +120 -0
  44. data/lib/paperclip/interpolations.rb +174 -0
  45. data/lib/paperclip/iostream.rb +45 -0
  46. data/lib/paperclip/matchers.rb +64 -0
  47. data/lib/paperclip/matchers/have_attached_file_matcher.rb +57 -0
  48. data/lib/paperclip/matchers/validate_attachment_content_type_matcher.rb +81 -0
  49. data/lib/paperclip/matchers/validate_attachment_presence_matcher.rb +54 -0
  50. data/lib/paperclip/matchers/validate_attachment_size_matcher.rb +95 -0
  51. data/lib/paperclip/missing_attachment_styles.rb +87 -0
  52. data/lib/paperclip/processor.rb +58 -0
  53. data/lib/paperclip/railtie.rb +35 -0
  54. data/lib/paperclip/schema.rb +39 -0
  55. data/lib/paperclip/storage.rb +3 -0
  56. data/lib/paperclip/storage/filesystem.rb +81 -0
  57. data/lib/paperclip/storage/fog.rb +191 -0
  58. data/lib/paperclip/storage/s3.rb +351 -0
  59. data/lib/paperclip/style.rb +103 -0
  60. data/lib/paperclip/thumbnail.rb +105 -0
  61. data/lib/paperclip/upfile.rb +64 -0
  62. data/lib/paperclip/url_generator.rb +64 -0
  63. data/lib/paperclip/version.rb +3 -0
  64. data/lib/tasks/paperclip.rake +101 -0
  65. data/paperclip.gemspec +41 -0
  66. data/rails/init.rb +2 -0
  67. data/shoulda_macros/paperclip.rb +124 -0
  68. data/test/attachment_options_test.rb +40 -0
  69. data/test/attachment_test.rb +1211 -0
  70. data/test/database.yml +4 -0
  71. data/test/fixtures/12k.png +0 -0
  72. data/test/fixtures/50x50.png +0 -0
  73. data/test/fixtures/5k.png +0 -0
  74. data/test/fixtures/animated.gif +0 -0
  75. data/test/fixtures/bad.png +1 -0
  76. data/test/fixtures/fog.yml +8 -0
  77. data/test/fixtures/s3.yml +8 -0
  78. data/test/fixtures/spaced file.png +0 -0
  79. data/test/fixtures/text.txt +1 -0
  80. data/test/fixtures/twopage.pdf +0 -0
  81. data/test/fixtures/uppercase.PNG +0 -0
  82. data/test/geometry_test.rb +206 -0
  83. data/test/helper.rb +181 -0
  84. data/test/integration_test.rb +652 -0
  85. data/test/interpolations_test.rb +219 -0
  86. data/test/iostream_test.rb +71 -0
  87. data/test/matchers/have_attached_file_matcher_test.rb +24 -0
  88. data/test/matchers/validate_attachment_content_type_matcher_test.rb +110 -0
  89. data/test/matchers/validate_attachment_presence_matcher_test.rb +47 -0
  90. data/test/matchers/validate_attachment_size_matcher_test.rb +72 -0
  91. data/test/paperclip_missing_attachment_styles_test.rb +96 -0
  92. data/test/paperclip_test.rb +409 -0
  93. data/test/processor_test.rb +10 -0
  94. data/test/schema_test.rb +98 -0
  95. data/test/storage/filesystem_test.rb +62 -0
  96. data/test/storage/fog_test.rb +280 -0
  97. data/test/storage/s3_live_test.rb +138 -0
  98. data/test/storage/s3_test.rb +1093 -0
  99. data/test/style_test.rb +215 -0
  100. data/test/support/mock_attachment.rb +22 -0
  101. data/test/support/mock_interpolator.rb +24 -0
  102. data/test/support/mock_model.rb +2 -0
  103. data/test/support/mock_url_generator_builder.rb +27 -0
  104. data/test/thumbnail_test.rb +396 -0
  105. data/test/upfile_test.rb +53 -0
  106. data/test/url_generator_test.rb +187 -0
  107. metadata +374 -0
@@ -0,0 +1,53 @@
1
+ require './test/helper'
2
+
3
+ class UpfileTest < Test::Unit::TestCase
4
+ { %w(jpg jpe jpeg) => 'image/jpeg',
5
+ %w(tif tiff) => 'image/tiff',
6
+ %w(png) => 'image/png',
7
+ %w(gif) => 'image/gif',
8
+ %w(bmp) => 'image/bmp',
9
+ %w(svg) => 'image/svg+xml',
10
+ %w(txt) => 'text/plain',
11
+ %w(htm html) => 'text/html',
12
+ %w(csv) => 'text/csv',
13
+ %w(xml) => 'application/xml',
14
+ %w(css) => 'text/css',
15
+ %w(js) => 'application/javascript',
16
+ %w(foo) => 'application/x-foo'
17
+ }.each do |extensions, content_type|
18
+ extensions.each do |extension|
19
+ should "return a content_type of #{content_type} for a file with extension .#{extension}" do
20
+ file = stub('file', :path => "basename.#{extension}")
21
+ class << file
22
+ include Paperclip::Upfile
23
+ end
24
+
25
+ assert_equal content_type, file.content_type
26
+ end
27
+ end
28
+ end
29
+
30
+ should "return a content_type of text/plain on a real file whose content_type is determined with the file command" do
31
+ file = File.new(File.join(File.dirname(__FILE__), "..", "LICENSE"))
32
+ class << file
33
+ include Paperclip::Upfile
34
+ end
35
+ assert_equal 'text/plain', file.content_type
36
+ end
37
+
38
+ { '5k.png' => 'image/png',
39
+ 'animated.gif' => 'image/gif',
40
+ 'text.txt' => 'text/plain',
41
+ 'twopage.pdf' => 'application/pdf'
42
+ }.each do |filename, content_type|
43
+ should "return a content type of #{content_type} from a file command for file #{filename}" do
44
+ file = File.new(File.join(File.dirname(__FILE__), "fixtures", filename))
45
+ class << file
46
+ include Paperclip::Upfile
47
+ end
48
+
49
+ assert_equal content_type, file.type_from_file_command
50
+ end
51
+ end
52
+
53
+ end
@@ -0,0 +1,187 @@
1
+ # encoding: utf-8
2
+ require './test/helper'
3
+ require 'paperclip/url_generator'
4
+
5
+ class UrlGeneratorTest < Test::Unit::TestCase
6
+ should "use the given interpolator" do
7
+ expected = "the expected result"
8
+ mock_attachment = MockAttachment.new
9
+ mock_interpolator = MockInterpolator.new(:result => expected)
10
+
11
+ url_generator = Paperclip::UrlGenerator.new(mock_attachment,
12
+ { :interpolator => mock_interpolator })
13
+ result = url_generator.for(:style_name, {})
14
+
15
+ assert_equal expected, result
16
+ assert mock_interpolator.has_interpolated_attachment?(mock_attachment)
17
+ assert mock_interpolator.has_interpolated_style_name?(:style_name)
18
+ end
19
+
20
+ should "use the default URL when no file is assigned" do
21
+ mock_attachment = MockAttachment.new
22
+ mock_interpolator = MockInterpolator.new
23
+ default_url = "the default url"
24
+ options = { :interpolator => mock_interpolator, :default_url => default_url}
25
+
26
+ url_generator = Paperclip::UrlGenerator.new(mock_attachment, options)
27
+ url_generator.for(:style_name, {})
28
+
29
+ assert mock_interpolator.has_interpolated_pattern?(default_url),
30
+ "expected the interpolator to be passed #{default_url.inspect} but it wasn't"
31
+ end
32
+
33
+ should "execute the default URL lambda when no file is assigned" do
34
+ mock_attachment = MockAttachment.new
35
+ mock_interpolator = MockInterpolator.new
36
+ default_url = lambda {|attachment| "the #{attachment.class.name} default url" }
37
+ options = { :interpolator => mock_interpolator, :default_url => default_url}
38
+
39
+ url_generator = Paperclip::UrlGenerator.new(mock_attachment, options)
40
+ url_generator.for(:style_name, {})
41
+
42
+ assert mock_interpolator.has_interpolated_pattern?("the MockAttachment default url"),
43
+ %{expected the interpolator to be passed "the MockAttachment default url", but it wasn't}
44
+ end
45
+
46
+ should "execute the method named by the symbol as the default URL when no file is assigned" do
47
+ mock_model = MockModel.new
48
+ mock_attachment = MockAttachment.new(:model => mock_model)
49
+ mock_interpolator = MockInterpolator.new
50
+ default_url = :to_s
51
+ options = { :interpolator => mock_interpolator, :default_url => default_url}
52
+
53
+ url_generator = Paperclip::UrlGenerator.new(mock_attachment, options)
54
+ url_generator.for(:style_name, {})
55
+
56
+ assert mock_interpolator.has_interpolated_pattern?(mock_model.to_s),
57
+ %{expected the interpolator to be passed #{mock_model.to_s}, but it wasn't}
58
+ end
59
+
60
+ should "URL-escape spaces if asked to" do
61
+ expected = "the expected result"
62
+ mock_attachment = MockAttachment.new
63
+ mock_interpolator = MockInterpolator.new(:result => expected)
64
+ options = { :interpolator => mock_interpolator }
65
+ url_generator = Paperclip::UrlGenerator.new(mock_attachment, options)
66
+
67
+ result = url_generator.for(:style_name, {:escape => true})
68
+
69
+ assert_equal "the%20expected%20result", result
70
+ end
71
+
72
+ should "escape the result of the interpolator using a method on the object, if asked to escape" do
73
+ expected = Class.new do
74
+ def escape
75
+ "the escaped result"
76
+ end
77
+ end.new
78
+ mock_attachment = MockAttachment.new
79
+ mock_interpolator = MockInterpolator.new(:result => expected)
80
+ options = { :interpolator => mock_interpolator }
81
+ url_generator = Paperclip::UrlGenerator.new(mock_attachment, options)
82
+
83
+ result = url_generator.for(:style_name, {:escape => true})
84
+
85
+ assert_equal "the escaped result", result
86
+ end
87
+
88
+ should "leave spaces unescaped as asked to" do
89
+ expected = "the expected result"
90
+ mock_attachment = MockAttachment.new
91
+ mock_interpolator = MockInterpolator.new(:result => expected)
92
+ options = { :interpolator => mock_interpolator }
93
+ url_generator = Paperclip::UrlGenerator.new(mock_attachment, options)
94
+
95
+ result = url_generator.for(:style_name, {:escape => false})
96
+
97
+ assert_equal "the expected result", result
98
+ end
99
+
100
+ should "default to leaving spaces unescaped" do
101
+ expected = "the expected result"
102
+ mock_attachment = MockAttachment.new
103
+ mock_interpolator = MockInterpolator.new(:result => expected)
104
+ options = { :interpolator => mock_interpolator }
105
+ url_generator = Paperclip::UrlGenerator.new(mock_attachment, options)
106
+
107
+ result = url_generator.for(:style_name, {})
108
+
109
+ assert_equal "the expected result", result
110
+ end
111
+
112
+ should "produce URLs without the updated_at value when the object does not respond to updated_at" do
113
+ expected = "the expected result"
114
+ mock_interpolator = MockInterpolator.new(:result => expected)
115
+ mock_attachment = MockAttachment.new(:responds_to_updated_at => false)
116
+ options = { :interpolator => mock_interpolator }
117
+ url_generator = Paperclip::UrlGenerator.new(mock_attachment, options)
118
+
119
+ result = url_generator.for(:style_name, {:timestamp => true})
120
+
121
+ assert_equal expected, result
122
+ end
123
+
124
+ should "produce URLs without the updated_at value when the updated_at value is nil" do
125
+ expected = "the expected result"
126
+ mock_interpolator = MockInterpolator.new(:result => expected)
127
+ mock_attachment = MockAttachment.new(:responds_to_updated_at => true, :updated_at => nil)
128
+ options = { :interpolator => mock_interpolator }
129
+ url_generator = Paperclip::UrlGenerator.new(mock_attachment, options)
130
+
131
+ result = url_generator.for(:style_name, {:timestamp => true})
132
+
133
+ assert_equal expected, result
134
+ end
135
+
136
+ should "produce URLs with the updated_at when it exists" do
137
+ expected = "the expected result"
138
+ updated_at = 1231231234
139
+ mock_interpolator = MockInterpolator.new(:result => expected)
140
+ mock_attachment = MockAttachment.new(:updated_at => updated_at)
141
+ options = { :interpolator => mock_interpolator }
142
+ url_generator = Paperclip::UrlGenerator.new(mock_attachment, options)
143
+
144
+ result = url_generator.for(:style_name, {:timestamp => true})
145
+
146
+ assert_equal "#{expected}?#{updated_at}", result
147
+ end
148
+
149
+ should "produce URLs with the updated_at when it exists, separated with a & if a ? follow by = already exists" do
150
+ expected = "the?expected=result"
151
+ updated_at = 1231231234
152
+ mock_interpolator = MockInterpolator.new(:result => expected)
153
+ mock_attachment = MockAttachment.new(:updated_at => updated_at)
154
+ options = { :interpolator => mock_interpolator }
155
+ url_generator = Paperclip::UrlGenerator.new(mock_attachment, options)
156
+
157
+ result = url_generator.for(:style_name, {:timestamp => true})
158
+
159
+ assert_equal "#{expected}&#{updated_at}", result
160
+ end
161
+
162
+ should "produce URLs without the updated_at when told to do as much" do
163
+ expected = "the expected result"
164
+ updated_at = 1231231234
165
+ mock_interpolator = MockInterpolator.new(:result => expected)
166
+ mock_attachment = MockAttachment.new(:updated_at => updated_at)
167
+ options = { :interpolator => mock_interpolator }
168
+ url_generator = Paperclip::UrlGenerator.new(mock_attachment, options)
169
+
170
+ result = url_generator.for(:style_name, {:timestamp => false})
171
+
172
+ assert_equal expected, result
173
+ end
174
+
175
+ should "produce the correct URL when the instance has a file name" do
176
+ expected = "the expected result"
177
+ mock_attachment = MockAttachment.new(:original_filename => 'exists')
178
+ mock_interpolator = MockInterpolator.new
179
+ options = { :interpolator => mock_interpolator, :url => expected}
180
+
181
+ url_generator = Paperclip::UrlGenerator.new(mock_attachment, options)
182
+ url_generator.for(:style_name, {})
183
+
184
+ assert mock_interpolator.has_interpolated_pattern?(expected),
185
+ "expected the interpolator to be passed #{expected.inspect} but it wasn't"
186
+ end
187
+ end
metadata ADDED
@@ -0,0 +1,374 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: paperclip-v2_7-patched-ruby-1_8_6
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.7.5
5
+ platform: ruby
6
+ authors:
7
+ - Jon Yurek
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-07-22 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activerecord
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "<"
18
+ - !ruby/object:Gem::Version
19
+ version: 4.0.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "<"
25
+ - !ruby/object:Gem::Version
26
+ version: 4.0.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: activesupport
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "<"
32
+ - !ruby/object:Gem::Version
33
+ version: 4.0.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "<"
39
+ - !ruby/object:Gem::Version
40
+ version: 4.0.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: cocaine
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 0.3.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 0.3.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: mime-types
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: shoulda
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: appraisal
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 0.4.0
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 0.4.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: mocha
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: aws-sdk
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: sqlite3
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: 1.3.5
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: 1.3.5
139
+ - !ruby/object:Gem::Dependency
140
+ name: cucumber
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: 1.1.0
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 1.1.0
153
+ - !ruby/object:Gem::Dependency
154
+ name: aruba
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: capybara
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: bundler
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: fog
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: rake
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
223
+ - !ruby/object:Gem::Dependency
224
+ name: fakeweb
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
237
+ description: Easy upload management for ActiveRecord
238
+ email:
239
+ - jyurek@thoughtbot.com
240
+ executables: []
241
+ extensions: []
242
+ extra_rdoc_files: []
243
+ files:
244
+ - ".gitignore"
245
+ - ".travis.yml"
246
+ - Appraisals
247
+ - CONTRIBUTING.md
248
+ - Gemfile
249
+ - Gemfile.lock
250
+ - LICENSE
251
+ - NEWS
252
+ - README.md
253
+ - Rakefile
254
+ - cucumber/paperclip_steps.rb
255
+ - features/basic_integration.feature
256
+ - features/rake_tasks.feature
257
+ - features/step_definitions/attachment_steps.rb
258
+ - features/step_definitions/html_steps.rb
259
+ - features/step_definitions/rails_steps.rb
260
+ - features/step_definitions/s3_steps.rb
261
+ - features/step_definitions/web_steps.rb
262
+ - features/support/env.rb
263
+ - features/support/fakeweb.rb
264
+ - features/support/fixtures/.boot_config.rb.swo
265
+ - features/support/fixtures/boot_config.txt
266
+ - features/support/fixtures/gemfile.txt
267
+ - features/support/fixtures/preinitializer.txt
268
+ - features/support/paths.rb
269
+ - features/support/rails.rb
270
+ - features/support/selectors.rb
271
+ - gemfiles/rails2.gemfile
272
+ - gemfiles/rails3.gemfile
273
+ - gemfiles/rails3_1.gemfile
274
+ - gemfiles/rails3_2.gemfile
275
+ - generators/paperclip/USAGE
276
+ - generators/paperclip/paperclip_generator.rb
277
+ - generators/paperclip/templates/paperclip_migration.rb.erb
278
+ - init.rb
279
+ - lib/generators/paperclip/USAGE
280
+ - lib/generators/paperclip/paperclip_generator.rb
281
+ - lib/generators/paperclip/templates/paperclip_migration.rb.erb
282
+ - lib/paperclip.rb
283
+ - lib/paperclip/attachment.rb
284
+ - lib/paperclip/attachment_options.rb
285
+ - lib/paperclip/callback_compatibility.rb
286
+ - lib/paperclip/geometry.rb
287
+ - lib/paperclip/interpolations.rb
288
+ - lib/paperclip/iostream.rb
289
+ - lib/paperclip/matchers.rb
290
+ - lib/paperclip/matchers/have_attached_file_matcher.rb
291
+ - lib/paperclip/matchers/validate_attachment_content_type_matcher.rb
292
+ - lib/paperclip/matchers/validate_attachment_presence_matcher.rb
293
+ - lib/paperclip/matchers/validate_attachment_size_matcher.rb
294
+ - lib/paperclip/missing_attachment_styles.rb
295
+ - lib/paperclip/processor.rb
296
+ - lib/paperclip/railtie.rb
297
+ - lib/paperclip/schema.rb
298
+ - lib/paperclip/storage.rb
299
+ - lib/paperclip/storage/filesystem.rb
300
+ - lib/paperclip/storage/fog.rb
301
+ - lib/paperclip/storage/s3.rb
302
+ - lib/paperclip/style.rb
303
+ - lib/paperclip/thumbnail.rb
304
+ - lib/paperclip/upfile.rb
305
+ - lib/paperclip/url_generator.rb
306
+ - lib/paperclip/version.rb
307
+ - lib/tasks/paperclip.rake
308
+ - paperclip.gemspec
309
+ - rails/init.rb
310
+ - shoulda_macros/paperclip.rb
311
+ - test/attachment_options_test.rb
312
+ - test/attachment_test.rb
313
+ - test/database.yml
314
+ - test/fixtures/12k.png
315
+ - test/fixtures/50x50.png
316
+ - test/fixtures/5k.png
317
+ - test/fixtures/animated.gif
318
+ - test/fixtures/bad.png
319
+ - test/fixtures/fog.yml
320
+ - test/fixtures/s3.yml
321
+ - test/fixtures/spaced file.png
322
+ - test/fixtures/text.txt
323
+ - test/fixtures/twopage.pdf
324
+ - test/fixtures/uppercase.PNG
325
+ - test/geometry_test.rb
326
+ - test/helper.rb
327
+ - test/integration_test.rb
328
+ - test/interpolations_test.rb
329
+ - test/iostream_test.rb
330
+ - test/matchers/have_attached_file_matcher_test.rb
331
+ - test/matchers/validate_attachment_content_type_matcher_test.rb
332
+ - test/matchers/validate_attachment_presence_matcher_test.rb
333
+ - test/matchers/validate_attachment_size_matcher_test.rb
334
+ - test/paperclip_missing_attachment_styles_test.rb
335
+ - test/paperclip_test.rb
336
+ - test/processor_test.rb
337
+ - test/schema_test.rb
338
+ - test/storage/filesystem_test.rb
339
+ - test/storage/fog_test.rb
340
+ - test/storage/s3_live_test.rb
341
+ - test/storage/s3_test.rb
342
+ - test/style_test.rb
343
+ - test/support/mock_attachment.rb
344
+ - test/support/mock_interpolator.rb
345
+ - test/support/mock_model.rb
346
+ - test/support/mock_url_generator_builder.rb
347
+ - test/thumbnail_test.rb
348
+ - test/upfile_test.rb
349
+ - test/url_generator_test.rb
350
+ homepage: https://github.com/thoughtbot/paperclip
351
+ licenses: []
352
+ metadata: {}
353
+ post_install_message:
354
+ rdoc_options: []
355
+ require_paths:
356
+ - lib
357
+ required_ruby_version: !ruby/object:Gem::Requirement
358
+ requirements:
359
+ - - ">="
360
+ - !ruby/object:Gem::Version
361
+ version: '0'
362
+ required_rubygems_version: !ruby/object:Gem::Requirement
363
+ requirements:
364
+ - - ">="
365
+ - !ruby/object:Gem::Version
366
+ version: '0'
367
+ requirements:
368
+ - ImageMagick
369
+ rubyforge_project: paperclip
370
+ rubygems_version: 2.4.8
371
+ signing_key:
372
+ specification_version: 4
373
+ summary: File attachments as attributes for ActiveRecord
374
+ test_files: []