paperclip 3.5.4 → 5.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (212) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +17 -0
  3. data/.gitignore +0 -6
  4. data/.hound.yml +1055 -0
  5. data/.rubocop.yml +1 -0
  6. data/.travis.yml +17 -20
  7. data/Appraisals +4 -16
  8. data/CONTRIBUTING.md +29 -13
  9. data/Gemfile +11 -3
  10. data/LICENSE +1 -3
  11. data/NEWS +241 -49
  12. data/README.md +471 -166
  13. data/RELEASING.md +17 -0
  14. data/Rakefile +6 -8
  15. data/UPGRADING +12 -9
  16. data/features/basic_integration.feature +27 -8
  17. data/features/migration.feature +0 -24
  18. data/features/step_definitions/attachment_steps.rb +36 -28
  19. data/features/step_definitions/html_steps.rb +2 -2
  20. data/features/step_definitions/rails_steps.rb +68 -37
  21. data/features/step_definitions/s3_steps.rb +2 -2
  22. data/features/step_definitions/web_steps.rb +1 -103
  23. data/features/support/env.rb +3 -2
  24. data/features/support/file_helpers.rb +2 -2
  25. data/features/support/fixtures/gemfile.txt +1 -1
  26. data/features/support/paths.rb +1 -1
  27. data/features/support/rails.rb +2 -25
  28. data/gemfiles/4.2.gemfile +17 -0
  29. data/gemfiles/5.0.gemfile +17 -0
  30. data/lib/generators/paperclip/paperclip_generator.rb +9 -3
  31. data/lib/generators/paperclip/templates/paperclip_migration.rb.erb +2 -2
  32. data/lib/paperclip/attachment.rb +151 -46
  33. data/lib/paperclip/attachment_registry.rb +3 -2
  34. data/lib/paperclip/callbacks.rb +13 -1
  35. data/lib/paperclip/content_type_detector.rb +26 -22
  36. data/lib/paperclip/errors.rb +8 -1
  37. data/lib/paperclip/file_command_content_type_detector.rb +6 -8
  38. data/lib/paperclip/geometry_detector_factory.rb +5 -3
  39. data/lib/paperclip/geometry_parser_factory.rb +1 -1
  40. data/lib/paperclip/glue.rb +1 -1
  41. data/lib/paperclip/has_attached_file.rb +17 -1
  42. data/lib/paperclip/helpers.rb +15 -11
  43. data/lib/paperclip/interpolations/plural_cache.rb +6 -5
  44. data/lib/paperclip/interpolations.rb +26 -13
  45. data/lib/paperclip/io_adapters/abstract_adapter.rb +32 -4
  46. data/lib/paperclip/io_adapters/attachment_adapter.rb +13 -8
  47. data/lib/paperclip/io_adapters/data_uri_adapter.rb +11 -16
  48. data/lib/paperclip/io_adapters/empty_string_adapter.rb +5 -4
  49. data/lib/paperclip/io_adapters/file_adapter.rb +12 -6
  50. data/lib/paperclip/io_adapters/http_url_proxy_adapter.rb +7 -7
  51. data/lib/paperclip/io_adapters/identity_adapter.rb +12 -6
  52. data/lib/paperclip/io_adapters/nil_adapter.rb +8 -5
  53. data/lib/paperclip/io_adapters/registry.rb +6 -2
  54. data/lib/paperclip/io_adapters/stringio_adapter.rb +15 -16
  55. data/lib/paperclip/io_adapters/uploaded_file_adapter.rb +10 -6
  56. data/lib/paperclip/io_adapters/uri_adapter.rb +41 -19
  57. data/lib/paperclip/locales/en.yml +1 -0
  58. data/lib/paperclip/matchers/have_attached_file_matcher.rb +2 -1
  59. data/lib/paperclip/matchers/validate_attachment_content_type_matcher.rb +4 -4
  60. data/lib/paperclip/matchers/validate_attachment_presence_matcher.rb +2 -1
  61. data/lib/paperclip/matchers/validate_attachment_size_matcher.rb +2 -1
  62. data/lib/paperclip/media_type_spoof_detector.rb +90 -0
  63. data/lib/paperclip/processor.rb +5 -41
  64. data/lib/paperclip/processor_helpers.rb +50 -0
  65. data/lib/paperclip/rails_environment.rb +25 -0
  66. data/lib/paperclip/schema.rb +9 -7
  67. data/lib/paperclip/storage/filesystem.rb +14 -3
  68. data/lib/paperclip/storage/fog.rb +37 -19
  69. data/lib/paperclip/storage/s3.rb +129 -69
  70. data/lib/paperclip/style.rb +8 -2
  71. data/lib/paperclip/tempfile_factory.rb +5 -1
  72. data/lib/paperclip/thumbnail.rb +30 -18
  73. data/lib/paperclip/url_generator.rb +26 -14
  74. data/lib/paperclip/validators/attachment_content_type_validator.rb +4 -0
  75. data/lib/paperclip/validators/attachment_file_name_validator.rb +80 -0
  76. data/lib/paperclip/validators/attachment_file_type_ignorance_validator.rb +29 -0
  77. data/lib/paperclip/validators/attachment_presence_validator.rb +4 -0
  78. data/lib/paperclip/validators/attachment_size_validator.rb +5 -3
  79. data/lib/paperclip/validators/media_type_spoof_detection_validator.rb +27 -0
  80. data/lib/paperclip/validators.rb +11 -4
  81. data/lib/paperclip/version.rb +3 -1
  82. data/lib/paperclip.rb +30 -11
  83. data/lib/tasks/paperclip.rake +34 -5
  84. data/paperclip.gemspec +21 -16
  85. data/shoulda_macros/paperclip.rb +0 -1
  86. data/spec/paperclip/attachment_definitions_spec.rb +13 -0
  87. data/{test/attachment_processing_test.rb → spec/paperclip/attachment_processing_spec.rb} +17 -20
  88. data/spec/paperclip/attachment_registry_spec.rb +158 -0
  89. data/{test/attachment_test.rb → spec/paperclip/attachment_spec.rb} +502 -407
  90. data/{test/content_type_detector_test.rb → spec/paperclip/content_type_detector_spec.rb} +17 -20
  91. data/spec/paperclip/file_command_content_type_detector_spec.rb +40 -0
  92. data/spec/paperclip/filename_cleaner_spec.rb +14 -0
  93. data/spec/paperclip/geometry_detector_spec.rb +39 -0
  94. data/{test/geometry_parser_test.rb → spec/paperclip/geometry_parser_spec.rb} +27 -27
  95. data/{test/geometry_test.rb → spec/paperclip/geometry_spec.rb} +50 -52
  96. data/spec/paperclip/glue_spec.rb +44 -0
  97. data/spec/paperclip/has_attached_file_spec.rb +158 -0
  98. data/{test/integration_test.rb → spec/paperclip/integration_spec.rb} +137 -128
  99. data/{test/interpolations_test.rb → spec/paperclip/interpolations_spec.rb} +70 -46
  100. data/spec/paperclip/io_adapters/abstract_adapter_spec.rb +132 -0
  101. data/{test/io_adapters/attachment_adapter_test.rb → spec/paperclip/io_adapters/attachment_adapter_spec.rb} +33 -32
  102. data/spec/paperclip/io_adapters/data_uri_adapter_spec.rb +89 -0
  103. data/spec/paperclip/io_adapters/empty_string_adapter_spec.rb +17 -0
  104. data/{test/io_adapters/file_adapter_test.rb → spec/paperclip/io_adapters/file_adapter_spec.rb} +38 -42
  105. data/spec/paperclip/io_adapters/http_url_proxy_adapter_spec.rb +121 -0
  106. data/spec/paperclip/io_adapters/identity_adapter_spec.rb +8 -0
  107. data/{test/io_adapters/nil_adapter_test.rb → spec/paperclip/io_adapters/nil_adapter_spec.rb} +7 -7
  108. data/{test/io_adapters/registry_test.rb → spec/paperclip/io_adapters/registry_spec.rb} +12 -9
  109. data/{test/io_adapters/stringio_adapter_test.rb → spec/paperclip/io_adapters/stringio_adapter_spec.rb} +21 -18
  110. data/{test/io_adapters/uploaded_file_adapter_test.rb → spec/paperclip/io_adapters/uploaded_file_adapter_spec.rb} +46 -46
  111. data/spec/paperclip/io_adapters/uri_adapter_spec.rb +172 -0
  112. data/spec/paperclip/matchers/have_attached_file_matcher_spec.rb +19 -0
  113. data/spec/paperclip/matchers/validate_attachment_content_type_matcher_spec.rb +109 -0
  114. data/spec/paperclip/matchers/validate_attachment_presence_matcher_spec.rb +69 -0
  115. data/spec/paperclip/matchers/validate_attachment_size_matcher_spec.rb +88 -0
  116. data/spec/paperclip/media_type_spoof_detector_spec.rb +94 -0
  117. data/spec/paperclip/meta_class_spec.rb +30 -0
  118. data/spec/paperclip/paperclip_missing_attachment_styles_spec.rb +84 -0
  119. data/spec/paperclip/paperclip_spec.rb +192 -0
  120. data/spec/paperclip/plural_cache_spec.rb +37 -0
  121. data/spec/paperclip/processor_helpers_spec.rb +57 -0
  122. data/{test/processor_test.rb → spec/paperclip/processor_spec.rb} +7 -7
  123. data/spec/paperclip/rails_environment_spec.rb +33 -0
  124. data/{test/rake_test.rb → spec/paperclip/rake_spec.rb} +15 -15
  125. data/spec/paperclip/schema_spec.rb +248 -0
  126. data/{test/storage/filesystem_test.rb → spec/paperclip/storage/filesystem_spec.rb} +18 -18
  127. data/spec/paperclip/storage/fog_spec.rb +566 -0
  128. data/spec/paperclip/storage/s3_live_spec.rb +188 -0
  129. data/spec/paperclip/storage/s3_spec.rb +1693 -0
  130. data/spec/paperclip/style_spec.rb +255 -0
  131. data/spec/paperclip/tempfile_factory_spec.rb +33 -0
  132. data/spec/paperclip/tempfile_spec.rb +35 -0
  133. data/{test/thumbnail_test.rb → spec/paperclip/thumbnail_spec.rb} +153 -134
  134. data/spec/paperclip/url_generator_spec.rb +222 -0
  135. data/spec/paperclip/validators/attachment_content_type_validator_spec.rb +322 -0
  136. data/spec/paperclip/validators/attachment_file_name_validator_spec.rb +160 -0
  137. data/{test/validators/attachment_presence_validator_test.rb → spec/paperclip/validators/attachment_presence_validator_spec.rb} +20 -20
  138. data/{test/validators/attachment_size_validator_test.rb → spec/paperclip/validators/attachment_size_validator_spec.rb} +77 -64
  139. data/spec/paperclip/validators/media_type_spoof_detection_validator_spec.rb +52 -0
  140. data/spec/paperclip/validators_spec.rb +164 -0
  141. data/spec/spec_helper.rb +47 -0
  142. data/spec/support/assertions.rb +82 -0
  143. data/spec/support/conditional_filter_helper.rb +5 -0
  144. data/spec/support/fake_model.rb +25 -0
  145. data/spec/support/fake_rails.rb +12 -0
  146. data/spec/support/fixtures/empty.html +1 -0
  147. data/spec/support/fixtures/empty.xlsx +0 -0
  148. data/spec/support/fixtures/spaced file.jpg +0 -0
  149. data/spec/support/matchers/accept.rb +5 -0
  150. data/spec/support/matchers/exist.rb +5 -0
  151. data/spec/support/matchers/have_column.rb +23 -0
  152. data/{test → spec}/support/mock_attachment.rb +2 -0
  153. data/{test → spec}/support/mock_url_generator_builder.rb +2 -2
  154. data/spec/support/model_reconstruction.rb +68 -0
  155. data/spec/support/reporting.rb +11 -0
  156. data/spec/support/test_data.rb +13 -0
  157. data/spec/support/version_helper.rb +9 -0
  158. metadata +348 -225
  159. data/RUNNING_TESTS.md +0 -4
  160. data/cucumber/paperclip_steps.rb +0 -6
  161. data/gemfiles/3.0.gemfile +0 -11
  162. data/gemfiles/3.1.gemfile +0 -11
  163. data/gemfiles/3.2.gemfile +0 -11
  164. data/gemfiles/4.0.gemfile +0 -11
  165. data/test/attachment_definitions_test.rb +0 -12
  166. data/test/attachment_registry_test.rb +0 -88
  167. data/test/file_command_content_type_detector_test.rb +0 -27
  168. data/test/filename_cleaner_test.rb +0 -14
  169. data/test/generator_test.rb +0 -84
  170. data/test/geometry_detector_test.rb +0 -24
  171. data/test/has_attached_file_test.rb +0 -125
  172. data/test/helper.rb +0 -232
  173. data/test/io_adapters/abstract_adapter_test.rb +0 -58
  174. data/test/io_adapters/data_uri_adapter_test.rb +0 -74
  175. data/test/io_adapters/empty_string_adapter_test.rb +0 -18
  176. data/test/io_adapters/http_url_proxy_adapter_test.rb +0 -102
  177. data/test/io_adapters/identity_adapter_test.rb +0 -8
  178. data/test/io_adapters/uri_adapter_test.rb +0 -102
  179. data/test/matchers/have_attached_file_matcher_test.rb +0 -24
  180. data/test/matchers/validate_attachment_content_type_matcher_test.rb +0 -110
  181. data/test/matchers/validate_attachment_presence_matcher_test.rb +0 -69
  182. data/test/matchers/validate_attachment_size_matcher_test.rb +0 -86
  183. data/test/meta_class_test.rb +0 -32
  184. data/test/paperclip_missing_attachment_styles_test.rb +0 -90
  185. data/test/paperclip_test.rb +0 -217
  186. data/test/plural_cache_test.rb +0 -36
  187. data/test/schema_test.rb +0 -200
  188. data/test/storage/fog_test.rb +0 -473
  189. data/test/storage/s3_live_test.rb +0 -179
  190. data/test/storage/s3_test.rb +0 -1356
  191. data/test/style_test.rb +0 -213
  192. data/test/support/mock_model.rb +0 -2
  193. data/test/tempfile_factory_test.rb +0 -17
  194. data/test/url_generator_test.rb +0 -187
  195. data/test/validators/attachment_content_type_validator_test.rb +0 -324
  196. data/test/validators_test.rb +0 -61
  197. /data/{test → spec}/database.yml +0 -0
  198. /data/{test → spec/support}/fixtures/12k.png +0 -0
  199. /data/{test → spec/support}/fixtures/50x50.png +0 -0
  200. /data/{test → spec/support}/fixtures/5k.png +0 -0
  201. /data/{test → spec/support}/fixtures/animated +0 -0
  202. /data/{test → spec/support}/fixtures/animated.gif +0 -0
  203. /data/{test → spec/support}/fixtures/animated.unknown +0 -0
  204. /data/{test → spec/support}/fixtures/bad.png +0 -0
  205. /data/{test → spec/support}/fixtures/fog.yml +0 -0
  206. /data/{test → spec/support}/fixtures/rotated.jpg +0 -0
  207. /data/{test → spec/support}/fixtures/s3.yml +0 -0
  208. /data/{test → spec/support}/fixtures/spaced file.png +0 -0
  209. /data/{test → spec/support}/fixtures/text.txt +0 -0
  210. /data/{test → spec/support}/fixtures/twopage.pdf +0 -0
  211. /data/{test → spec/support}/fixtures/uppercase.PNG +0 -0
  212. /data/{test → spec}/support/mock_interpolator.rb +0 -0
