jr-paperclip 7.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. checksums.yaml +7 -0
  2. data/.github/FUNDING.yml +3 -0
  3. data/.github/ISSUE_TEMPLATE/bug_report.md +38 -0
  4. data/.github/ISSUE_TEMPLATE/custom.md +10 -0
  5. data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  6. data/.github/workflows/reviewdog.yml +23 -0
  7. data/.github/workflows/test.yml +46 -0
  8. data/.gitignore +19 -0
  9. data/.qlty/.gitignore +7 -0
  10. data/.qlty/qlty.toml +89 -0
  11. data/.rubocop.yml +1060 -0
  12. data/Appraisals +29 -0
  13. data/CONTRIBUTING.md +85 -0
  14. data/Gemfile +17 -0
  15. data/LICENSE +25 -0
  16. data/NEWS +567 -0
  17. data/README.md +1083 -0
  18. data/RELEASING.md +17 -0
  19. data/Rakefile +52 -0
  20. data/bin/console +11 -0
  21. data/features/basic_integration.feature +85 -0
  22. data/features/migration.feature +29 -0
  23. data/features/rake_tasks.feature +62 -0
  24. data/features/step_definitions/attachment_steps.rb +121 -0
  25. data/features/step_definitions/html_steps.rb +15 -0
  26. data/features/step_definitions/rails_steps.rb +271 -0
  27. data/features/step_definitions/s3_steps.rb +16 -0
  28. data/features/step_definitions/web_steps.rb +106 -0
  29. data/features/support/env.rb +12 -0
  30. data/features/support/file_helpers.rb +34 -0
  31. data/features/support/fixtures/boot_config.txt +15 -0
  32. data/features/support/fixtures/gemfile.txt +5 -0
  33. data/features/support/fixtures/preinitializer.txt +20 -0
  34. data/features/support/paths.rb +28 -0
  35. data/features/support/rails.rb +39 -0
  36. data/features/support/selectors.rb +19 -0
  37. data/features/support/webmock_setup.rb +8 -0
  38. data/gemfiles/7.0.gemfile +20 -0
  39. data/gemfiles/7.1.gemfile +20 -0
  40. data/gemfiles/7.2.gemfile +20 -0
  41. data/gemfiles/8.0.gemfile +20 -0
  42. data/gemfiles/8.1.gemfile +20 -0
  43. data/lib/generators/paperclip/USAGE +8 -0
  44. data/lib/generators/paperclip/paperclip_generator.rb +36 -0
  45. data/lib/generators/paperclip/templates/paperclip_migration.rb.erb +15 -0
  46. data/lib/jr-paperclip.rb +1 -0
  47. data/lib/paperclip/attachment.rb +634 -0
  48. data/lib/paperclip/attachment_registry.rb +60 -0
  49. data/lib/paperclip/callbacks.rb +42 -0
  50. data/lib/paperclip/content_type_detector.rb +85 -0
  51. data/lib/paperclip/errors.rb +34 -0
  52. data/lib/paperclip/file_command_content_type_detector.rb +28 -0
  53. data/lib/paperclip/filename_cleaner.rb +15 -0
  54. data/lib/paperclip/geometry.rb +157 -0
  55. data/lib/paperclip/geometry_detector_factory.rb +45 -0
  56. data/lib/paperclip/geometry_parser_factory.rb +31 -0
  57. data/lib/paperclip/glue.rb +18 -0
  58. data/lib/paperclip/has_attached_file.rb +116 -0
  59. data/lib/paperclip/helpers.rb +60 -0
  60. data/lib/paperclip/interpolations/plural_cache.rb +18 -0
  61. data/lib/paperclip/interpolations.rb +205 -0
  62. data/lib/paperclip/io_adapters/abstract_adapter.rb +75 -0
  63. data/lib/paperclip/io_adapters/attachment_adapter.rb +56 -0
  64. data/lib/paperclip/io_adapters/data_uri_adapter.rb +22 -0
  65. data/lib/paperclip/io_adapters/empty_string_adapter.rb +19 -0
  66. data/lib/paperclip/io_adapters/file_adapter.rb +26 -0
  67. data/lib/paperclip/io_adapters/http_url_proxy_adapter.rb +16 -0
  68. data/lib/paperclip/io_adapters/identity_adapter.rb +17 -0
  69. data/lib/paperclip/io_adapters/nil_adapter.rb +37 -0
  70. data/lib/paperclip/io_adapters/registry.rb +36 -0
  71. data/lib/paperclip/io_adapters/stringio_adapter.rb +36 -0
  72. data/lib/paperclip/io_adapters/uploaded_file_adapter.rb +44 -0
  73. data/lib/paperclip/io_adapters/uri_adapter.rb +78 -0
  74. data/lib/paperclip/locales/en.yml +18 -0
  75. data/lib/paperclip/locales/fr.yml +18 -0
  76. data/lib/paperclip/locales/gd.yml +20 -0
  77. data/lib/paperclip/logger.rb +21 -0
  78. data/lib/paperclip/matchers/have_attached_file_matcher.rb +54 -0
  79. data/lib/paperclip/matchers/validate_attachment_content_type_matcher.rb +101 -0
  80. data/lib/paperclip/matchers/validate_attachment_presence_matcher.rb +59 -0
  81. data/lib/paperclip/matchers/validate_attachment_size_matcher.rb +97 -0
  82. data/lib/paperclip/matchers.rb +64 -0
  83. data/lib/paperclip/media_type_spoof_detector.rb +93 -0
  84. data/lib/paperclip/missing_attachment_styles.rb +84 -0
  85. data/lib/paperclip/processor.rb +56 -0
  86. data/lib/paperclip/processor_helpers.rb +52 -0
  87. data/lib/paperclip/rails_environment.rb +21 -0
  88. data/lib/paperclip/railtie.rb +31 -0
  89. data/lib/paperclip/schema.rb +104 -0
  90. data/lib/paperclip/storage/filesystem.rb +99 -0
  91. data/lib/paperclip/storage/fog.rb +262 -0
  92. data/lib/paperclip/storage/s3.rb +497 -0
  93. data/lib/paperclip/storage.rb +3 -0
  94. data/lib/paperclip/style.rb +106 -0
  95. data/lib/paperclip/tempfile.rb +42 -0
  96. data/lib/paperclip/tempfile_factory.rb +22 -0
  97. data/lib/paperclip/thumbnail.rb +131 -0
  98. data/lib/paperclip/url_generator.rb +83 -0
  99. data/lib/paperclip/validators/attachment_content_type_validator.rb +95 -0
  100. data/lib/paperclip/validators/attachment_file_name_validator.rb +82 -0
  101. data/lib/paperclip/validators/attachment_file_type_ignorance_validator.rb +28 -0
  102. data/lib/paperclip/validators/attachment_presence_validator.rb +28 -0
  103. data/lib/paperclip/validators/attachment_size_validator.rb +126 -0
  104. data/lib/paperclip/validators/media_type_spoof_detection_validator.rb +29 -0
  105. data/lib/paperclip/validators.rb +73 -0
  106. data/lib/paperclip/version.rb +3 -0
  107. data/lib/paperclip.rb +215 -0
  108. data/lib/tasks/paperclip.rake +140 -0
  109. data/paperclip.gemspec +51 -0
  110. data/shoulda_macros/paperclip.rb +134 -0
  111. data/spec/database.yml +4 -0
  112. data/spec/paperclip/attachment_definitions_spec.rb +13 -0
  113. data/spec/paperclip/attachment_processing_spec.rb +79 -0
  114. data/spec/paperclip/attachment_registry_spec.rb +158 -0
  115. data/spec/paperclip/attachment_spec.rb +1617 -0
  116. data/spec/paperclip/content_type_detector_spec.rb +58 -0
  117. data/spec/paperclip/file_command_content_type_detector_spec.rb +40 -0
  118. data/spec/paperclip/filename_cleaner_spec.rb +13 -0
  119. data/spec/paperclip/geometry_detector_spec.rb +47 -0
  120. data/spec/paperclip/geometry_parser_spec.rb +73 -0
  121. data/spec/paperclip/geometry_spec.rb +267 -0
  122. data/spec/paperclip/glue_spec.rb +63 -0
  123. data/spec/paperclip/has_attached_file_spec.rb +78 -0
  124. data/spec/paperclip/integration_spec.rb +702 -0
  125. data/spec/paperclip/interpolations_spec.rb +270 -0
  126. data/spec/paperclip/io_adapters/abstract_adapter_spec.rb +160 -0
  127. data/spec/paperclip/io_adapters/attachment_adapter_spec.rb +167 -0
  128. data/spec/paperclip/io_adapters/data_uri_adapter_spec.rb +88 -0
  129. data/spec/paperclip/io_adapters/empty_string_adapter_spec.rb +17 -0
  130. data/spec/paperclip/io_adapters/file_adapter_spec.rb +134 -0
  131. data/spec/paperclip/io_adapters/http_url_proxy_adapter_spec.rb +142 -0
  132. data/spec/paperclip/io_adapters/identity_adapter_spec.rb +8 -0
  133. data/spec/paperclip/io_adapters/nil_adapter_spec.rb +25 -0
  134. data/spec/paperclip/io_adapters/registry_spec.rb +35 -0
  135. data/spec/paperclip/io_adapters/stringio_adapter_spec.rb +64 -0
  136. data/spec/paperclip/io_adapters/uploaded_file_adapter_spec.rb +146 -0
  137. data/spec/paperclip/io_adapters/uri_adapter_spec.rb +231 -0
  138. data/spec/paperclip/matchers/have_attached_file_matcher_spec.rb +19 -0
  139. data/spec/paperclip/matchers/validate_attachment_content_type_matcher_spec.rb +108 -0
  140. data/spec/paperclip/matchers/validate_attachment_presence_matcher_spec.rb +69 -0
  141. data/spec/paperclip/matchers/validate_attachment_size_matcher_spec.rb +88 -0
  142. data/spec/paperclip/media_type_spoof_detector_spec.rb +126 -0
  143. data/spec/paperclip/meta_class_spec.rb +30 -0
  144. data/spec/paperclip/paperclip_missing_attachment_styles_spec.rb +88 -0
  145. data/spec/paperclip/paperclip_spec.rb +196 -0
  146. data/spec/paperclip/plural_cache_spec.rb +37 -0
  147. data/spec/paperclip/processor_helpers_spec.rb +57 -0
  148. data/spec/paperclip/processor_spec.rb +26 -0
  149. data/spec/paperclip/rails_environment_spec.rb +30 -0
  150. data/spec/paperclip/rake_spec.rb +103 -0
  151. data/spec/paperclip/schema_spec.rb +298 -0
  152. data/spec/paperclip/storage/filesystem_spec.rb +102 -0
  153. data/spec/paperclip/storage/fog_spec.rb +606 -0
  154. data/spec/paperclip/storage/s3_live_spec.rb +188 -0
  155. data/spec/paperclip/storage/s3_spec.rb +1974 -0
  156. data/spec/paperclip/style_spec.rb +251 -0
  157. data/spec/paperclip/tempfile_factory_spec.rb +33 -0
  158. data/spec/paperclip/tempfile_spec.rb +35 -0
  159. data/spec/paperclip/thumbnail_spec.rb +504 -0
  160. data/spec/paperclip/url_generator_spec.rb +231 -0
  161. data/spec/paperclip/validators/attachment_content_type_validator_spec.rb +410 -0
  162. data/spec/paperclip/validators/attachment_file_name_validator_spec.rb +249 -0
  163. data/spec/paperclip/validators/attachment_presence_validator_spec.rb +85 -0
  164. data/spec/paperclip/validators/attachment_size_validator_spec.rb +325 -0
  165. data/spec/paperclip/validators/media_type_spoof_detection_validator_spec.rb +48 -0
  166. data/spec/paperclip/validators_spec.rb +179 -0
  167. data/spec/spec_helper.rb +52 -0
  168. data/spec/support/assertions.rb +84 -0
  169. data/spec/support/fake_model.rb +24 -0
  170. data/spec/support/fake_rails.rb +12 -0
  171. data/spec/support/fixtures/12k.png +0 -0
  172. data/spec/support/fixtures/50x50.png +0 -0
  173. data/spec/support/fixtures/5k.png +0 -0
  174. data/spec/support/fixtures/animated +0 -0
  175. data/spec/support/fixtures/animated.gif +0 -0
  176. data/spec/support/fixtures/animated.unknown +0 -0
  177. data/spec/support/fixtures/aws_s3.yml +13 -0
  178. data/spec/support/fixtures/bad.png +1 -0
  179. data/spec/support/fixtures/empty.html +1 -0
  180. data/spec/support/fixtures/empty.xlsx +0 -0
  181. data/spec/support/fixtures/fog.yml +8 -0
  182. data/spec/support/fixtures/rotated.jpg +0 -0
  183. data/spec/support/fixtures/s3.yml +8 -0
  184. data/spec/support/fixtures/sample.xlsm +0 -0
  185. data/spec/support/fixtures/spaced file.jpg +0 -0
  186. data/spec/support/fixtures/spaced file.png +0 -0
  187. data/spec/support/fixtures/text.txt +1 -0
  188. data/spec/support/fixtures/twopage.pdf +0 -0
  189. data/spec/support/fixtures/uppercase.PNG +0 -0
  190. data/spec/support/matchers/accept.rb +5 -0
  191. data/spec/support/matchers/exist.rb +5 -0
  192. data/spec/support/matchers/have_column.rb +23 -0
  193. data/spec/support/mock_attachment.rb +24 -0
  194. data/spec/support/mock_interpolator.rb +24 -0
  195. data/spec/support/mock_url_generator_builder.rb +26 -0
  196. data/spec/support/model_reconstruction.rb +72 -0
  197. data/spec/support/reporting.rb +11 -0
  198. data/spec/support/test_data.rb +13 -0
  199. data/spec/support/version_helper.rb +9 -0
  200. metadata +702 -0