metadata CHANGED
@@ -1,323 +1,385 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paperclip
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.4
4
+ version: 5.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jon Yurek
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-07 00:00:00.000000000 Z
11
+ date: 2018-03-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 3.0.0
19
+ version: 4.2.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 3.0.0
26
+ version: 4.2.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activesupport
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 3.0.0
33
+ version: 4.2.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 3.0.0
40
+ version: 4.2.0
41
41
  - !ruby/object:Gem::Dependency
42
- name: cocaine
42
+ name: terrapin
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.5.3
47
+ version: 0.6.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.5.3
54
+ version: 0.6.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: mime-types
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: mimemagic
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 0.3.0
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 0.3.0
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: activerecord
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
- - - '>='
87
+ - - ">="
74
88
  - !ruby/object:Gem::Version
75
- version: 3.0.0
89
+ version: 4.2.0
76
90
  type: :development
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
- - - '>='
94
+ - - ">="
81
95
  - !ruby/object:Gem::Version
82
- version: 3.0.0
96
+ version: 4.2.0
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: shoulda
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
- - - '>='
101
+ - - ">="
88
102
  - !ruby/object:Gem::Version
89
103
  version: '0'
90
104
  type: :development
91
105
  prerelease: false
92
106
  version_requirements: !ruby/object:Gem::Requirement
93
107
  requirements:
94
- - - '>='
108
+ - - ">="
95
109
  - !ruby/object:Gem::Version
96
110
  version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rspec
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '3.0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '3.0'
97
125
  - !ruby/object:Gem::Dependency
98
126
  name: appraisal
99
127
  requirement: !ruby/object:Gem::Requirement
100
128
  requirements:
101
- - - '>='
129
+ - - ">="
102
130
  - !ruby/object:Gem::Version
103
131
  version: '0'
104
132
  type: :development
105
133
  prerelease: false
106
134
  version_requirements: !ruby/object:Gem::Requirement
107
135
  requirements:
108
- - - '>='
136
+ - - ">="
109
137
  - !ruby/object:Gem::Version
110
138
  version: '0'
111
139
  - !ruby/object:Gem::Dependency
112
140
  name: mocha
113
141
  requirement: !ruby/object:Gem::Requirement
114
142
  requirements:
115
- - - '>='
143
+ - - ">="
116
144
  - !ruby/object:Gem::Version
117
145
  version: '0'
118
146
  type: :development
119
147
  prerelease: false
120
148
  version_requirements: !ruby/object:Gem::Requirement
121
149
  requirements:
122
- - - '>='
150
+ - - ">="
123
151
  - !ruby/object:Gem::Version
124
152
  version: '0'
125
153
  - !ruby/object:Gem::Dependency
126
154
  name: aws-sdk
127
155
  requirement: !ruby/object:Gem::Requirement
128
156
  requirements:
129
- - - '>='
157
+ - - ">="
130
158
  - !ruby/object:Gem::Version
131
- version: 1.5.7
159
+ version: 2.3.0
160
+ - - "<"
161
+ - !ruby/object:Gem::Version
162
+ version: '3.0'
132
163
  type: :development
133
164
  prerelease: false
134
165
  version_requirements: !ruby/object:Gem::Requirement
135
166
  requirements:
136
- - - '>='
167
+ - - ">="
168
+ - !ruby/object:Gem::Version
169
+ version: 2.3.0
170
+ - - "<"
137
171
  - !ruby/object:Gem::Version