metadata ADDED
@@ -0,0 +1,702 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jr-paperclip
3
+ version: !ruby/object:Gem::Version
4
+ version: 7.3.0
5
+ platform: ruby
6
+ authors:
7
+ - Jukka Rautanen
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: activemodel
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: 7.0.0
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: 7.0.0
26
+ - !ruby/object:Gem::Dependency
27
+ name: activesupport
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 7.0.0
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: 7.0.0
40
+ - !ruby/object:Gem::Dependency
41
+ name: marcel
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 1.0.1
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 1.0.1
54
+ - !ruby/object:Gem::Dependency
55
+ name: mime-types
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ type: :runtime
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ - !ruby/object:Gem::Dependency
69
+ name: terrapin
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: 0.6.0
75
+ - - "<"
76
+ - !ruby/object:Gem::Version
77
+ version: '2.0'
78
+ type: :runtime
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: 0.6.0
85
+ - - "<"
86
+ - !ruby/object:Gem::Version
87
+ version: '2.0'
88
+ - !ruby/object:Gem::Dependency
89
+ name: activerecord
90
+ requirement: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ version: 7.0.0
95
+ type: :development
96
+ prerelease: false
97
+ version_requirements: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ version: 7.0.0
102
+ - !ruby/object:Gem::Dependency
103
+ name: appraisal
104
+ requirement: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: '0'
109
+ type: :development
110
+ prerelease: false
111
+ version_requirements: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ version: '0'
116
+ - !ruby/object:Gem::Dependency
117
+ name: aruba
118
+ requirement: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - "~>"
121
+ - !ruby/object:Gem::Version
122
+ version: '2.0'
123
+ type: :development
124
+ prerelease: false
125
+ version_requirements: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - "~>"
128
+ - !ruby/object:Gem::Version
129
+ version: '2.0'
130
+ - !ruby/object:Gem::Dependency
131
+ name: aws-sdk-s3
132
+ requirement: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - ">="
135
+ - !ruby/object:Gem::Version
136
+ version: '0'
137
+ type: :development
138
+ prerelease: false
139
+ version_requirements: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - ">="
142
+ - !ruby/object:Gem::Version
143
+ version: '0'
144
+ - !ruby/object:Gem::Dependency
145
+ name: bundler
146
+ requirement: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - ">="
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
151
+ type: :development
152
+ prerelease: false
153
+ version_requirements: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - ">="
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ - !ruby/object:Gem::Dependency
159
+ name: capybara
160
+ requirement: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - ">="
163
+ - !ruby/object:Gem::Version
164
+ version: '0'
165
+ type: :development
166
+ prerelease: false
167
+ version_requirements: !ruby/object:Gem::Requirement
168
+ requirements:
169
+ - - ">="
170
+ - !ruby/object:Gem::Version
171
+ version: '0'
172
+ - !ruby/object:Gem::Dependency
173
+ name: cucumber
174
+ requirement: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - "~>"
177
+ - !ruby/object:Gem::Version
178
+ version: '9.0'
179
+ type: :development
180
+ prerelease: false
181
+ version_requirements: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - "~>"
184
+ - !ruby/object:Gem::Version
185
+ version: '9.0'
186
+ - !ruby/object:Gem::Dependency
187
+ name: cucumber-rails
188
+ requirement: !ruby/object:Gem::Requirement
189
+ requirements:
190
+ - - "~>"
191
+ - !ruby/object:Gem::Version
192
+ version: '3.0'
193
+ type: :development
194
+ prerelease: false
195
+ version_requirements: !ruby/object:Gem::Requirement
196
+ requirements:
197
+ - - "~>"
198
+ - !ruby/object:Gem::Version
199
+ version: '3.0'
200
+ - !ruby/object:Gem::Dependency
201
+ name: fog-aws
202
+ requirement: !ruby/object:Gem::Requirement
203
+ requirements:
204
+ - - ">="
205
+ - !ruby/object:Gem::Version
206
+ version: '0'
207
+ type: :development
208
+ prerelease: false
209
+ version_requirements: !ruby/object:Gem::Requirement
210
+ requirements:
211
+ - - ">="
212
+ - !ruby/object:Gem::Version
213
+ version: '0'
214
+ - !ruby/object:Gem::Dependency
215
+ name: fog-local
216
+ requirement: !ruby/object:Gem::Requirement
217
+ requirements:
218
+ - - ">="
219
+ - !ruby/object:Gem::Version
220
+ version: '0'
221
+ type: :development
222
+ prerelease: false
223
+ version_requirements: !ruby/object:Gem::Requirement
224
+ requirements:
225
+ - - ">="
226
+ - !ruby/object:Gem::Version
227
+ version: '0'
228
+ - !ruby/object:Gem::Dependency
229
+ name: generator_spec
230
+ requirement: !ruby/object:Gem::Requirement
231
+ requirements:
232
+ - - ">="
233
+ - !ruby/object:Gem::Version
234
+ version: '0'
235
+ type: :development
236
+ prerelease: false
237
+ version_requirements: !ruby/object:Gem::Requirement
238
+ requirements:
239
+ - - ">="
240
+ - !ruby/object:Gem::Version
241
+ version: '0'
242
+ - !ruby/object:Gem::Dependency
243
+ name: launchy
244
+ requirement: !ruby/object:Gem::Requirement
245
+ requirements:
246
+ - - ">="
247
+ - !ruby/object:Gem::Version
248
+ version: '0'
249
+ type: :development
250
+ prerelease: false
251
+ version_requirements: !ruby/object:Gem::Requirement
252
+ requirements:
253
+ - - ">="
254
+ - !ruby/object:Gem::Version
255
+ version: '0'
256
+ - !ruby/object:Gem::Dependency
257
+ name: nokogiri
258
+ requirement: !ruby/object:Gem::Requirement
259
+ requirements:
260
+ - - ">="
261
+ - !ruby/object:Gem::Version
262
+ version: '0'
263
+ type: :development
264
+ prerelease: false
265
+ version_requirements: !ruby/object:Gem::Requirement
266
+ requirements:
267
+ - - ">="
268
+ - !ruby/object:Gem::Version
269
+ version: '0'
270
+ - !ruby/object:Gem::Dependency
271
+ name: ostruct
272
+ requirement: !ruby/object:Gem::Requirement
273
+ requirements:
274
+ - - ">="
275
+ - !ruby/object:Gem::Version
276
+ version: '0'
277
+ type: :development
278
+ prerelease: false
279
+ version_requirements: !ruby/object:Gem::Requirement
280
+ requirements:
281
+ - - ">="
282
+ - !ruby/object:Gem::Version
283
+ version: '0'
284
+ - !ruby/object:Gem::Dependency
285
+ name: railties
286
+ requirement: !ruby/object:Gem::Requirement
287
+ requirements:
288
+ - - ">="
289
+ - !ruby/object:Gem::Version
290
+ version: '0'
291
+ type: :development
292
+ prerelease: false
293
+ version_requirements: !ruby/object:Gem::Requirement
294
+ requirements:
295
+ - - ">="
296
+ - !ruby/object:Gem::Version
297
+ version: '0'
298
+ - !ruby/object:Gem::Dependency
299
+ name: rake
300
+ requirement: !ruby/object:Gem::Requirement
301
+ requirements:
302
+ - - ">="
303
+ - !ruby/object:Gem::Version
304
+ version: '0'
305
+ type: :development
306
+ prerelease: false
307
+ version_requirements: !ruby/object:Gem::Requirement
308
+ requirements:
309
+ - - ">="
310
+ - !ruby/object:Gem::Version
311
+ version: '0'
312
+ - !ruby/object:Gem::Dependency
313
+ name: rspec
314
+ requirement: !ruby/object:Gem::Requirement
315
+ requirements:
316
+ - - "~>"
317
+ - !ruby/object:Gem::Version
318
+ version: '3.0'
319
+ type: :development
320
+ prerelease: false
321
+ version_requirements: !ruby/object:Gem::Requirement
322
+ requirements:
323
+ - - "~>"
324
+ - !ruby/object:Gem::Version
325
+ version: '3.0'
326
+ - !ruby/object:Gem::Dependency
327
+ name: shoulda
328
+ requirement: !ruby/object:Gem::Requirement
329
+ requirements:
330
+ - - ">="
331
+ - !ruby/object:Gem::Version
332
+ version: '0'
333
+ type: :development
334
+ prerelease: false
335
+ version_requirements: !ruby/object:Gem::Requirement
336
+ requirements:
337
+ - - ">="
338
+ - !ruby/object:Gem::Version
339
+ version: '0'
340
+ - !ruby/object:Gem::Dependency
341
+ name: timecop
342
+ requirement: !ruby/object:Gem::Requirement
343
+ requirements:
344
+ - - ">="
345
+ - !ruby/object:Gem::Version
346
+ version: '0'
347
+ type: :development
348
+ prerelease: false
349
+ version_requirements: !ruby/object:Gem::Requirement
350
+ requirements:
351
+ - - ">="
352
+ - !ruby/object:Gem::Version
353
+ version: '0'
354
+ - !ruby/object:Gem::Dependency
355
+ name: webmock
356
+ requirement: !ruby/object:Gem::Requirement
357
+ requirements:
358
+ - - ">="
359
+ - !ruby/object:Gem::Version
360
+ version: '0'
361
+ type: :development
362
+ prerelease: false
363
+ version_requirements: !ruby/object:Gem::Requirement
364
+ requirements:
365
+ - - ">="
366
+ - !ruby/object:Gem::Version
367
+ version: '0'
368
+ description: Easy upload management for ActiveRecord
369
+ email:
370
+ - jukka.rautanen@gmail.com
371
+ executables:
372
+ - console
373
+ extensions: []
374
+ extra_rdoc_files: []
375
+ files:
376
+ - ".github/FUNDING.yml"
377
+ - ".github/ISSUE_TEMPLATE/bug_report.md"
378
+ - ".github/ISSUE_TEMPLATE/custom.md"
379
+ - ".github/ISSUE_TEMPLATE/feature_request.md"
380
+ - ".github/workflows/reviewdog.yml"
381
+ - ".github/workflows/test.yml"
382
+ - ".gitignore"
383
+ - ".qlty/.gitignore"
384
+ - ".qlty/qlty.toml"
385
+ - ".rubocop.yml"
386
+ - Appraisals
387
+ - CONTRIBUTING.md
388
+ - Gemfile
389
+ - LICENSE
390
+ - NEWS
391
+ - README.md
392
+ - RELEASING.md
393
+ - Rakefile
394
+ - bin/console
395
+ - features/basic_integration.feature
396
+ - features/migration.feature
397
+ - features/rake_tasks.feature
398
+ - features/step_definitions/attachment_steps.rb
399
+ - features/step_definitions/html_steps.rb
400
+ - features/step_definitions/rails_steps.rb
401
+ - features/step_definitions/s3_steps.rb
402
+ - features/step_definitions/web_steps.rb
403
+ - features/support/env.rb
404
+ - features/support/file_helpers.rb
405
+ - features/support/fixtures/boot_config.txt
406
+ - features/support/fixtures/gemfile.txt
407
+ - features/support/fixtures/preinitializer.txt
408
+ - features/support/paths.rb
409
+ - features/support/rails.rb
410
+ - features/support/selectors.rb
411
+ - features/support/webmock_setup.rb
412
+ - gemfiles/7.0.gemfile
413
+ - gemfiles/7.1.gemfile
414
+ - gemfiles/7.2.gemfile
415
+ - gemfiles/8.0.gemfile
416
+ - gemfiles/8.1.gemfile
417
+ - lib/generators/paperclip/USAGE
418
+ - lib/generators/paperclip/paperclip_generator.rb
419
+ - lib/generators/paperclip/templates/paperclip_migration.rb.erb
420
+ - lib/jr-paperclip.rb
421
+ - lib/paperclip.rb
422
+ - lib/paperclip/attachment.rb
423
+ - lib/paperclip/attachment_registry.rb
424
+ - lib/paperclip/callbacks.rb
425
+ - lib/paperclip/content_type_detector.rb
426
+ - lib/paperclip/errors.rb
427
+ - lib/paperclip/file_command_content_type_detector.rb
428
+ - lib/paperclip/filename_cleaner.rb
429
+ - lib/paperclip/geometry.rb
430
+ - lib/paperclip/geometry_detector_factory.rb
431
+ - lib/paperclip/geometry_parser_factory.rb
432
+ - lib/paperclip/glue.rb
433
+ - lib/paperclip/has_attached_file.rb
434
+ - lib/paperclip/helpers.rb
435
+ - lib/paperclip/interpolations.rb
436
+ - lib/paperclip/interpolations/plural_cache.rb
437
+ - lib/paperclip/io_adapters/abstract_adapter.rb
438
+ - lib/paperclip/io_adapters/attachment_adapter.rb
439
+ - lib/paperclip/io_adapters/data_uri_adapter.rb
440
+ - lib/paperclip/io_adapters/empty_string_adapter.rb
441
+ - lib/paperclip/io_adapters/file_adapter.rb
442
+ - lib/paperclip/io_adapters/http_url_proxy_adapter.rb
443
+ - lib/paperclip/io_adapters/identity_adapter.rb
444
+ - lib/paperclip/io_adapters/nil_adapter.rb
445
+ - lib/paperclip/io_adapters/registry.rb
446
+ - lib/paperclip/io_adapters/stringio_adapter.rb
447
+ - lib/paperclip/io_adapters/uploaded_file_adapter.rb
448
+ - lib/paperclip/io_adapters/uri_adapter.rb
449
+ - lib/paperclip/locales/en.yml
450
+ - lib/paperclip/locales/fr.yml
451
+ - lib/paperclip/locales/gd.yml
452
+ - lib/paperclip/logger.rb
453
+ - lib/paperclip/matchers.rb
454
+ - lib/paperclip/matchers/have_attached_file_matcher.rb
455
+ - lib/paperclip/matchers/validate_attachment_content_type_matcher.rb
456
+ - lib/paperclip/matchers/validate_attachment_presence_matcher.rb
457
+ - lib/paperclip/matchers/validate_attachment_size_matcher.rb
458
+ - lib/paperclip/media_type_spoof_detector.rb
459
+ - lib/paperclip/missing_attachment_styles.rb
460
+ - lib/paperclip/processor.rb
461
+ - lib/paperclip/processor_helpers.rb
462
+ - lib/paperclip/rails_environment.rb
463
+ - lib/paperclip/railtie.rb
464
+ - lib/paperclip/schema.rb
465
+ - lib/paperclip/storage.rb
466
+ - lib/paperclip/storage/filesystem.rb
467
+ - lib/paperclip/storage/fog.rb
468
+ - lib/paperclip/storage/s3.rb
469
+ - lib/paperclip/style.rb
470
+ - lib/paperclip/tempfile.rb
471
+ - lib/paperclip/tempfile_factory.rb
472
+ - lib/paperclip/thumbnail.rb
473
+ - lib/paperclip/url_generator.rb
474
+ - lib/paperclip/validators.rb
475
+ - lib/paperclip/validators/attachment_content_type_validator.rb
476
+ - lib/paperclip/validators/attachment_file_name_validator.rb
477
+ - lib/paperclip/validators/attachment_file_type_ignorance_validator.rb
478
+ - lib/paperclip/validators/attachment_presence_validator.rb
479
+ - lib/paperclip/validators/attachment_size_validator.rb
480
+ - lib/paperclip/validators/media_type_spoof_detection_validator.rb
481
+ - lib/paperclip/version.rb
482
+ - lib/tasks/paperclip.rake
483
+ - paperclip.gemspec
484
+ - shoulda_macros/paperclip.rb
485
+ - spec/database.yml
486
+ - spec/paperclip/attachment_definitions_spec.rb
487
+ - spec/paperclip/attachment_processing_spec.rb
488
+ - spec/paperclip/attachment_registry_spec.rb
489
+ - spec/paperclip/attachment_spec.rb
490
+ - spec/paperclip/content_type_detector_spec.rb
491
+ - spec/paperclip/file_command_content_type_detector_spec.rb
492
+ - spec/paperclip/filename_cleaner_spec.rb
493
+ - spec/paperclip/geometry_detector_spec.rb
494
+ - spec/paperclip/geometry_parser_spec.rb
495
+ - spec/paperclip/geometry_spec.rb
496
+ - spec/paperclip/glue_spec.rb
497
+ - spec/paperclip/has_attached_file_spec.rb
498
+ - spec/paperclip/integration_spec.rb
499
+ - spec/paperclip/interpolations_spec.rb
500
+ - spec/paperclip/io_adapters/abstract_adapter_spec.rb
501
+ - spec/paperclip/io_adapters/attachment_adapter_spec.rb
502
+ - spec/paperclip/io_adapters/data_uri_adapter_spec.rb
503
+ - spec/paperclip/io_adapters/empty_string_adapter_spec.rb
504
+ - spec/paperclip/io_adapters/file_adapter_spec.rb
505
+ - spec/paperclip/io_adapters/http_url_proxy_adapter_spec.rb
506
+ - spec/paperclip/io_adapters/identity_adapter_spec.rb
507
+ - spec/paperclip/io_adapters/nil_adapter_spec.rb
508
+ - spec/paperclip/io_adapters/registry_spec.rb
509
+ - spec/paperclip/io_adapters/stringio_adapter_spec.rb
510
+ - spec/paperclip/io_adapters/uploaded_file_adapter_spec.rb
511
+ - spec/paperclip/io_adapters/uri_adapter_spec.rb
512
+ - spec/paperclip/matchers/have_attached_file_matcher_spec.rb
513
+ - spec/paperclip/matchers/validate_attachment_content_type_matcher_spec.rb
514
+ - spec/paperclip/matchers/validate_attachment_presence_matcher_spec.rb
515
+ - spec/paperclip/matchers/validate_attachment_size_matcher_spec.rb
516
+ - spec/paperclip/media_type_spoof_detector_spec.rb
517
+ - spec/paperclip/meta_class_spec.rb
518
+ - spec/paperclip/paperclip_missing_attachment_styles_spec.rb
519
+ - spec/paperclip/paperclip_spec.rb
520
+ - spec/paperclip/plural_cache_spec.rb
521
+ - spec/paperclip/processor_helpers_spec.rb
522
+ - spec/paperclip/processor_spec.rb
523
+ - spec/paperclip/rails_environment_spec.rb
524
+ - spec/paperclip/rake_spec.rb
525
+ - spec/paperclip/schema_spec.rb
526
+ - spec/paperclip/storage/filesystem_spec.rb
527
+ - spec/paperclip/storage/fog_spec.rb
528
+ - spec/paperclip/storage/s3_live_spec.rb
529
+ - spec/paperclip/storage/s3_spec.rb
530
+ - spec/paperclip/style_spec.rb
531
+ - spec/paperclip/tempfile_factory_spec.rb
532
+ - spec/paperclip/tempfile_spec.rb
533
+ - spec/paperclip/thumbnail_spec.rb
534
+ - spec/paperclip/url_generator_spec.rb
535
+ - spec/paperclip/validators/attachment_content_type_validator_spec.rb
536
+ - spec/paperclip/validators/attachment_file_name_validator_spec.rb
537
+ - spec/paperclip/validators/attachment_presence_validator_spec.rb
538
+ - spec/paperclip/validators/attachment_size_validator_spec.rb
539
+ - spec/paperclip/validators/media_type_spoof_detection_validator_spec.rb
540
+ - spec/paperclip/validators_spec.rb
541
+ - spec/spec_helper.rb
542
+ - spec/support/assertions.rb
543
+ - spec/support/fake_model.rb
544
+ - spec/support/fake_rails.rb
545
+ - spec/support/fixtures/12k.png
546
+ - spec/support/fixtures/50x50.png
547
+ - spec/support/fixtures/5k.png
548
+ - spec/support/fixtures/animated
549
+ - spec/support/fixtures/animated.gif
550
+ - spec/support/fixtures/animated.unknown
551
+ - spec/support/fixtures/aws_s3.yml
552
+ - spec/support/fixtures/bad.png
553
+ - spec/support/fixtures/empty.html
554
+ - spec/support/fixtures/empty.xlsx
555
+ - spec/support/fixtures/fog.yml
556
+ - spec/support/fixtures/rotated.jpg
557
+ - spec/support/fixtures/s3.yml
558
+ - spec/support/fixtures/sample.xlsm
559
+ - spec/support/fixtures/spaced file.jpg
560
+ - spec/support/fixtures/spaced file.png
561
+ - spec/support/fixtures/text.txt
562
+ - spec/support/fixtures/twopage.pdf
563
+ - spec/support/fixtures/uppercase.PNG
564
+ - spec/support/matchers/accept.rb
565
+ - spec/support/matchers/exist.rb
566
+ - spec/support/matchers/have_column.rb
567
+ - spec/support/mock_attachment.rb
568
+ - spec/support/mock_interpolator.rb
569
+ - spec/support/mock_url_generator_builder.rb
570
+ - spec/support/model_reconstruction.rb
571
+ - spec/support/reporting.rb
572
+ - spec/support/test_data.rb
573
+ - spec/support/version_helper.rb
574
+ homepage: https://github.com/jukra/jr-paperclip
575
+ licenses:
576
+ - MIT
577
+ metadata: {}
578
+ rdoc_options: []
579
+ require_paths:
580
+ - lib
581
+ required_ruby_version: !ruby/object:Gem::Requirement
582
+ requirements:
583
+ - - ">="
584
+ - !ruby/object:Gem::Version
585
+ version: 3.2.0
586
+ required_rubygems_version: !ruby/object:Gem::Requirement
587
+ requirements:
588
+ - - ">="
589
+ - !ruby/object:Gem::Version
590
+ version: '0'
591
+ requirements:
592
+ - ImageMagick
593
+ rubygems_version: 3.7.0
594
+ specification_version: 4
595
+ summary: File attachments as attributes for ActiveRecord
596
+ test_files:
597
+ - features/basic_integration.feature
598
+ - features/migration.feature
599
+ - features/rake_tasks.feature
600
+ - features/step_definitions/attachment_steps.rb
601
+ - features/step_definitions/html_steps.rb
602
+ - features/step_definitions/rails_steps.rb
603
+ - features/step_definitions/s3_steps.rb
604
+ - features/step_definitions/web_steps.rb
605
+ - features/support/env.rb
606
+ - features/support/file_helpers.rb
607
+ - features/support/fixtures/boot_config.txt
608
+ - features/support/fixtures/gemfile.txt
609
+ - features/support/fixtures/preinitializer.txt
610
+ - features/support/paths.rb
611
+ - features/support/rails.rb
612
+ - features/support/selectors.rb
613
+ - features/support/webmock_setup.rb
614
+ - spec/database.yml
615
+ - spec/paperclip/attachment_definitions_spec.rb
616
+ - spec/paperclip/attachment_processing_spec.rb
617
+ - spec/paperclip/attachment_registry_spec.rb
618
+ - spec/paperclip/attachment_spec.rb
619
+ - spec/paperclip/content_type_detector_spec.rb
620
+ - spec/paperclip/file_command_content_type_detector_spec.rb
621
+ - spec/paperclip/filename_cleaner_spec.rb
622
+ - spec/paperclip/geometry_detector_spec.rb
623
+ - spec/paperclip/geometry_parser_spec.rb
624
+ - spec/paperclip/geometry_spec.rb
625
+ - spec/paperclip/glue_spec.rb
626
+ - spec/paperclip/has_attached_file_spec.rb
627
+ - spec/paperclip/integration_spec.rb
628
+ - spec/paperclip/interpolations_spec.rb
629
+ - spec/paperclip/io_adapters/abstract_adapter_spec.rb
630
+ - spec/paperclip/io_adapters/attachment_adapter_spec.rb
631
+ - spec/paperclip/io_adapters/data_uri_adapter_spec.rb
632
+ - spec/paperclip/io_adapters/empty_string_adapter_spec.rb
633
+ - spec/paperclip/io_adapters/file_adapter_spec.rb
634
+ - spec/paperclip/io_adapters/http_url_proxy_adapter_spec.rb
635
+ - spec/paperclip/io_adapters/identity_adapter_spec.rb
636
+ - spec/paperclip/io_adapters/nil_adapter_spec.rb
637
+ - spec/paperclip/io_adapters/registry_spec.rb
638
+ - spec/paperclip/io_adapters/stringio_adapter_spec.rb
639
+ - spec/paperclip/io_adapters/uploaded_file_adapter_spec.rb
640
+ - spec/paperclip/io_adapters/uri_adapter_spec.rb
641
+ - spec/paperclip/matchers/have_attached_file_matcher_spec.rb
642
+ - spec/paperclip/matchers/validate_attachment_content_type_matcher_spec.rb
643
+ - spec/paperclip/matchers/validate_attachment_presence_matcher_spec.rb
644
+ - spec/paperclip/matchers/validate_attachment_size_matcher_spec.rb
645
+ - spec/paperclip/media_type_spoof_detector_spec.rb
646
+ - spec/paperclip/meta_class_spec.rb
647
+ - spec/paperclip/paperclip_missing_attachment_styles_spec.rb
648
+ - spec/paperclip/paperclip_spec.rb
649
+ - spec/paperclip/plural_cache_spec.rb
650
+ - spec/paperclip/processor_helpers_spec.rb
651
+ - spec/paperclip/processor_spec.rb
652
+ - spec/paperclip/rails_environment_spec.rb
653
+ - spec/paperclip/rake_spec.rb
654
+ - spec/paperclip/schema_spec.rb
655
+ - spec/paperclip/storage/filesystem_spec.rb
656
+ - spec/paperclip/storage/fog_spec.rb
657
+ - spec/paperclip/storage/s3_live_spec.rb
658
+ - spec/paperclip/storage/s3_spec.rb
659
+ - spec/paperclip/style_spec.rb
660
+ - spec/paperclip/tempfile_factory_spec.rb
661
+ - spec/paperclip/tempfile_spec.rb
662
+ - spec/paperclip/thumbnail_spec.rb
663
+ - spec/paperclip/url_generator_spec.rb
664
+ - spec/paperclip/validators/attachment_content_type_validator_spec.rb
665
+ - spec/paperclip/validators/attachment_file_name_validator_spec.rb
666
+ - spec/paperclip/validators/attachment_presence_validator_spec.rb
667
+ - spec/paperclip/validators/attachment_size_validator_spec.rb
668
+ - spec/paperclip/validators/media_type_spoof_detection_validator_spec.rb
669
+ - spec/paperclip/validators_spec.rb
670
+ - spec/spec_helper.rb
671
+ - spec/support/assertions.rb
672
+ - spec/support/fake_model.rb
673
+ - spec/support/fake_rails.rb
674
+ - spec/support/fixtures/12k.png
675
+ - spec/support/fixtures/50x50.png
676
+ - spec/support/fixtures/5k.png
677
+ - spec/support/fixtures/animated
678
+ - spec/support/fixtures/animated.gif
679
+ - spec/support/fixtures/animated.unknown
680
+ - spec/support/fixtures/aws_s3.yml
681
+ - spec/support/fixtures/bad.png
682
+ - spec/support/fixtures/empty.html
683
+ - spec/support/fixtures/empty.xlsx
684
+ - spec/support/fixtures/fog.yml
685
+ - spec/support/fixtures/rotated.jpg
686
+ - spec/support/fixtures/s3.yml
687
+ - spec/support/fixtures/sample.xlsm
688
+ - spec/support/fixtures/spaced file.jpg
689
+ - spec/support/fixtures/spaced file.png
690
+ - spec/support/fixtures/text.txt
691
+ - spec/support/fixtures/twopage.pdf
692
+ - spec/support/fixtures/uppercase.PNG
693
+ - spec/support/matchers/accept.rb
694
+ - spec/support/matchers/exist.rb
695
+ - spec/support/matchers/have_column.rb
696
+ - spec/support/mock_attachment.rb
697
+ - spec/support/mock_interpolator.rb
698
+ - spec/support/mock_url_generator_builder.rb
699
+ - spec/support/model_reconstruction.rb
700
+ - spec/support/reporting.rb
701
+ - spec/support/test_data.rb
702
+ - spec/support/version_helper.rb