138
- version: 1.5.7
172
+ version: '3.0'
139
173
  - !ruby/object:Gem::Dependency
140
174
  name: bourne
141
175
  requirement: !ruby/object:Gem::Requirement
142
176
  requirements:
143
- - - '>='
177
+ - - ">="
144
178
  - !ruby/object:Gem::Version
145
179
  version: '0'
146
180
  type: :development
147
181
  prerelease: false
148
182
  version_requirements: !ruby/object:Gem::Requirement
149
183
  requirements:
150
- - - '>='
184
+ - - ">="
151
185
  - !ruby/object:Gem::Version
152
186
  version: '0'
153
187
  - !ruby/object:Gem::Dependency
154
- name: sqlite3
188
+ name: cucumber-rails
155
189
  requirement: !ruby/object:Gem::Requirement
156
190
  requirements:
157
- - - ~>
191
+ - - ">="
158
192
  - !ruby/object:Gem::Version
159
- version: 1.3.4
193
+ version: '0'
160
194
  type: :development
161
195
  prerelease: false
162
196
  version_requirements: !ruby/object:Gem::Requirement
163
197
  requirements:
164
- - - ~>
198
+ - - ">="
165
199
  - !ruby/object:Gem::Version
166
- version: 1.3.4
200
+ version: '0'
167
201
  - !ruby/object:Gem::Dependency
168
- name: cucumber
202
+ name: cucumber-expressions
169
203
  requirement: !ruby/object:Gem::Requirement
170
204
  requirements:
171
- - - ~>
205
+ - - '='
172
206
  - !ruby/object:Gem::Version
173
- version: 1.2.1
207
+ version: 4.0.3
174
208
  type: :development
175
209
  prerelease: false
176
210
  version_requirements: !ruby/object:Gem::Requirement
177
211
  requirements:
178
- - - ~>
212
+ - - '='
179
213
  - !ruby/object:Gem::Version
180
- version: 1.2.1
214
+ version: 4.0.3
181
215
  - !ruby/object:Gem::Dependency
182
216
  name: aruba
183
217
  requirement: !ruby/object:Gem::Requirement
184
218
  requirements:
185
- - - '>='
219
+ - - "~>"
186
220
  - !ruby/object:Gem::Version
187
- version: '0'
221
+ version: 0.9.0
188
222
  type: :development
189
223
  prerelease: false
190
224
  version_requirements: !ruby/object:Gem::Requirement
191
225
  requirements:
192
- - - '>='
226
+ - - "~>"
193
227
  - !ruby/object:Gem::Version
194
- version: '0'
228
+ version: 0.9.0
195
229
  - !ruby/object:Gem::Dependency
196
230
  name: nokogiri
197
231
  requirement: !ruby/object:Gem::Requirement
198
232
  requirements:
199
- - - '>='
233
+ - - ">="
200
234
  - !ruby/object:Gem::Version
201
235
  version: '0'
202
236
  type: :development
203
237
  prerelease: false
204
238
  version_requirements: !ruby/object:Gem::Requirement
205
239
  requirements:
206
- - - '>='
240
+ - - ">="
207
241
  - !ruby/object:Gem::Version
208
242
  version: '0'
209
243
  - !ruby/object:Gem::Dependency
210
244
  name: capybara
211
245
  requirement: !ruby/object:Gem::Requirement
212
246
  requirements:
213
- - - '='
247
+ - - ">="
214
248
  - !ruby/object:Gem::Version
215
- version: 2.0.3
249
+ version: '0'
216
250
  type: :development
217
251
  prerelease: false
218
252
  version_requirements: !ruby/object:Gem::Requirement
219
253
  requirements:
220
- - - '='
254
+ - - ">="
221
255
  - !ruby/object:Gem::Version
222
- version: 2.0.3
256
+ version: '0'
223
257
  - !ruby/object:Gem::Dependency
224
258
  name: bundler
225
259
  requirement: !ruby/object:Gem::Requirement
226
260
  requirements:
227
- - - '>='
261
+ - - ">="
262
+ - !ruby/object:Gem::Version
263
+ version: '0'
264
+ type: :development
265
+ prerelease: false
266
+ version_requirements: !ruby/object:Gem::Requirement
267
+ requirements:
268
+ - - ">="
269
+ - !ruby/object:Gem::Version
270
+ version: '0'
271
+ - !ruby/object:Gem::Dependency
272
+ name: fog-aws
273
+ requirement: !ruby/object:Gem::Requirement
274
+ requirements:
275
+ - - ">="
228
276
  - !ruby/object:Gem::Version
229
277
  version: '0'
230
278
  type: :development
231
279
  prerelease: false
232
280
  version_requirements: !ruby/object:Gem::Requirement
233
281
  requirements:
234
- - - '>='
282
+ - - ">="
235
283
  - !ruby/object:Gem::Version
236
284
  version: '0'
237
285
  - !ruby/object:Gem::Dependency
238
- name: fog
286
+ name: fog-local
239
287
  requirement: !ruby/object:Gem::Requirement
240
288
  requirements:
241
- - - ~>
289
+ - - ">="
242
290
  - !ruby/object:Gem::Version
243
- version: '1.0'
291
+ version: '0'
244
292
  type: :development
245
293
  prerelease: false
246
294
  version_requirements: !ruby/object:Gem::Requirement
247
295
  requirements:
248
- - - ~>
296
+ - - ">="
249
297
  - !ruby/object:Gem::Version
250
- version: '1.0'
298
+ version: '0'
251
299
  - !ruby/object:Gem::Dependency
252
300
  name: launchy
253
301
  requirement: !ruby/object:Gem::Requirement
254
302
  requirements:
255
- - - '>='
303
+ - - ">="
256
304
  - !ruby/object:Gem::Version
257
305
  version: '0'
258
306
  type: :development
259
307
  prerelease: false
260
308
  version_requirements: !ruby/object:Gem::Requirement
261
309
  requirements:
262
- - - '>='
310
+ - - ">="
263
311
  - !ruby/object:Gem::Version
264
312
  version: '0'
265
313
  - !ruby/object:Gem::Dependency
266
314
  name: rake
267
315
  requirement: !ruby/object:Gem::Requirement
268
316
  requirements:
269
- - - '>='
317
+ - - ">="
270
318
  - !ruby/object:Gem::Version
271
319
  version: '0'
272
320
  type: :development
273
321
  prerelease: false
274
322
  version_requirements: !ruby/object:Gem::Requirement
275
323
  requirements:
276
- - - '>='
324
+ - - ">="
277
325
  - !ruby/object:Gem::Version
278
326
  version: '0'
279
327
  - !ruby/object:Gem::Dependency
280
328
  name: fakeweb
281
329
  requirement: !ruby/object:Gem::Requirement
282
330
  requirements:
283
- - - '>='
331
+ - - ">="
284
332
  - !ruby/object:Gem::Version
285
333
  version: '0'
286
334
  type: :development
287
335
  prerelease: false
288
336
  version_requirements: !ruby/object:Gem::Requirement
289
337
  requirements:
290
- - - '>='
338
+ - - ">="
291
339
  - !ruby/object:Gem::Version
292
340
  version: '0'
293
341
  - !ruby/object:Gem::Dependency
294
342
  name: railties
295
343
  requirement: !ruby/object:Gem::Requirement
296
344
  requirements:
297
- - - '>='
345
+ - - ">="
346
+ - !ruby/object:Gem::Version
347
+ version: '0'
348
+ type: :development
349
+ prerelease: false
350
+ version_requirements: !ruby/object:Gem::Requirement
351
+ requirements:
352
+ - - ">="
353
+ - !ruby/object:Gem::Version
354
+ version: '0'
355
+ - !ruby/object:Gem::Dependency
356
+ name: generator_spec
357
+ requirement: !ruby/object:Gem::Requirement
358
+ requirements:
359
+ - - ">="
298
360
  - !ruby/object:Gem::Version
299
361
  version: '0'
300
362
  type: :development
301
363
  prerelease: false
302
364
  version_requirements: !ruby/object:Gem::Requirement
303
365
  requirements:
304
- - - '>='
366
+ - - ">="
305
367
  - !ruby/object:Gem::Version
306
368
  version: '0'
307
369
  - !ruby/object:Gem::Dependency
308
- name: actionmailer
370
+ name: timecop
309
371
  requirement: !ruby/object:Gem::Requirement
310
372
  requirements:
311
- - - '>='
373
+ - - ">="
312
374
  - !ruby/object:Gem::Version
313
- version: 3.0.0
375
+ version: '0'
314
376
  type: :development
315
377
  prerelease: false
316
378
  version_requirements: !ruby/object:Gem::Requirement
317
379
  requirements:
318
- - - '>='
380
+ - - ">="
319
381
  - !ruby/object:Gem::Version
320
- version: 3.0.0
382
+ version: '0'
321
383
  description: Easy upload management for ActiveRecord
322
384
  email:
323
385
  - jyurek@thoughtbot.com
@@ -325,18 +387,20 @@ executables: []
325
387
  extensions: []
326
388
  extra_rdoc_files: []
327
389
  files:
328
- - .gitignore
329
- - .travis.yml
390
+ - ".codeclimate.yml"
391
+ - ".gitignore"
392
+ - ".hound.yml"
393
+ - ".rubocop.yml"
394
+ - ".travis.yml"
330
395
  - Appraisals
331
396
  - CONTRIBUTING.md
332
397
  - Gemfile
333
398
  - LICENSE
334
399
  - NEWS
335
400
  - README.md
336
- - RUNNING_TESTS.md
401
+ - RELEASING.md
337
402
  - Rakefile
338
403
  - UPGRADING
339
- - cucumber/paperclip_steps.rb
340
404
  - features/basic_integration.feature
341
405
  - features/migration.feature
342
406
  - features/rake_tasks.feature
@@ -354,10 +418,8 @@ files:
354
418
  - features/support/paths.rb
355
419
  - features/support/rails.rb
356
420
  - features/support/selectors.rb
357
- - gemfiles/3.0.gemfile
358
- - gemfiles/3.1.gemfile
359
- - gemfiles/3.2.gemfile
360
- - gemfiles/4.0.gemfile
421
+ - gemfiles/4.2.gemfile
422
+ - gemfiles/5.0.gemfile
361
423
  - lib/generators/paperclip/USAGE
362
424
  - lib/generators/paperclip/paperclip_generator.rb
363
425
  - lib/generators/paperclip/templates/paperclip_migration.rb.erb
@@ -396,8 +458,11 @@ files:
396
458
  - lib/paperclip/matchers/validate_attachment_content_type_matcher.rb
397
459
  - lib/paperclip/matchers/validate_attachment_presence_matcher.rb
398
460
  - lib/paperclip/matchers/validate_attachment_size_matcher.rb
461
+ - lib/paperclip/media_type_spoof_detector.rb
399
462
  - lib/paperclip/missing_attachment_styles.rb
400
463
  - lib/paperclip/processor.rb
464
+ - lib/paperclip/processor_helpers.rb
465
+ - lib/paperclip/rails_environment.rb
401
466
  - lib/paperclip/railtie.rb
402
467
  - lib/paperclip/schema.rb
403
468
  - lib/paperclip/storage.rb
@@ -411,103 +476,142 @@ files:
411
476
  - lib/paperclip/url_generator.rb
412
477
  - lib/paperclip/validators.rb
413
478
  - lib/paperclip/validators/attachment_content_type_validator.rb
479
+ - lib/paperclip/validators/attachment_file_name_validator.rb
480
+ - lib/paperclip/validators/attachment_file_type_ignorance_validator.rb
414
481
  - lib/paperclip/validators/attachment_presence_validator.rb
415
482
  - lib/paperclip/validators/attachment_size_validator.rb
483
+ - lib/paperclip/validators/media_type_spoof_detection_validator.rb
416
484
  - lib/paperclip/version.rb
417
485
  - lib/tasks/paperclip.rake
418
486
  - paperclip.gemspec
419
487
  - shoulda_macros/paperclip.rb
420
- - test/attachment_definitions_test.rb
421
- - test/attachment_processing_test.rb
422
- - test/attachment_registry_test.rb
423
- - test/attachment_test.rb
424
- - test/content_type_detector_test.rb
425
- - test/database.yml
426
- - test/file_command_content_type_detector_test.rb
427
- - test/filename_cleaner_test.rb
428
- - test/fixtures/12k.png
429
- - test/fixtures/50x50.png
430
- - test/fixtures/5k.png
431
- - test/fixtures/animated
432
- - test/fixtures/animated.gif
433
- - test/fixtures/animated.unknown
434
- - test/fixtures/bad.png
435
- - test/fixtures/fog.yml
436
- - test/fixtures/rotated.jpg
437
- - test/fixtures/s3.yml
438
- - test/fixtures/spaced file.png
439
- - test/fixtures/text.txt
440
- - test/fixtures/twopage.pdf
441
- - test/fixtures/uppercase.PNG
442
- - test/generator_test.rb
443
- - test/geometry_detector_test.rb
444
- - test/geometry_parser_test.rb
445
- - test/geometry_test.rb
446
- - test/has_attached_file_test.rb
447
- - test/helper.rb
448
- - test/integration_test.rb
449
- - test/interpolations_test.rb
450
- - test/io_adapters/abstract_adapter_test.rb
451
- - test/io_adapters/attachment_adapter_test.rb
452
- - test/io_adapters/data_uri_adapter_test.rb
453
- - test/io_adapters/empty_string_adapter_test.rb
454
- - test/io_adapters/file_adapter_test.rb
455
- - test/io_adapters/http_url_proxy_adapter_test.rb
456
- - test/io_adapters/identity_adapter_test.rb
457
- - test/io_adapters/nil_adapter_test.rb
458
- - test/io_adapters/registry_test.rb
459
- - test/io_adapters/stringio_adapter_test.rb
460
- - test/io_adapters/uploaded_file_adapter_test.rb
461
- - test/io_adapters/uri_adapter_test.rb
462
- - test/matchers/have_attached_file_matcher_test.rb
463
- - test/matchers/validate_attachment_content_type_matcher_test.rb
464
- - test/matchers/validate_attachment_presence_matcher_test.rb
465
- - test/matchers/validate_attachment_size_matcher_test.rb
466
- - test/meta_class_test.rb
467
- - test/paperclip_missing_attachment_styles_test.rb
468
- - test/paperclip_test.rb
469
- - test/plural_cache_test.rb
470
- - test/processor_test.rb
471
- - test/rake_test.rb
472
- - test/schema_test.rb
473
- - test/storage/filesystem_test.rb
474
- - test/storage/fog_test.rb
475
- - test/storage/s3_live_test.rb
476
- - test/storage/s3_test.rb
477
- - test/style_test.rb
478
- - test/support/mock_attachment.rb
479
- - test/support/mock_interpolator.rb
480
- - test/support/mock_model.rb
481
- - test/support/mock_url_generator_builder.rb
482
- - test/tempfile_factory_test.rb
483
- - test/thumbnail_test.rb
484
- - test/url_generator_test.rb
485
- - test/validators/attachment_content_type_validator_test.rb
486
- - test/validators/attachment_presence_validator_test.rb
487
- - test/validators/attachment_size_validator_test.rb
488
- - test/validators_test.rb
488
+ - spec/database.yml
489
+ - spec/paperclip/attachment_definitions_spec.rb
490
+ - spec/paperclip/attachment_processing_spec.rb
491
+ - spec/paperclip/attachment_registry_spec.rb
492
+ - spec/paperclip/attachment_spec.rb
493
+ - spec/paperclip/content_type_detector_spec.rb
494
+ - spec/paperclip/file_command_content_type_detector_spec.rb
495
+ - spec/paperclip/filename_cleaner_spec.rb
496
+ - spec/paperclip/geometry_detector_spec.rb
497
+ - spec/paperclip/geometry_parser_spec.rb
498
+ - spec/paperclip/geometry_spec.rb
499
+ - spec/paperclip/glue_spec.rb
500
+ - spec/paperclip/has_attached_file_spec.rb
501
+ - spec/paperclip/integration_spec.rb
502
+ - spec/paperclip/interpolations_spec.rb
503
+ - spec/paperclip/io_adapters/abstract_adapter_spec.rb
504
+ - spec/paperclip/io_adapters/attachment_adapter_spec.rb
505
+ - spec/paperclip/io_adapters/data_uri_adapter_spec.rb
506
+ - spec/paperclip/io_adapters/empty_string_adapter_spec.rb
507
+ - spec/paperclip/io_adapters/file_adapter_spec.rb
508
+ - spec/paperclip/io_adapters/http_url_proxy_adapter_spec.rb
509
+ - spec/paperclip/io_adapters/identity_adapter_spec.rb
510
+ - spec/paperclip/io_adapters/nil_adapter_spec.rb
511
+ - spec/paperclip/io_adapters/registry_spec.rb
512
+ - spec/paperclip/io_adapters/stringio_adapter_spec.rb
513
+ - spec/paperclip/io_adapters/uploaded_file_adapter_spec.rb
514
+ - spec/paperclip/io_adapters/uri_adapter_spec.rb
515
+ - spec/paperclip/matchers/have_attached_file_matcher_spec.rb
516
+ - spec/paperclip/matchers/validate_attachment_content_type_matcher_spec.rb
517
+ - spec/paperclip/matchers/validate_attachment_presence_matcher_spec.rb
518
+ - spec/paperclip/matchers/validate_attachment_size_matcher_spec.rb
519
+ - spec/paperclip/media_type_spoof_detector_spec.rb
520
+ - spec/paperclip/meta_class_spec.rb
521
+ - spec/paperclip/paperclip_missing_attachment_styles_spec.rb
522
+ - spec/paperclip/paperclip_spec.rb
523
+ - spec/paperclip/plural_cache_spec.rb
524
+ - spec/paperclip/processor_helpers_spec.rb
525
+ - spec/paperclip/processor_spec.rb
526
+ - spec/paperclip/rails_environment_spec.rb
527
+ - spec/paperclip/rake_spec.rb
528
+ - spec/paperclip/schema_spec.rb
529
+ - spec/paperclip/storage/filesystem_spec.rb
530
+ - spec/paperclip/storage/fog_spec.rb
531
+ - spec/paperclip/storage/s3_live_spec.rb
532
+ - spec/paperclip/storage/s3_spec.rb
533
+ - spec/paperclip/style_spec.rb
534
+ - spec/paperclip/tempfile_factory_spec.rb
535
+ - spec/paperclip/tempfile_spec.rb
536
+ - spec/paperclip/thumbnail_spec.rb
537
+ - spec/paperclip/url_generator_spec.rb
538
+ - spec/paperclip/validators/attachment_content_type_validator_spec.rb
539
+ - spec/paperclip/validators/attachment_file_name_validator_spec.rb
540
+ - spec/paperclip/validators/attachment_presence_validator_spec.rb
541
+ - spec/paperclip/validators/attachment_size_validator_spec.rb
542
+ - spec/paperclip/validators/media_type_spoof_detection_validator_spec.rb
543
+ - spec/paperclip/validators_spec.rb
544
+ - spec/spec_helper.rb
545
+ - spec/support/assertions.rb
546
+ - spec/support/conditional_filter_helper.rb
547
+ - spec/support/fake_model.rb
548
+ - spec/support/fake_rails.rb
549
+ - spec/support/fixtures/12k.png
550
+ - spec/support/fixtures/50x50.png
551
+ - spec/support/fixtures/5k.png
552
+ - spec/support/fixtures/animated
553
+ - spec/support/fixtures/animated.gif
554
+ - spec/support/fixtures/animated.unknown
555
+ - spec/support/fixtures/bad.png
556
+ - spec/support/fixtures/empty.html
557
+ - spec/support/fixtures/empty.xlsx
558
+ - spec/support/fixtures/fog.yml
559
+ - spec/support/fixtures/rotated.jpg
560
+ - spec/support/fixtures/s3.yml
561
+ - spec/support/fixtures/spaced file.jpg
562
+ - spec/support/fixtures/spaced file.png
563
+ - spec/support/fixtures/text.txt
564
+ - spec/support/fixtures/twopage.pdf
565
+ - spec/support/fixtures/uppercase.PNG
566
+ - spec/support/matchers/accept.rb
567
+ - spec/support/matchers/exist.rb
568
+ - spec/support/matchers/have_column.rb
569
+ - spec/support/mock_attachment.rb
570
+ - spec/support/mock_interpolator.rb
571
+ - spec/support/mock_url_generator_builder.rb
572
+ - spec/support/model_reconstruction.rb
573
+ - spec/support/reporting.rb
574
+ - spec/support/test_data.rb
575
+ - spec/support/version_helper.rb
489
576
  homepage: https://github.com/thoughtbot/paperclip
490
577
  licenses:
491
578
  - MIT
492
579
  metadata: {}
493
- post_install_message:
580
+ post_install_message: |
581
+ ##################################################
582
+ # NOTE FOR UPGRADING FROM 4.3.0 OR EARLIER #
583
+ ##################################################
584
+
585
+ Paperclip is now compatible with aws-sdk >= 2.0.0.
586
+
587
+ If you are using S3 storage, aws-sdk >= 2.0.0 requires you to make a few small
588
+ changes:
589
+
590
+ * You must set the `s3_region`
591
+ * If you are explicitly setting permissions anywhere, such as in an initializer,
592
+ note that the format of the permissions changed from using an underscore to
593
+ using a hyphen. For example, `:public_read` needs to be changed to
594
+ `public-read`.
595
+
596
+ For a walkthrough of upgrading from 4 to 5 and aws-sdk >= 2.0 you can watch
597
+ http://rubythursday.com/episodes/ruby-snack-27-upgrade-paperclip-and-aws-sdk-in-prep-for-rails-5
494
598
  rdoc_options: []
495
599
  require_paths:
496
600
  - lib
497
601
  required_ruby_version: !ruby/object:Gem::Requirement
498
602
  requirements:
499
- - - '>='
603
+ - - ">="
500
604
  - !ruby/object:Gem::Version
501
- version: 1.9.2
605
+ version: 2.1.0
502
606
  required_rubygems_version: !ruby/object:Gem::Requirement
503
607
  requirements:
504
- - - '>='
608
+ - - ">="
505
609
  - !ruby/object:Gem::Version
506
610
  version: '0'
507
611
  requirements:
508
612
  - ImageMagick
509
- rubyforge_project: paperclip
510
- rubygems_version: 2.0.14
613
+ rubyforge_project:
614
+ rubygems_version: 2.6.11
511
615
  signing_key:
512
616
  specification_version: 4
513
617
  summary: File attachments as attributes for ActiveRecord
@@ -529,72 +633,91 @@ test_files:
529
633
  - features/support/paths.rb
530
634
  - features/support/rails.rb
531
635
  - features/support/selectors.rb
532
- - test/attachment_definitions_test.rb
533
- - test/attachment_processing_test.rb
534
- - test/attachment_registry_test.rb
535
- - test/attachment_test.rb
536
- - test/content_type_detector_test.rb
537
- - test/database.yml
538
- - test/file_command_content_type_detector_test.rb
539
- - test/filename_cleaner_test.rb
540
- - test/fixtures/12k.png
541
- - test/fixtures/50x50.png
542
- - test/fixtures/5k.png
543
- - test/fixtures/animated
544
- - test/fixtures/animated.gif
545
- - test/fixtures/animated.unknown
546
- - test/fixtures/bad.png
547
- - test/fixtures/fog.yml
548
- - test/fixtures/rotated.jpg
549
- - test/fixtures/s3.yml
550
- - test/fixtures/spaced file.png
551
- - test/fixtures/text.txt
552
- - test/fixtures/twopage.pdf
553
- - test/fixtures/uppercase.PNG
554
- - test/generator_test.rb
555
- - test/geometry_detector_test.rb
556
- - test/geometry_parser_test.rb
557
- - test/geometry_test.rb
558
- - test/has_attached_file_test.rb
559
- - test/helper.rb
560
- - test/integration_test.rb
561
- - test/interpolations_test.rb
562
- - test/io_adapters/abstract_adapter_test.rb
563
- - test/io_adapters/attachment_adapter_test.rb
564
- - test/io_adapters/data_uri_adapter_test.rb
565
- - test/io_adapters/empty_string_adapter_test.rb
566
- - test/io_adapters/file_adapter_test.rb
567
- - test/io_adapters/http_url_proxy_adapter_test.rb
568
- - test/io_adapters/identity_adapter_test.rb
569
- - test/io_adapters/nil_adapter_test.rb
570
- - test/io_adapters/registry_test.rb
571
- - test/io_adapters/stringio_adapter_test.rb
572
- - test/io_adapters/uploaded_file_adapter_test.rb
573
- - test/io_adapters/uri_adapter_test.rb
574
- - test/matchers/have_attached_file_matcher_test.rb
575
- - test/matchers/validate_attachment_content_type_matcher_test.rb
576
- - test/matchers/validate_attachment_presence_matcher_test.rb
577
- - test/matchers/validate_attachment_size_matcher_test.rb
578
- - test/meta_class_test.rb
579
- - test/paperclip_missing_attachment_styles_test.rb
580
- - test/paperclip_test.rb
581
- - test/plural_cache_test.rb
582
- - test/processor_test.rb
583
- - test/rake_test.rb
584
- - test/schema_test.rb
585
- - test/storage/filesystem_test.rb
586
- - test/storage/fog_test.rb
587
- - test/storage/s3_live_test.rb
588
- - test/storage/s3_test.rb
589
- - test/style_test.rb
590
- - test/support/mock_attachment.rb
591
- - test/support/mock_interpolator.rb
592
- - test/support/mock_model.rb
593
- - test/support/mock_url_generator_builder.rb
594
- - test/tempfile_factory_test.rb
595
- - test/thumbnail_test.rb
596
- - test/url_generator_test.rb
597
- - test/validators/attachment_content_type_validator_test.rb
598
- - test/validators/attachment_presence_validator_test.rb
599
- - test/validators/attachment_size_validator_test.rb
600
- - test/validators_test.rb
636
+ - spec/database.yml
637
+ - spec/paperclip/attachment_definitions_spec.rb
638
+ - spec/paperclip/attachment_processing_spec.rb
639
+ - spec/paperclip/attachment_registry_spec.rb
640
+ - spec/paperclip/attachment_spec.rb
641
+ - spec/paperclip/content_type_detector_spec.rb
642
+ - spec/paperclip/file_command_content_type_detector_spec.rb
643
+ - spec/paperclip/filename_cleaner_spec.rb
644
+ - spec/paperclip/geometry_detector_spec.rb
645
+ - spec/paperclip/geometry_parser_spec.rb
646
+ - spec/paperclip/geometry_spec.rb
647
+ - spec/paperclip/glue_spec.rb
648
+ - spec/paperclip/has_attached_file_spec.rb
649
+ - spec/paperclip/integration_spec.rb
650
+ - spec/paperclip/interpolations_spec.rb
651
+ - spec/paperclip/io_adapters/abstract_adapter_spec.rb
652
+ - spec/paperclip/io_adapters/attachment_adapter_spec.rb
653
+ - spec/paperclip/io_adapters/data_uri_adapter_spec.rb
654
+ - spec/paperclip/io_adapters/empty_string_adapter_spec.rb
655
+ - spec/paperclip/io_adapters/file_adapter_spec.rb
656
+ - spec/paperclip/io_adapters/http_url_proxy_adapter_spec.rb
657
+ - spec/paperclip/io_adapters/identity_adapter_spec.rb
658
+ - spec/paperclip/io_adapters/nil_adapter_spec.rb
659
+ - spec/paperclip/io_adapters/registry_spec.rb
660
+ - spec/paperclip/io_adapters/stringio_adapter_spec.rb
661
+ - spec/paperclip/io_adapters/uploaded_file_adapter_spec.rb
662
+ - spec/paperclip/io_adapters/uri_adapter_spec.rb
663
+ - spec/paperclip/matchers/have_attached_file_matcher_spec.rb
664
+ - spec/paperclip/matchers/validate_attachment_content_type_matcher_spec.rb
665
+ - spec/paperclip/matchers/validate_attachment_presence_matcher_spec.rb
666
+ - spec/paperclip/matchers/validate_attachment_size_matcher_spec.rb
667
+ - spec/paperclip/media_type_spoof_detector_spec.rb
668
+ - spec/paperclip/meta_class_spec.rb
669
+ - spec/paperclip/paperclip_missing_attachment_styles_spec.rb
670
+ - spec/paperclip/paperclip_spec.rb
671
+ - spec/paperclip/plural_cache_spec.rb
672
+ - spec/paperclip/processor_helpers_spec.rb
673
+ - spec/paperclip/processor_spec.rb
674
+ - spec/paperclip/rails_environment_spec.rb
675
+ - spec/paperclip/rake_spec.rb
676
+ - spec/paperclip/schema_spec.rb
677
+ - spec/paperclip/storage/filesystem_spec.rb
678
+ - spec/paperclip/storage/fog_spec.rb
679
+ - spec/paperclip/storage/s3_live_spec.rb
680
+ - spec/paperclip/storage/s3_spec.rb
681
+ - spec/paperclip/style_spec.rb
682
+ - spec/paperclip/tempfile_factory_spec.rb
683
+ - spec/paperclip/tempfile_spec.rb
684
+ - spec/paperclip/thumbnail_spec.rb
685
+ - spec/paperclip/url_generator_spec.rb
686
+ - spec/paperclip/validators/attachment_content_type_validator_spec.rb
687
+ - spec/paperclip/validators/attachment_file_name_validator_spec.rb
688
+ - spec/paperclip/validators/attachment_presence_validator_spec.rb
689
+ - spec/paperclip/validators/attachment_size_validator_spec.rb
690
+ - spec/paperclip/validators/media_type_spoof_detection_validator_spec.rb
691
+ - spec/paperclip/validators_spec.rb
692
+ - spec/spec_helper.rb
693
+ - spec/support/assertions.rb
694
+ - spec/support/conditional_filter_helper.rb
695
+ - spec/support/fake_model.rb
696
+ - spec/support/fake_rails.rb
697
+ - spec/support/fixtures/12k.png
698
+ - spec/support/fixtures/50x50.png
699
+ - spec/support/fixtures/5k.png
700
+ - spec/support/fixtures/animated
701
+ - spec/support/fixtures/animated.gif
702
+ - spec/support/fixtures/animated.unknown
703
+ - spec/support/fixtures/bad.png
704
+ - spec/support/fixtures/empty.html
705
+ - spec/support/fixtures/empty.xlsx
706
+ - spec/support/fixtures/fog.yml
707
+ - spec/support/fixtures/rotated.jpg
708
+ - spec/support/fixtures/s3.yml
709
+ - spec/support/fixtures/spaced file.jpg
710
+ - spec/support/fixtures/spaced file.png
711
+ - spec/support/fixtures/text.txt
712
+ - spec/support/fixtures/twopage.pdf
713
+ - spec/support/fixtures/uppercase.PNG
714
+ - spec/support/matchers/accept.rb
715
+ - spec/support/matchers/exist.rb
716
+ - spec/support/matchers/have_column.rb
717
+ - spec/support/mock_attachment.rb
718
+ - spec/support/mock_interpolator.rb
719
+ - spec/support/mock_url_generator_builder.rb
720
+ - spec/support/model_reconstruction.rb
721
+ - spec/support/reporting.rb
722
+ - spec/support/test_data.rb
723
+ - spec/support/version_helper.rb