attached 1.0.4 → 1.0.5

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 (369) hide show
  1. checksums.yaml +4 -4
  2. data/README.rdoc +6 -5
  3. data/Rakefile +0 -3
  4. data/lib/attached.rb +23 -151
  5. data/lib/attached/attachment.rb +8 -60
  6. data/lib/attached/attatcher.rb +165 -0
  7. data/lib/attached/definition.rb +16 -0
  8. data/lib/attached/job.rb +0 -1
  9. data/lib/attached/processor.rb +2 -6
  10. data/lib/attached/processor/audio.rb +0 -19
  11. data/lib/attached/processor/base.rb +0 -5
  12. data/lib/attached/processor/error.rb +1 -1
  13. data/lib/attached/processor/image.rb +0 -31
  14. data/lib/attached/railtie.rb +4 -1
  15. data/lib/attached/storage.rb +5 -9
  16. data/lib/attached/storage/aws.rb +6 -17
  17. data/lib/attached/storage/base.rb +1 -10
  18. data/lib/attached/storage/error.rb +1 -1
  19. data/lib/attached/storage/fog.rb +2 -26
  20. data/lib/attached/storage/google.rb +5 -18
  21. data/lib/attached/storage/local.rb +1 -13
  22. data/lib/attached/storage/rackspace.rb +7 -18
  23. data/lib/attached/version.rb +1 -1
  24. data/test/dummy/app/controllers/application_controller.rb +1 -1
  25. data/test/dummy/app/models/audio.rb +7 -7
  26. data/test/dummy/app/models/image.rb +8 -8
  27. data/test/dummy/app/views/audios/_form.html.haml +5 -5
  28. data/test/dummy/app/views/audios/edit.html.haml +1 -1
  29. data/test/dummy/app/views/audios/index.html.haml +8 -8
  30. data/test/dummy/app/views/audios/new.html.haml +1 -1
  31. data/test/dummy/app/views/audios/show.html.haml +2 -2
  32. data/test/dummy/app/views/images/_form.html.haml +5 -5
  33. data/test/dummy/app/views/images/edit.html.haml +1 -1
  34. data/test/dummy/app/views/images/index.html.haml +8 -8
  35. data/test/dummy/app/views/images/new.html.haml +1 -1
  36. data/test/dummy/app/views/images/show.html.haml +3 -3
  37. data/test/dummy/app/views/layouts/application.html.haml +2 -2
  38. data/test/dummy/app/views/main/index.html.haml +2 -2
  39. data/test/dummy/app/views/shared/_error.html.haml +1 -1
  40. data/test/dummy/config/aws.yml +0 -2
  41. data/test/dummy/config/initializers/other.rb +2 -2
  42. data/test/dummy/config/routes.rb +1 -1
  43. data/test/dummy/db/schema.rb +7 -7
  44. data/test/dummy/db/test.sqlite3 +0 -0
  45. data/test/dummy/log/test.log +5487 -0
  46. data/test/dummy/public/system/audios/files/full/053225f9-c6d3-4472-8228-2cc701fc1a41.aac +0 -0
  47. data/test/dummy/public/system/audios/files/full/0b55eae0-52a0-4af0-a24e-2de3fcabfbf4.aac +0 -0
  48. data/test/dummy/public/system/audios/files/full/16a35230-6ae5-47e4-9e09-2ecdbd31cd58.aac +0 -0
  49. data/test/dummy/public/system/audios/files/full/344825e7-6315-47b6-986b-c731a6d08cd5.aac +0 -0
  50. data/test/dummy/public/system/audios/files/full/398e2cc8-f19d-4250-a528-a1fe146a35b3.aac +0 -0
  51. data/test/dummy/public/system/audios/files/full/4036c6ad-3ec2-4714-b453-357b0e708f3c.aac +0 -0
  52. data/test/dummy/public/system/audios/files/full/41c23f05-15fe-46fe-b6e4-0f3d95c4f3ab.aac +0 -0
  53. data/test/dummy/public/system/audios/files/full/41d57894-31d9-4b68-81a5-008e804b66a0.aac +0 -0
  54. data/test/dummy/public/system/audios/files/full/4c81067f-15e4-4152-a2c4-92b0f29e05f3.aac +0 -0
  55. data/test/dummy/public/system/audios/files/full/560a41f2-83cd-4734-a741-5da103917a9b.aac +0 -0
  56. data/test/dummy/public/system/audios/files/full/6569067f-276a-4a15-8376-57709201b209.aac +0 -0
  57. data/test/dummy/public/system/audios/files/full/68a0b6a2-d41a-4b09-970d-397860563669.aac +0 -0
  58. data/test/dummy/public/system/audios/files/full/6f91f04a-4894-4b16-87b6-ccfc686ba659.aac +0 -0
  59. data/test/dummy/public/system/audios/files/full/7aad29c4-7736-4492-9455-1a6ff333d807.aac +0 -0
  60. data/test/dummy/public/system/audios/files/full/7f4b261e-c56a-41cb-a0e0-ad7888116642.aac +0 -0
  61. data/test/dummy/public/system/audios/files/full/828531f1-a38d-4406-b147-1a01cff06a67.aac +0 -0
  62. data/test/dummy/public/system/audios/files/full/86bf96b6-e784-40e0-9edd-a47eb09059a0.aac +0 -0
  63. data/test/dummy/public/system/audios/files/full/90a9e337-b07b-441d-9c49-0090a7e6b9c0.aac +0 -0
  64. data/test/dummy/public/system/audios/files/full/90fc1944-196e-4a47-945e-4344ef62eb8c.aac +0 -0
  65. data/test/dummy/public/system/audios/files/full/975ce729-487c-4e6d-bce5-9523dbfa952c.aac +0 -0
  66. data/test/dummy/public/system/audios/files/full/9a096e89-4ce2-4ad9-9ff6-503f7200a8c8.aac +0 -0
  67. data/test/dummy/public/system/audios/files/full/9a186341-4c3b-4b30-b605-f234eb371d4c.aac +0 -0
  68. data/test/dummy/public/system/audios/files/full/a9034b45-c9c6-4387-b611-ef0c64c641e6.aac +0 -0
  69. data/test/dummy/public/system/audios/files/full/a96d0f64-2c94-4378-980e-d12e3492d412.aac +0 -0
  70. data/test/dummy/public/system/audios/files/full/b24e5454-f642-43f0-8107-4c92dfe3f770.aac +0 -0
  71. data/test/dummy/public/system/audios/files/full/c0c22ae4-a660-4ebd-8640-d1c82246911f.aac +0 -0
  72. data/test/dummy/public/system/audios/files/full/cd9bcb87-f6f1-4a63-8989-433f71e44803.aac +0 -0
  73. data/test/dummy/public/system/audios/files/full/cfda40b9-14ce-4cd1-b843-604a2e5fd37a.aac +0 -0
  74. data/test/dummy/public/system/audios/files/full/d6421e75-ec3b-4c68-8f50-0365b131505a.aac +0 -0
  75. data/test/dummy/public/system/audios/files/full/d7a777c2-ce13-4dc3-a401-ac81b469734f.aac +0 -0
  76. data/test/dummy/public/system/audios/files/full/d97113db-5a93-4cdb-a022-74292de1e40b.aac +0 -0
  77. data/test/dummy/public/system/audios/files/full/de5a8bbe-292b-49b8-8fdd-b84dc78be9dc.aac +0 -0
  78. data/test/dummy/public/system/audios/files/full/e0847f0e-90f9-4950-9b87-e2809768dd5a.aac +0 -0
  79. data/test/dummy/public/system/audios/files/full/e318d820-8e5c-49fd-af55-1b1617c94e51.aac +0 -0
  80. data/test/dummy/public/system/audios/files/full/e6eb96eb-8688-49ab-8188-3b0c3586e5db.aac +0 -0
  81. data/test/dummy/public/system/audios/files/full/e8b653fe-9f0a-458e-a4f1-f2a3c43b57b0.aac +0 -0
  82. data/test/dummy/public/system/audios/files/full/e90ebfbd-b590-4fe9-9cd5-b13b9ba7bb04.aac +0 -0
  83. data/test/dummy/public/system/audios/files/full/f2663b76-efdf-4522-8a15-31bb94b92c5f.aac +0 -0
  84. data/test/dummy/public/system/audios/files/full/fb02d110-db44-4c45-951d-69d471af9990.aac +0 -0
  85. data/test/dummy/public/system/audios/files/large/053225f9-c6d3-4472-8228-2cc701fc1a41.aac +0 -0
  86. data/test/dummy/public/system/audios/files/large/0b55eae0-52a0-4af0-a24e-2de3fcabfbf4.aac +0 -0
  87. data/test/dummy/public/system/audios/files/large/16a35230-6ae5-47e4-9e09-2ecdbd31cd58.aac +0 -0
  88. data/test/dummy/public/system/audios/files/large/344825e7-6315-47b6-986b-c731a6d08cd5.aac +0 -0
  89. data/test/dummy/public/system/audios/files/large/398e2cc8-f19d-4250-a528-a1fe146a35b3.aac +0 -0
  90. data/test/dummy/public/system/audios/files/large/4036c6ad-3ec2-4714-b453-357b0e708f3c.aac +0 -0
  91. data/test/dummy/public/system/audios/files/large/41c23f05-15fe-46fe-b6e4-0f3d95c4f3ab.aac +0 -0
  92. data/test/dummy/public/system/audios/files/large/41d57894-31d9-4b68-81a5-008e804b66a0.aac +0 -0
  93. data/test/dummy/public/system/audios/files/large/4c81067f-15e4-4152-a2c4-92b0f29e05f3.aac +0 -0
  94. data/test/dummy/public/system/audios/files/large/560a41f2-83cd-4734-a741-5da103917a9b.aac +0 -0
  95. data/test/dummy/public/system/audios/files/large/6569067f-276a-4a15-8376-57709201b209.aac +0 -0
  96. data/test/dummy/public/system/audios/files/large/68a0b6a2-d41a-4b09-970d-397860563669.aac +0 -0
  97. data/test/dummy/public/system/audios/files/large/6f91f04a-4894-4b16-87b6-ccfc686ba659.aac +0 -0
  98. data/test/dummy/public/system/audios/files/large/7aad29c4-7736-4492-9455-1a6ff333d807.aac +0 -0
  99. data/test/dummy/public/system/audios/files/large/7f4b261e-c56a-41cb-a0e0-ad7888116642.aac +0 -0
  100. data/test/dummy/public/system/audios/files/large/828531f1-a38d-4406-b147-1a01cff06a67.aac +0 -0
  101. data/test/dummy/public/system/audios/files/large/86bf96b6-e784-40e0-9edd-a47eb09059a0.aac +0 -0
  102. data/test/dummy/public/system/audios/files/large/90a9e337-b07b-441d-9c49-0090a7e6b9c0.aac +0 -0
  103. data/test/dummy/public/system/audios/files/large/90fc1944-196e-4a47-945e-4344ef62eb8c.aac +0 -0
  104. data/test/dummy/public/system/audios/files/large/975ce729-487c-4e6d-bce5-9523dbfa952c.aac +0 -0
  105. data/test/dummy/public/system/audios/files/large/9a096e89-4ce2-4ad9-9ff6-503f7200a8c8.aac +0 -0
  106. data/test/dummy/public/system/audios/files/large/9a186341-4c3b-4b30-b605-f234eb371d4c.aac +0 -0
  107. data/test/dummy/public/system/audios/files/large/a9034b45-c9c6-4387-b611-ef0c64c641e6.aac +0 -0
  108. data/test/dummy/public/system/audios/files/large/a96d0f64-2c94-4378-980e-d12e3492d412.aac +0 -0
  109. data/test/dummy/public/system/audios/files/large/b24e5454-f642-43f0-8107-4c92dfe3f770.aac +0 -0
  110. data/test/dummy/public/system/audios/files/large/c0c22ae4-a660-4ebd-8640-d1c82246911f.aac +0 -0
  111. data/test/dummy/public/system/audios/files/large/cd9bcb87-f6f1-4a63-8989-433f71e44803.aac +0 -0
  112. data/test/dummy/public/system/audios/files/large/cfda40b9-14ce-4cd1-b843-604a2e5fd37a.aac +0 -0
  113. data/test/dummy/public/system/audios/files/large/d6421e75-ec3b-4c68-8f50-0365b131505a.aac +0 -0
  114. data/test/dummy/public/system/audios/files/large/d7a777c2-ce13-4dc3-a401-ac81b469734f.aac +0 -0
  115. data/test/dummy/public/system/audios/files/large/d97113db-5a93-4cdb-a022-74292de1e40b.aac +0 -0
  116. data/test/dummy/public/system/audios/files/large/de5a8bbe-292b-49b8-8fdd-b84dc78be9dc.aac +0 -0
  117. data/test/dummy/public/system/audios/files/large/e0847f0e-90f9-4950-9b87-e2809768dd5a.aac +0 -0
  118. data/test/dummy/public/system/audios/files/large/e318d820-8e5c-49fd-af55-1b1617c94e51.aac +0 -0
  119. data/test/dummy/public/system/audios/files/large/e6eb96eb-8688-49ab-8188-3b0c3586e5db.aac +0 -0
  120. data/test/dummy/public/system/audios/files/large/e8b653fe-9f0a-458e-a4f1-f2a3c43b57b0.aac +0 -0
  121. data/test/dummy/public/system/audios/files/large/e90ebfbd-b590-4fe9-9cd5-b13b9ba7bb04.aac +0 -0
  122. data/test/dummy/public/system/audios/files/large/f2663b76-efdf-4522-8a15-31bb94b92c5f.aac +0 -0
  123. data/test/dummy/public/system/audios/files/large/fb02d110-db44-4c45-951d-69d471af9990.aac +0 -0
  124. data/test/dummy/public/system/audios/files/original/053225f9-c6d3-4472-8228-2cc701fc1a41.wav +0 -0
  125. data/test/dummy/public/system/audios/files/original/0b55eae0-52a0-4af0-a24e-2de3fcabfbf4.wav +0 -0
  126. data/test/dummy/public/system/audios/files/original/16a35230-6ae5-47e4-9e09-2ecdbd31cd58.wav +0 -0
  127. data/test/dummy/public/system/audios/files/original/344825e7-6315-47b6-986b-c731a6d08cd5.wav +0 -0
  128. data/test/dummy/public/system/audios/files/original/398e2cc8-f19d-4250-a528-a1fe146a35b3.wav +0 -0
  129. data/test/dummy/public/system/audios/files/original/4036c6ad-3ec2-4714-b453-357b0e708f3c.wav +0 -0
  130. data/test/dummy/public/system/audios/files/original/41c23f05-15fe-46fe-b6e4-0f3d95c4f3ab.wav +0 -0
  131. data/test/dummy/public/system/audios/files/original/41d57894-31d9-4b68-81a5-008e804b66a0.wav +0 -0
  132. data/test/dummy/public/system/audios/files/original/4c81067f-15e4-4152-a2c4-92b0f29e05f3.wav +0 -0
  133. data/test/dummy/public/system/audios/files/original/560a41f2-83cd-4734-a741-5da103917a9b.wav +0 -0
  134. data/test/dummy/public/system/audios/files/original/6569067f-276a-4a15-8376-57709201b209.wav +0 -0
  135. data/test/dummy/public/system/audios/files/original/68a0b6a2-d41a-4b09-970d-397860563669.wav +0 -0
  136. data/test/dummy/public/system/audios/files/original/6f91f04a-4894-4b16-87b6-ccfc686ba659.wav +0 -0
  137. data/test/dummy/public/system/audios/files/original/7aad29c4-7736-4492-9455-1a6ff333d807.wav +0 -0
  138. data/test/dummy/public/system/audios/files/original/7f4b261e-c56a-41cb-a0e0-ad7888116642.wav +0 -0
  139. data/test/dummy/public/system/audios/files/original/828531f1-a38d-4406-b147-1a01cff06a67.wav +0 -0
  140. data/test/dummy/public/system/audios/files/original/86bf96b6-e784-40e0-9edd-a47eb09059a0.wav +0 -0
  141. data/test/dummy/public/system/audios/files/original/90a9e337-b07b-441d-9c49-0090a7e6b9c0.wav +0 -0
  142. data/test/dummy/public/system/audios/files/original/975ce729-487c-4e6d-bce5-9523dbfa952c.wav +0 -0
  143. data/test/dummy/public/system/audios/files/original/9a096e89-4ce2-4ad9-9ff6-503f7200a8c8.wav +0 -0
  144. data/test/dummy/public/system/audios/files/original/9a186341-4c3b-4b30-b605-f234eb371d4c.wav +0 -0
  145. data/test/dummy/public/system/audios/files/original/b24e5454-f642-43f0-8107-4c92dfe3f770.wav +0 -0
  146. data/test/dummy/public/system/audios/files/original/cfda40b9-14ce-4cd1-b843-604a2e5fd37a.wav +0 -0
  147. data/test/dummy/public/system/audios/files/original/e318d820-8e5c-49fd-af55-1b1617c94e51.wav +0 -0
  148. data/test/dummy/public/system/audios/files/original/e6eb96eb-8688-49ab-8188-3b0c3586e5db.wav +0 -0
  149. data/test/dummy/public/system/audios/files/original/f2663b76-efdf-4522-8a15-31bb94b92c5f.wav +0 -0
  150. data/test/dummy/public/system/audios/files/original/fb02d110-db44-4c45-951d-69d471af9990.wav +0 -0
  151. data/test/dummy/public/system/audios/files/small/053225f9-c6d3-4472-8228-2cc701fc1a41.aac +0 -0
  152. data/test/dummy/public/system/audios/files/small/0b55eae0-52a0-4af0-a24e-2de3fcabfbf4.aac +0 -0
  153. data/test/dummy/public/system/audios/files/small/398e2cc8-f19d-4250-a528-a1fe146a35b3.aac +0 -0
  154. data/test/dummy/public/system/audios/files/small/4036c6ad-3ec2-4714-b453-357b0e708f3c.aac +0 -0
  155. data/test/dummy/public/system/audios/files/small/41c23f05-15fe-46fe-b6e4-0f3d95c4f3ab.aac +0 -0
  156. data/test/dummy/public/system/audios/files/small/41d57894-31d9-4b68-81a5-008e804b66a0.aac +0 -0
  157. data/test/dummy/public/system/audios/files/small/4c81067f-15e4-4152-a2c4-92b0f29e05f3.aac +0 -0
  158. data/test/dummy/public/system/audios/files/small/6569067f-276a-4a15-8376-57709201b209.aac +0 -0
  159. data/test/dummy/public/system/audios/files/small/68a0b6a2-d41a-4b09-970d-397860563669.aac +0 -0
  160. data/test/dummy/public/system/audios/files/small/6f91f04a-4894-4b16-87b6-ccfc686ba659.aac +0 -0
  161. data/test/dummy/public/system/audios/files/small/7f4b261e-c56a-41cb-a0e0-ad7888116642.aac +0 -0
  162. data/test/dummy/public/system/audios/files/small/86bf96b6-e784-40e0-9edd-a47eb09059a0.aac +0 -0
  163. data/test/dummy/public/system/audios/files/small/90a9e337-b07b-441d-9c49-0090a7e6b9c0.aac +0 -0
  164. data/test/dummy/public/system/audios/files/small/975ce729-487c-4e6d-bce5-9523dbfa952c.aac +0 -0
  165. data/test/dummy/public/system/audios/files/small/9a096e89-4ce2-4ad9-9ff6-503f7200a8c8.aac +0 -0
  166. data/test/dummy/public/system/audios/files/small/9a186341-4c3b-4b30-b605-f234eb371d4c.aac +0 -0
  167. data/test/dummy/public/system/audios/files/small/b24e5454-f642-43f0-8107-4c92dfe3f770.aac +0 -0
  168. data/test/dummy/public/system/audios/files/small/cfda40b9-14ce-4cd1-b843-604a2e5fd37a.aac +0 -0
  169. data/test/dummy/public/system/audios/files/small/e318d820-8e5c-49fd-af55-1b1617c94e51.aac +0 -0
  170. data/test/dummy/public/system/audios/files/small/e6eb96eb-8688-49ab-8188-3b0c3586e5db.aac +0 -0
  171. data/test/dummy/public/system/audios/files/small/f2663b76-efdf-4522-8a15-31bb94b92c5f.aac +0 -0
  172. data/test/dummy/public/system/audios/files/small/fb02d110-db44-4c45-951d-69d471af9990.aac +0 -0
  173. data/test/dummy/public/system/images/files/full/04a05143-2ea9-4ee0-bca3-64f436bac3d2.jpg +0 -0
  174. data/test/dummy/public/system/images/files/full/187e58dd-d90c-4000-8118-c46da7f1f71f.jpg +0 -0
  175. data/test/dummy/public/system/images/files/full/1fd5231d-04d1-4691-bceb-871810ac982b.jpg +0 -0
  176. data/test/dummy/public/system/images/files/full/25d98e6f-6419-4bb9-990c-cc5113f8606d.jpg +0 -0
  177. data/test/dummy/public/system/images/files/full/3401af18-b401-404f-9bd7-58424fe33e26.jpg +0 -0
  178. data/test/dummy/public/system/images/files/full/38bcfbac-5b70-4510-a0dd-9296fc22ed0e.jpg +0 -0
  179. data/test/dummy/public/system/images/files/full/49f59ee9-98cf-4991-8c96-aebef8f34a21.jpg +0 -0
  180. data/test/dummy/public/system/images/files/full/520dcbea-ce4a-474b-8e42-3b6c947181b3.jpg +0 -0
  181. data/test/dummy/public/system/images/files/full/5dea55cb-4d09-453c-b9fa-a6783c2b82e6.jpg +0 -0
  182. data/test/dummy/public/system/images/files/full/5dfc0dc2-909f-4525-9d5a-d04dc9e9f9ac.jpg +0 -0
  183. data/test/dummy/public/system/images/files/full/6cb55f24-12c1-4019-aa1d-d7d379ffb4b3.jpg +0 -0
  184. data/test/dummy/public/system/images/files/full/71e117d2-a77a-4daf-a0cc-39c629727b57.jpg +0 -0
  185. data/test/dummy/public/system/images/files/full/7426b7d6-2950-4064-8bcd-f7d081fbbd27.jpg +0 -0
  186. data/test/dummy/public/system/images/files/full/88286a62-ef1b-4532-82f4-7a9e72e32f2a.jpg +0 -0
  187. data/test/dummy/public/system/images/files/full/8daf45e0-c8c2-4768-9536-53b8dc269c14.jpg +0 -0
  188. data/test/dummy/public/system/images/files/full/970ec9d8-052c-4c7c-b1eb-a163004dcb35.jpg +0 -0
  189. data/test/dummy/public/system/images/files/full/9a74af84-4e37-451d-abff-84499ca198db.jpg +0 -0
  190. data/test/dummy/public/system/images/files/full/b784910f-bc64-4bbb-bc4f-77cc5b9faf7e.jpg +0 -0
  191. data/test/dummy/public/system/images/files/full/c8ec0593-49f5-44c5-957e-ce61a15678c9.jpg +0 -0
  192. data/test/dummy/public/system/images/files/full/ef58124a-9bd6-4da7-9dcb-a4dfe83e7cc1.jpg +0 -0
  193. data/test/dummy/public/system/images/files/full/f905a6f3-1626-4a3b-89dd-53f1c1a88379.jpg +0 -0
  194. data/test/dummy/public/system/images/files/full/fbe00e7d-98d7-4f89-86db-09918fedb9c5.jpg +0 -0
  195. data/test/dummy/public/system/images/files/large/04a05143-2ea9-4ee0-bca3-64f436bac3d2.jpg +0 -0
  196. data/test/dummy/public/system/images/files/large/187e58dd-d90c-4000-8118-c46da7f1f71f.jpg +0 -0
  197. data/test/dummy/public/system/images/files/large/1fd5231d-04d1-4691-bceb-871810ac982b.jpg +0 -0
  198. data/test/dummy/public/system/images/files/large/25d98e6f-6419-4bb9-990c-cc5113f8606d.jpg +0 -0
  199. data/test/dummy/public/system/images/files/large/3401af18-b401-404f-9bd7-58424fe33e26.jpg +0 -0
  200. data/test/dummy/public/system/images/files/large/38bcfbac-5b70-4510-a0dd-9296fc22ed0e.jpg +0 -0
  201. data/test/dummy/public/system/images/files/large/49f59ee9-98cf-4991-8c96-aebef8f34a21.jpg +0 -0
  202. data/test/dummy/public/system/images/files/large/520dcbea-ce4a-474b-8e42-3b6c947181b3.jpg +0 -0
  203. data/test/dummy/public/system/images/files/large/5dea55cb-4d09-453c-b9fa-a6783c2b82e6.jpg +0 -0
  204. data/test/dummy/public/system/images/files/large/5dfc0dc2-909f-4525-9d5a-d04dc9e9f9ac.jpg +0 -0
  205. data/test/dummy/public/system/images/files/large/6cb55f24-12c1-4019-aa1d-d7d379ffb4b3.jpg +0 -0
  206. data/test/dummy/public/system/images/files/large/71e117d2-a77a-4daf-a0cc-39c629727b57.jpg +0 -0
  207. data/test/dummy/public/system/images/files/large/7426b7d6-2950-4064-8bcd-f7d081fbbd27.jpg +0 -0
  208. data/test/dummy/public/system/images/files/large/88286a62-ef1b-4532-82f4-7a9e72e32f2a.jpg +0 -0
  209. data/test/dummy/public/system/images/files/large/8daf45e0-c8c2-4768-9536-53b8dc269c14.jpg +0 -0
  210. data/test/dummy/public/system/images/files/large/970ec9d8-052c-4c7c-b1eb-a163004dcb35.jpg +0 -0
  211. data/test/dummy/public/system/images/files/large/9a74af84-4e37-451d-abff-84499ca198db.jpg +0 -0
  212. data/test/dummy/public/system/images/files/large/b784910f-bc64-4bbb-bc4f-77cc5b9faf7e.jpg +0 -0
  213. data/test/dummy/public/system/images/files/large/c8ec0593-49f5-44c5-957e-ce61a15678c9.jpg +0 -0
  214. data/test/dummy/public/system/images/files/large/ef58124a-9bd6-4da7-9dcb-a4dfe83e7cc1.jpg +0 -0
  215. data/test/dummy/public/system/images/files/large/f905a6f3-1626-4a3b-89dd-53f1c1a88379.jpg +0 -0
  216. data/test/dummy/public/system/images/files/large/fbe00e7d-98d7-4f89-86db-09918fedb9c5.jpg +0 -0
  217. data/test/dummy/public/system/images/files/original/04a05143-2ea9-4ee0-bca3-64f436bac3d2.png +0 -0
  218. data/test/dummy/public/system/images/files/original/187e58dd-d90c-4000-8118-c46da7f1f71f.png +0 -0
  219. data/test/dummy/public/system/images/files/original/1fd5231d-04d1-4691-bceb-871810ac982b.png +0 -0
  220. data/test/dummy/public/system/images/files/original/25d98e6f-6419-4bb9-990c-cc5113f8606d.png +0 -0
  221. data/test/dummy/public/system/images/files/original/3401af18-b401-404f-9bd7-58424fe33e26.png +0 -0
  222. data/test/dummy/public/system/images/files/original/38bcfbac-5b70-4510-a0dd-9296fc22ed0e.png +0 -0
  223. data/test/dummy/public/system/images/files/original/49f59ee9-98cf-4991-8c96-aebef8f34a21.png +0 -0
  224. data/test/dummy/public/system/images/files/original/520dcbea-ce4a-474b-8e42-3b6c947181b3.png +0 -0
  225. data/test/dummy/public/system/images/files/original/5dea55cb-4d09-453c-b9fa-a6783c2b82e6.png +0 -0
  226. data/test/dummy/public/system/images/files/original/5dfc0dc2-909f-4525-9d5a-d04dc9e9f9ac.png +0 -0
  227. data/test/dummy/public/system/images/files/original/6cb55f24-12c1-4019-aa1d-d7d379ffb4b3.png +0 -0
  228. data/test/dummy/public/system/images/files/original/71e117d2-a77a-4daf-a0cc-39c629727b57.png +0 -0
  229. data/test/dummy/public/system/images/files/original/7426b7d6-2950-4064-8bcd-f7d081fbbd27.png +0 -0
  230. data/test/dummy/public/system/images/files/original/88286a62-ef1b-4532-82f4-7a9e72e32f2a.png +0 -0
  231. data/test/dummy/public/system/images/files/original/8daf45e0-c8c2-4768-9536-53b8dc269c14.png +0 -0
  232. data/test/dummy/public/system/images/files/original/970ec9d8-052c-4c7c-b1eb-a163004dcb35.png +0 -0
  233. data/test/dummy/public/system/images/files/original/9a74af84-4e37-451d-abff-84499ca198db.png +0 -0
  234. data/test/dummy/public/system/images/files/original/b784910f-bc64-4bbb-bc4f-77cc5b9faf7e.png +0 -0
  235. data/test/dummy/public/system/images/files/original/c8ec0593-49f5-44c5-957e-ce61a15678c9.png +0 -0
  236. data/test/dummy/public/system/images/files/original/ef58124a-9bd6-4da7-9dcb-a4dfe83e7cc1.png +0 -0
  237. data/test/dummy/public/system/images/files/original/f905a6f3-1626-4a3b-89dd-53f1c1a88379.png +0 -0
  238. data/test/dummy/public/system/images/files/original/fbe00e7d-98d7-4f89-86db-09918fedb9c5.png +0 -0
  239. data/test/dummy/public/system/images/files/small/04a05143-2ea9-4ee0-bca3-64f436bac3d2.jpg +0 -0
  240. data/test/dummy/public/system/images/files/small/187e58dd-d90c-4000-8118-c46da7f1f71f.jpg +0 -0
  241. data/test/dummy/public/system/images/files/small/1fd5231d-04d1-4691-bceb-871810ac982b.jpg +0 -0
  242. data/test/dummy/public/system/images/files/small/25d98e6f-6419-4bb9-990c-cc5113f8606d.jpg +0 -0
  243. data/test/dummy/public/system/images/files/small/3401af18-b401-404f-9bd7-58424fe33e26.jpg +0 -0
  244. data/test/dummy/public/system/images/files/small/38bcfbac-5b70-4510-a0dd-9296fc22ed0e.jpg +0 -0
  245. data/test/dummy/public/system/images/files/small/49f59ee9-98cf-4991-8c96-aebef8f34a21.jpg +0 -0
  246. data/test/dummy/public/system/images/files/small/520dcbea-ce4a-474b-8e42-3b6c947181b3.jpg +0 -0
  247. data/test/dummy/public/system/images/files/small/5dea55cb-4d09-453c-b9fa-a6783c2b82e6.jpg +0 -0
  248. data/test/dummy/public/system/images/files/small/5dfc0dc2-909f-4525-9d5a-d04dc9e9f9ac.jpg +0 -0
  249. data/test/dummy/public/system/images/files/small/6cb55f24-12c1-4019-aa1d-d7d379ffb4b3.jpg +0 -0
  250. data/test/dummy/public/system/images/files/small/71e117d2-a77a-4daf-a0cc-39c629727b57.jpg +0 -0
  251. data/test/dummy/public/system/images/files/small/7426b7d6-2950-4064-8bcd-f7d081fbbd27.jpg +0 -0
  252. data/test/dummy/public/system/images/files/small/88286a62-ef1b-4532-82f4-7a9e72e32f2a.jpg +0 -0
  253. data/test/dummy/public/system/images/files/small/8daf45e0-c8c2-4768-9536-53b8dc269c14.jpg +0 -0
  254. data/test/dummy/public/system/images/files/small/970ec9d8-052c-4c7c-b1eb-a163004dcb35.jpg +0 -0
  255. data/test/dummy/public/system/images/files/small/9a74af84-4e37-451d-abff-84499ca198db.jpg +0 -0
  256. data/test/dummy/public/system/images/files/small/b784910f-bc64-4bbb-bc4f-77cc5b9faf7e.jpg +0 -0
  257. data/test/dummy/public/system/images/files/small/c8ec0593-49f5-44c5-957e-ce61a15678c9.jpg +0 -0
  258. data/test/dummy/public/system/images/files/small/ef58124a-9bd6-4da7-9dcb-a4dfe83e7cc1.jpg +0 -0
  259. data/test/dummy/public/system/images/files/small/f905a6f3-1626-4a3b-89dd-53f1c1a88379.jpg +0 -0
  260. data/test/dummy/public/system/images/files/small/fbe00e7d-98d7-4f89-86db-09918fedb9c5.jpg +0 -0
  261. data/test/dummy/public/system/images/files/thumb/04a05143-2ea9-4ee0-bca3-64f436bac3d2.jpg +0 -0
  262. data/test/dummy/public/system/images/files/thumb/187e58dd-d90c-4000-8118-c46da7f1f71f.jpg +0 -0
  263. data/test/dummy/public/system/images/files/thumb/1fd5231d-04d1-4691-bceb-871810ac982b.jpg +0 -0
  264. data/test/dummy/public/system/images/files/thumb/25d98e6f-6419-4bb9-990c-cc5113f8606d.jpg +0 -0
  265. data/test/dummy/public/system/images/files/thumb/3401af18-b401-404f-9bd7-58424fe33e26.jpg +0 -0
  266. data/test/dummy/public/system/images/files/thumb/38bcfbac-5b70-4510-a0dd-9296fc22ed0e.jpg +0 -0
  267. data/test/dummy/public/system/images/files/thumb/49f59ee9-98cf-4991-8c96-aebef8f34a21.jpg +0 -0
  268. data/test/dummy/public/system/images/files/thumb/520dcbea-ce4a-474b-8e42-3b6c947181b3.jpg +0 -0
  269. data/test/dummy/public/system/images/files/thumb/5dea55cb-4d09-453c-b9fa-a6783c2b82e6.jpg +0 -0
  270. data/test/dummy/public/system/images/files/thumb/5dfc0dc2-909f-4525-9d5a-d04dc9e9f9ac.jpg +0 -0
  271. data/test/dummy/public/system/images/files/thumb/6cb55f24-12c1-4019-aa1d-d7d379ffb4b3.jpg +0 -0
  272. data/test/dummy/public/system/images/files/thumb/71e117d2-a77a-4daf-a0cc-39c629727b57.jpg +0 -0
  273. data/test/dummy/public/system/images/files/thumb/7426b7d6-2950-4064-8bcd-f7d081fbbd27.jpg +0 -0
  274. data/test/dummy/public/system/images/files/thumb/88286a62-ef1b-4532-82f4-7a9e72e32f2a.jpg +0 -0
  275. data/test/dummy/public/system/images/files/thumb/8daf45e0-c8c2-4768-9536-53b8dc269c14.jpg +0 -0
  276. data/test/dummy/public/system/images/files/thumb/970ec9d8-052c-4c7c-b1eb-a163004dcb35.jpg +0 -0
  277. data/test/dummy/public/system/images/files/thumb/9a74af84-4e37-451d-abff-84499ca198db.jpg +0 -0
  278. data/test/dummy/public/system/images/files/thumb/b784910f-bc64-4bbb-bc4f-77cc5b9faf7e.jpg +0 -0
  279. data/test/dummy/public/system/images/files/thumb/c8ec0593-49f5-44c5-957e-ce61a15678c9.jpg +0 -0
  280. data/test/dummy/public/system/images/files/thumb/ef58124a-9bd6-4da7-9dcb-a4dfe83e7cc1.jpg +0 -0
  281. data/test/dummy/public/system/images/files/thumb/f905a6f3-1626-4a3b-89dd-53f1c1a88379.jpg +0 -0
  282. data/test/dummy/public/system/images/files/thumb/fbe00e7d-98d7-4f89-86db-09918fedb9c5.jpg +0 -0
  283. data/test/dummy/test/controllers/audios_controller_test.rb +5 -5
  284. data/test/dummy/test/controllers/images_controller_test.rb +5 -5
  285. data/test/dummy/test/models/audio_test.rb +5 -5
  286. data/test/dummy/test/models/image_test.rb +5 -5
  287. data/test/dummy/tmp/cache/assets/test/sass/11e4b32482f2a6837bf1eb6d86d3ed3fb479ba9c/_alerts.scssc +0 -0
  288. data/test/dummy/tmp/cache/assets/test/sass/11e4b32482f2a6837bf1eb6d86d3ed3fb479ba9c/_background-variant.scssc +0 -0
  289. data/test/dummy/tmp/cache/assets/test/sass/11e4b32482f2a6837bf1eb6d86d3ed3fb479ba9c/_border-radius.scssc +0 -0
  290. data/test/dummy/tmp/cache/assets/test/sass/11e4b32482f2a6837bf1eb6d86d3ed3fb479ba9c/_buttons.scssc +0 -0
  291. data/test/dummy/tmp/cache/assets/test/sass/11e4b32482f2a6837bf1eb6d86d3ed3fb479ba9c/_center-block.scssc +0 -0
  292. data/test/dummy/tmp/cache/assets/test/sass/11e4b32482f2a6837bf1eb6d86d3ed3fb479ba9c/_clearfix.scssc +0 -0
  293. data/test/dummy/tmp/cache/assets/test/sass/11e4b32482f2a6837bf1eb6d86d3ed3fb479ba9c/_forms.scssc +0 -0
  294. data/test/dummy/tmp/cache/assets/test/sass/11e4b32482f2a6837bf1eb6d86d3ed3fb479ba9c/_gradients.scssc +0 -0
  295. data/test/dummy/tmp/cache/assets/test/sass/11e4b32482f2a6837bf1eb6d86d3ed3fb479ba9c/_grid-framework.scssc +0 -0
  296. data/test/dummy/tmp/cache/assets/test/sass/11e4b32482f2a6837bf1eb6d86d3ed3fb479ba9c/_grid.scssc +0 -0
  297. data/test/dummy/tmp/cache/assets/test/sass/11e4b32482f2a6837bf1eb6d86d3ed3fb479ba9c/_hide-text.scssc +0 -0
  298. data/test/dummy/tmp/cache/assets/test/sass/11e4b32482f2a6837bf1eb6d86d3ed3fb479ba9c/_image.scssc +0 -0
  299. data/test/dummy/tmp/cache/assets/test/sass/11e4b32482f2a6837bf1eb6d86d3ed3fb479ba9c/_labels.scssc +0 -0
  300. data/test/dummy/tmp/cache/assets/test/sass/11e4b32482f2a6837bf1eb6d86d3ed3fb479ba9c/_list-group.scssc +0 -0
  301. data/test/dummy/tmp/cache/assets/test/sass/11e4b32482f2a6837bf1eb6d86d3ed3fb479ba9c/_nav-divider.scssc +0 -0
  302. data/test/dummy/tmp/cache/assets/test/sass/11e4b32482f2a6837bf1eb6d86d3ed3fb479ba9c/_nav-vertical-align.scssc +0 -0
  303. data/test/dummy/tmp/cache/assets/test/sass/11e4b32482f2a6837bf1eb6d86d3ed3fb479ba9c/_opacity.scssc +0 -0
  304. data/test/dummy/tmp/cache/assets/test/sass/11e4b32482f2a6837bf1eb6d86d3ed3fb479ba9c/_pagination.scssc +0 -0
  305. data/test/dummy/tmp/cache/assets/test/sass/11e4b32482f2a6837bf1eb6d86d3ed3fb479ba9c/_panels.scssc +0 -0
  306. data/test/dummy/tmp/cache/assets/test/sass/11e4b32482f2a6837bf1eb6d86d3ed3fb479ba9c/_progress-bar.scssc +0 -0
  307. data/test/dummy/tmp/cache/assets/test/sass/11e4b32482f2a6837bf1eb6d86d3ed3fb479ba9c/_reset-filter.scssc +0 -0
  308. data/test/dummy/tmp/cache/assets/test/sass/11e4b32482f2a6837bf1eb6d86d3ed3fb479ba9c/_resize.scssc +0 -0
  309. data/test/dummy/tmp/cache/assets/test/sass/11e4b32482f2a6837bf1eb6d86d3ed3fb479ba9c/_responsive-visibility.scssc +0 -0
  310. data/test/dummy/tmp/cache/assets/test/sass/11e4b32482f2a6837bf1eb6d86d3ed3fb479ba9c/_size.scssc +0 -0
  311. data/test/dummy/tmp/cache/assets/test/sass/11e4b32482f2a6837bf1eb6d86d3ed3fb479ba9c/_tab-focus.scssc +0 -0
  312. data/test/dummy/tmp/cache/assets/test/sass/11e4b32482f2a6837bf1eb6d86d3ed3fb479ba9c/_table-row.scssc +0 -0
  313. data/test/dummy/tmp/cache/assets/test/sass/11e4b32482f2a6837bf1eb6d86d3ed3fb479ba9c/_text-emphasis.scssc +0 -0
  314. data/test/dummy/tmp/cache/assets/test/sass/11e4b32482f2a6837bf1eb6d86d3ed3fb479ba9c/_text-overflow.scssc +0 -0
  315. data/test/dummy/tmp/cache/assets/test/sass/11e4b32482f2a6837bf1eb6d86d3ed3fb479ba9c/_vendor-prefixes.scssc +0 -0
  316. data/test/dummy/tmp/cache/assets/test/sass/4064a56df5bbb01ee76e4d304234a109a364de14/bootstrap.scssc +0 -0
  317. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_alerts.scssc +0 -0
  318. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_badges.scssc +0 -0
  319. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_breadcrumbs.scssc +0 -0
  320. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_button-groups.scssc +0 -0
  321. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_buttons.scssc +0 -0
  322. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_carousel.scssc +0 -0
  323. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_close.scssc +0 -0
  324. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_code.scssc +0 -0
  325. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_component-animations.scssc +0 -0
  326. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_dropdowns.scssc +0 -0
  327. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_forms.scssc +0 -0
  328. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_glyphicons.scssc +0 -0
  329. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_grid.scssc +0 -0
  330. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_input-groups.scssc +0 -0
  331. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_jumbotron.scssc +0 -0
  332. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_labels.scssc +0 -0
  333. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_list-group.scssc +0 -0
  334. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_media.scssc +0 -0
  335. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_mixins.scssc +0 -0
  336. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_modals.scssc +0 -0
  337. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_navbar.scssc +0 -0
  338. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_navs.scssc +0 -0
  339. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_normalize.scssc +0 -0
  340. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_pager.scssc +0 -0
  341. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_pagination.scssc +0 -0
  342. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_panels.scssc +0 -0
  343. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_popovers.scssc +0 -0
  344. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_print.scssc +0 -0
  345. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_progress-bars.scssc +0 -0
  346. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_responsive-embed.scssc +0 -0
  347. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_responsive-utilities.scssc +0 -0
  348. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_scaffolding.scssc +0 -0
  349. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_tables.scssc +0 -0
  350. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_thumbnails.scssc +0 -0
  351. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_tooltip.scssc +0 -0
  352. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_type.scssc +0 -0
  353. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_utilities.scssc +0 -0
  354. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_variables.scssc +0 -0
  355. data/test/dummy/tmp/cache/assets/test/sass/e934b98bab29972344df0ce895ad77edec08210c/_wells.scssc +0 -0
  356. data/test/dummy/tmp/cache/assets/test/sprockets/0d3881005b0646df783d5c24683d34f5 +0 -0
  357. data/test/dummy/tmp/cache/assets/test/sprockets/16d61d604995abc9503196afa7ee8a1a +0 -0
  358. data/test/dummy/tmp/cache/assets/test/sprockets/1a6846f0a837ae2524e2f9ec89e6ef43 +0 -0
  359. data/test/dummy/tmp/cache/assets/test/sprockets/2013f4301be82fc1e4c20d363d5f595a +0 -0
  360. data/test/dummy/tmp/cache/assets/test/sprockets/416ba8d8c55d6f42571b681274e22d5d +0 -0
  361. data/test/dummy/tmp/cache/assets/test/sprockets/50c1885539f61359c48af74fcae1df31 +0 -0
  362. data/test/dummy/tmp/cache/assets/test/sprockets/6c3e053393afe303432ca73f1b41490b +0 -0
  363. data/test/dummy/tmp/cache/assets/test/sprockets/86e145a39f85cceeaffdff91ebb61449 +0 -0
  364. data/test/dummy/tmp/cache/assets/test/sprockets/c5880aca76ccbb51f9388362e8afc1e6 +0 -0
  365. data/test/dummy/tmp/cache/assets/test/sprockets/e69b39cad15408a142ce4b079f08d5c7 +0 -0
  366. data/test/dummy/tmp/cache/assets/test/sprockets/ea90d3d29d22654f1c3309fdcadb2703 +0 -0
  367. data/test/dummy/tmp/cache/assets/test/sprockets/fe2a206a96f1e0b21d535fa35ddd5f59 +0 -0
  368. data/test/test_helper.rb +4 -0
  369. metadata +550 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6e45f92f25ab1b73622afb14386c57fc6cf0d8a5
4
- data.tar.gz: 0e27bcc32bda3d8655571e1e5f3a272b471ee77b
3
+ metadata.gz: 8bc176dbc2ad38b99ab49a128971f1e32103e009
4
+ data.tar.gz: d56c4292c0979d826074d95546d42a7907edb677
5
5
  SHA512:
6
- metadata.gz: 724488b8ed45dd27a81f7576a3c9c74448e1a582343e3634f634e4ae3cbe497a6298478425ee11afc4f7d29505130ac858d22e961e9cf031a89fa1899090152f
7
- data.tar.gz: 4d252660428dfc6bde86c5def8f18bfa232e43790235a92fb5b1c0857a497f9996c2041b5c08ec31908e40c4991be940c508e647ebe1185d74f31193abff344c
6
+ metadata.gz: 862c1a697e68afe188aba95ef8e1b3db5b241f666d2d314630a11b558f0e1f31caf31e6a8b12a7658b9ebbacd75ebc517b1513fa941662a8b4962fe952bdf4f6
7
+ data.tar.gz: 0426cbf46893ad05460682f7f7153168923409919f26e3e1ca73741dfd11eaf024008b0f9ee736f6823c5bd235e8f9aff452a119c74c98b82833bbc5b062ad10
@@ -6,8 +6,8 @@ Attached is a Ruby on Rails file attachment tool that lets users upload to the c
6
6
 
7
7
  The gem is tested with:
8
8
 
9
- * Ruby on Rails 4.1.1
10
- * Ruby on Rails 4.0.5
9
+ * Ruby on Rails 4.1.2
10
+ * Ruby on Rails 4.0.6
11
11
  * Ruby 2.1.2
12
12
  * Ruby 2.0.0
13
13
  * Ruby 1.9.3
@@ -166,9 +166,10 @@ View:
166
166
 
167
167
  == Status
168
168
 
169
- {<img src="http://img.shields.io/gemnasium/ksylvest/attached.svg" />}[https://gemnasium.com/ksylvest/attached]
170
- {<img src="http://img.shields.io/travis/ksylvest/attached.svg" />}[https://travis-ci.org/ksylvest/attached]
171
- {<img src="http://img.shields.io/codeclimate/github/ksylvest/attached.svg" />}[https://codeclimate.com/github/ksylvest/attached]
169
+ {<img src="https://img.shields.io/gemnasium/ksylvest/attached.svg" />}[https://gemnasium.com/ksylvest/attached]
170
+ {<img src="https://img.shields.io/travis/ksylvest/attached.svg" />}[https://travis-ci.org/ksylvest/attached]
171
+ {<img src="https://img.shields.io/coveralls/ksylvest/attached.svg" />}[https://coveralls.io/r/ksylvest/attached]
172
+ {<img src="https://img.shields.io/codeclimate/github/ksylvest/attached.svg" />}[https://codeclimate.com/github/ksylvest/attached]
172
173
 
173
174
  == Copyright
174
175
 
data/Rakefile CHANGED
@@ -14,9 +14,6 @@ RDoc::Task.new(:rdoc) do |rdoc|
14
14
  rdoc.rdoc_files.include('lib/**/*.rb')
15
15
  end
16
16
 
17
-
18
-
19
-
20
17
  Bundler::GemHelper.install_tasks
21
18
 
22
19
  require 'rake/testtask'
@@ -1,37 +1,20 @@
1
+ require 'attached/definition'
1
2
  require 'attached/attachment'
3
+ require 'attached/attatcher'
2
4
  require 'attached/railtie'
3
5
 
4
-
5
6
  module Attached
6
7
 
7
-
8
8
  def self.mock!
9
9
  Fog.mock!
10
10
  end
11
11
 
12
-
13
12
  def self.included(base)
14
13
  base.extend ClassMethods
15
- base.class_attribute :attached_options
16
- end
17
-
18
-
19
- module Definition
20
- def attachment(*args)
21
- options = args.extract_options!
22
-
23
- args.each do |name|
24
- column("#{name}_identifier", :string, options)
25
- column("#{name}_extension", :string, options)
26
- column("#{name}_size", :integer, options)
27
- end
28
- end
29
14
  end
30
15
 
31
-
32
16
  module ClassMethods
33
17
 
34
-
35
18
  # Add an attachment to a class.
36
19
  #
37
20
  # Options:
@@ -43,70 +26,13 @@ module Attached
43
26
  # Usage:
44
27
  #
45
28
  # has_attached :video
46
- # has_attached :video, :storage => :aws
47
- # has_attached :video, styles => { :mov => { :size => "480p", :format => "mov" } }
29
+ # has_attached :video, storage: :aws
30
+ # has_attached :video, styles: { mov: { size: "480p", format: "mov" } }
48
31
 
49
32
  def has_attached(name, options = {})
50
-
51
- include InstanceMethods
52
-
53
- self.attached_options ||= {}
54
- self.attached_options[name] = options
55
-
56
- before_save :save_attached
57
- before_destroy :destroy_attached
58
-
59
- define_method name do
60
- attachment_for(name)
61
- end
62
-
63
- define_method "#{name}=" do |file|
64
- attachment_for(name).assign(file)
65
- end
66
-
67
- define_method "#{name}?" do
68
- attachment_for(name).attached?
69
- end
70
-
71
- define_method "#{name}_url=" do |url|
72
- attachment_for(name).url = url
73
- end
74
-
75
- validates_each(name) do |record, attr, value|
76
- attachment = record.attachment_for(name)
77
- attachment.errors.each do |error|
78
- record.errors.add(name, error)
79
- end
80
- end
81
-
82
- after_validation do
83
-
84
- if self.errors.include?(:"#{name}_size")
85
- self.errors[:"#{name}_size"].each do |message|
86
- self.errors.add(name, message)
87
- end
88
- self.errors[:"#{name}_size"].clear
89
- end
90
-
91
- if self.errors.include?(:"#{name}_extension")
92
- self.errors[:"#{name}_extension"].each do |message|
93
- self.errors.add(name, message)
94
- end
95
- self.errors[:"#{name}_extension"].clear
96
- end
97
-
98
- if self.errors.include?(:"#{name}_identifier")
99
- self.errors[:"#{name}_identifier"].each do |message|
100
- self.errors.add(name, message)
101
- end
102
- self.errors[:"#{name}_identifier"].clear
103
- end
104
-
105
- end
106
-
33
+ Attatcher.define(self, name, options)
107
34
  end
108
35
 
109
-
110
36
  # Validates an attached size in a specified range or minimum and maximum.
111
37
  #
112
38
  # Options:
@@ -118,9 +44,9 @@ module Attached
118
44
  #
119
45
  # Usage:
120
46
  #
121
- # validates_attached_size :avatar, :range => 10.megabytes .. 20.megabytes
122
- # validates_attached_size :avatar, :minimum => 10.megabytes, :maximum => 20.megabytes
123
- # validates_attached_size :avatar, :message => "size must be between :minimum and :maximum bytes"
47
+ # validates_attached_size :avatar, range: 10.megabytes .. 20.megabytes
48
+ # validates_attached_size :avatar, minimum: 10.megabytes, maximum: 20.megabytes
49
+ # validates_attached_size :avatar, message: "size must be between :minimum and :maximum bytes"
124
50
 
125
51
  def validates_attached_size(name, options = {})
126
52
 
@@ -141,12 +67,11 @@ module Attached
141
67
  message.gsub!(/:minimum/, number_to_size(minimum)) unless minimum == zero
142
68
  message.gsub!(/:maximum/, number_to_size(maximum)) unless maximum == infi
143
69
 
144
- validates_inclusion_of :"#{name}_size", :in => range, :message => message,
145
- :if => options[:if], :unless => options[:unless]
70
+ validates_inclusion_of :"#{name}_size", in: range, message: message,
71
+ if: options[:if], unless: options[:unless]
146
72
 
147
73
  end
148
74
 
149
-
150
75
  # Validates an attached extension in a specified set.
151
76
  #
152
77
  # Options:
@@ -155,11 +80,11 @@ module Attached
155
80
  #
156
81
  # Usage:
157
82
  #
158
- # validates_attached_extension :avatar, :is => 'png'
159
- # validates_attached_extension :avatar, :in => %w(png jpg)
160
- # validates_attached_extension :avatar, :in => [:png, :jpg]
161
- # validates_attached_extension :avatar, :in => %w(png jpg), :message => "extension must be :in"
162
- # validates_attached_extension :avatar, :in => %w(png jpg), :message => "extension must be :in"
83
+ # validates_attached_extension :avatar, is: 'png'
84
+ # validates_attached_extension :avatar, in: %w(png jpg)
85
+ # validates_attached_extension :avatar, in: [:png, :jpg]
86
+ # validates_attached_extension :avatar, in: %w(png jpg), message: "extension must be :in"
87
+ # validates_attached_extension :avatar, in: %w(png jpg), message: "extension must be :in"
163
88
 
164
89
  def validates_attached_extension(name, options = {})
165
90
 
@@ -170,11 +95,10 @@ module Attached
170
95
 
171
96
  range = options[:in].map { |element| ".#{element}" }
172
97
 
173
- validates_inclusion_of :"#{name}_extension", :in => range, :message => message,
174
- :if => options[:if], :unless => options[:unless]
98
+ validates_inclusion_of :"#{name}_extension", in: range, message: message,
99
+ if: options[:if], unless: options[:unless]
175
100
  end
176
101
 
177
-
178
102
  # Validates that an attachment is included.
179
103
  #
180
104
  # Options:
@@ -184,22 +108,20 @@ module Attached
184
108
  # Usage:
185
109
  #
186
110
  # validates_attached_presence :avatar
187
- # validates_attached_presence :avatar, :message => "must be attached"
111
+ # validates_attached_presence :avatar, message: "must be attached"
188
112
 
189
113
  def validates_attached_presence(name, options = {})
190
114
 
191
115
  message = options[:message]
192
116
  message ||= "must be attached"
193
117
 
194
- validates_presence_of :"#{name}_identifier", :message => message,
195
- :if => options[:if], :unless => options[:unless]
118
+ validates_presence_of :"#{name}_identifier", message: message,
119
+ if: options[:if], unless: options[:unless]
196
120
 
197
121
  end
198
122
 
199
-
200
123
  private
201
124
 
202
-
203
125
  # Convert a number to a human readable size.
204
126
  #
205
127
  # Usage:
@@ -213,9 +135,9 @@ module Attached
213
135
  return if number == 0.0 / 1.0
214
136
  return if number == 1.0 / 0.0
215
137
 
216
- singular = options['singular'] || 1
217
- base = options['base'] || 1024
218
- units = options['units'] || ["byte", "kilobyte", "megabyte", "gigabyte", "terabyte", "petabyte"]
138
+ singular = options[:singular] || 1
139
+ base = options[:base] || 1024
140
+ units = options[:units] || ["byte", "kilobyte", "megabyte", "gigabyte", "terabyte", "petabyte"]
219
141
 
220
142
  exponent = (Math.log(number) / Math.log(base)).floor
221
143
 
@@ -227,56 +149,6 @@ module Attached
227
149
  "#{number} #{unit}"
228
150
  end
229
151
 
230
-
231
152
  end
232
153
 
233
-
234
- module InstanceMethods
235
-
236
-
237
- # Create or access attachment.
238
- #
239
- # Usage:
240
- #
241
- # attachment_for :avatar
242
-
243
- def attachment_for(name)
244
- @_attached_attachments ||= {}
245
- @_attached_attachments[name] ||= Attachment.new(name, self, self.class.attached_options[name])
246
- end
247
-
248
-
249
- # Log and save all attached (using specified storage).
250
- #
251
- # Usage:
252
- #
253
- # before_save :save_attached
254
-
255
- def save_attached
256
- logger.info "[attached] save attached"
257
-
258
- self.class.attached_options.each do |name, options|
259
- attachment_for(name).save
260
- end
261
- end
262
-
263
-
264
- # Log and destroy all attached (using specified storage).
265
- #
266
- # Usage:
267
- #
268
- # before_save :destroy_attached
269
-
270
- def destroy_attached
271
- logger.info "[attached] destroy attached"
272
-
273
- self.class.attached_options.each do |name, options|
274
- attachment_for(name).destroy
275
- end
276
- end
277
-
278
-
279
- end
280
-
281
-
282
154
  end
@@ -1,18 +1,13 @@
1
1
  require 'open-uri'
2
-
3
2
  require 'identifier'
4
-
5
3
  require 'attached/storage'
6
4
  require 'attached/storage/error'
7
-
8
5
  require 'attached/processor'
9
6
  require 'attached/processor/error'
10
7
 
11
8
  module Attached
12
-
13
9
  class Attachment
14
10
 
15
-
16
11
  attr_reader :file
17
12
  attr_reader :name
18
13
  attr_reader :instance
@@ -33,25 +28,23 @@ module Attached
33
28
  attr_reader :storage
34
29
  attr_reader :host
35
30
 
36
-
37
31
  # A default set of options that can be extended to customize the path, storage or credentials.
38
32
  #
39
33
  # Usage:
40
34
  #
41
- # Attached::Attachment.options = { :storage => :fs, :path => ":name/:style/:identifier:extension" }
35
+ # Attached::Attachment.options = { storage: :fs, path: ":name/:style/:identifier:extension" }
42
36
 
43
37
  def self.options
44
38
  @options ||= {
45
- :path => ":name/:style/:identifier:extension",
46
- :missing => ":name/:style/missing:extension",
47
- :default => :original,
48
- :medium => :local,
49
- :credentials => {},
50
- :metadata => { 'Cache-Control' => 'max-age=3153600' }
39
+ path: ":name/:style/:identifier:extension",
40
+ missing: ":name/:style/missing:extension",
41
+ default: :original,
42
+ medium: :local,
43
+ credentials: {},
44
+ metadata: { 'Cache-Control' => 'max-age=3153600' }
51
45
  }
52
46
  end
53
47
 
54
-
55
48
  # Initialize a new attachment by providing a name and the instance the attachment is associated with.
56
49
  #
57
50
  # Parameters:
@@ -71,7 +64,7 @@ module Attached
71
64
  # * :aliases - An array of aliases
72
65
 
73
66
  def initialize(name, instance, options = {})
74
- options = self.class.options.clone.merge(options)
67
+ options = self.class.options.clone.merge(options)
75
68
 
76
69
  options[:styles] ||= {}
77
70
  options[:aliases] ||= []
@@ -79,11 +72,9 @@ module Attached
79
72
 
80
73
  @name = name
81
74
  @instance = instance
82
-
83
75
  @queue = {}
84
76
  @purge = []
85
77
  @errors = []
86
-
87
78
  @path = options[:path]
88
79
  @missing = options[:missing]
89
80
  @styles = options[:styles]
@@ -95,16 +86,12 @@ module Attached
95
86
  @processor = options[:processor]
96
87
  @aliases = options[:aliases]
97
88
  @alias = options[:alias]
98
-
99
89
  @aliases = self.aliases << self.alias if self.alias
100
90
  @processors = self.processors << self.processor if self.processor
101
-
102
91
  @storage = Attached::Storage.storage(self.medium, self.credentials)
103
-
104
92
  @host = self.storage.host
105
93
  end
106
94
 
107
-
108
95
  # Check if an attachment has been modified.
109
96
  #
110
97
  # Usage:
@@ -115,7 +102,6 @@ module Attached
115
102
  instance.changed.include? "#{name}_identifier"
116
103
  end
117
104
 
118
-
119
105
  # Check if an attachment is present.
120
106
  #
121
107
  # Usage:
@@ -126,7 +112,6 @@ module Attached
126
112
  not identifier.blank?
127
113
  end
128
114
 
129
-
130
115
  # Check if an attachment is present.
131
116
  #
132
117
  # Usage:
@@ -137,7 +122,6 @@ module Attached
137
122
  not identifier.blank?
138
123
  end
139
124
 
140
-
141
125
  # Custom setter for specifying an attachment.
142
126
  #
143
127
  # Usage:
@@ -148,7 +132,6 @@ module Attached
148
132
  @file = file.respond_to?(:tempfile) ? file.tempfile : file
149
133
  end
150
134
 
151
-
152
135
  # Assign an attachment to a file.
153
136
  #
154
137
  # Usage:
@@ -162,7 +145,6 @@ module Attached
162
145
  extension ||= file.extension if file.respond_to? :extension
163
146
  extension ||= File.extname(file.original_filename) if file.respond_to? :original_filename
164
147
  extension ||= File.extname(file.path) if file.respond_to? :path
165
-
166
148
  size ||= file.size if file.respond_to? :size
167
149
  size ||= File.size(file.path) if file.respond_to? :path
168
150
  end
@@ -176,7 +158,6 @@ module Attached
176
158
  process if file
177
159
  end
178
160
 
179
-
180
161
  # Assign an attachment to a file.
181
162
  #
182
163
  # Usage:
@@ -185,16 +166,12 @@ module Attached
185
166
 
186
167
  def url=(url)
187
168
  extension = File.extname(url)
188
-
189
169
  file = Tempfile.new(["", extension])
190
170
  file.binmode
191
-
192
171
  file << open(url).read
193
-
194
172
  self.assign(file)
195
173
  end
196
174
 
197
-
198
175
  # Save an attachment.
199
176
  #
200
177
  # Usage:
@@ -206,16 +183,13 @@ module Attached
206
183
  path = self.path(style)
207
184
  self.storage.save(file, path) if file and path
208
185
  end
209
-
210
186
  self.purge.each do |path|
211
187
  self.storage.destroy(path)
212
188
  end
213
-
214
189
  @purge = []
215
190
  @queue = {}
216
191
  end
217
192
 
218
-
219
193
  # Destroy an attachment.
220
194
  #
221
195
  # Usage:
@@ -229,12 +203,10 @@ module Attached
229
203
  self.storage.destroy(self.path(style))
230
204
  end
231
205
  end
232
-
233
206
  @purge = []
234
207
  @queue = {}
235
208
  end
236
209
 
237
-
238
210
  # Acesss the URL for an attachment.
239
211
  #
240
212
  # Usage:
@@ -245,14 +217,11 @@ module Attached
245
217
 
246
218
  def url(style = self.default)
247
219
  path = self.path(style)
248
-
249
220
  host = self.host
250
221
  host = self.aliases[path.hash % self.aliases.count] unless self.aliases.empty?
251
-
252
222
  return "#{host}#{path}"
253
223
  end
254
224
 
255
-
256
225
  # Access the path for an attachment.
257
226
  #
258
227
  # Usage:
@@ -263,16 +232,13 @@ module Attached
263
232
 
264
233
  def path(style = self.default)
265
234
  path = self.attached? ? @path.clone : @missing.clone
266
-
267
235
  path.gsub!(/:name/, name.to_s)
268
236
  path.gsub!(/:style/, style.to_s)
269
237
  path.gsub!(/:extension/, extension(style).to_s)
270
238
  path.gsub!(/:identifier/, identifier(style).to_s)
271
-
272
239
  return path
273
240
  end
274
241
 
275
-
276
242
  # Access the size for an attachment.
277
243
  #
278
244
  # Usage:
@@ -283,7 +249,6 @@ module Attached
283
249
  return instance_get(:size)
284
250
  end
285
251
 
286
-
287
252
  # Access the status for an attachment.
288
253
  #
289
254
  # Usage:
@@ -294,7 +259,6 @@ module Attached
294
259
  instance_get(:status)
295
260
  end
296
261
 
297
-
298
262
  # Access the extension for an attachment. It will first check the styles
299
263
  # to see if one is specified before checking the instance.
300
264
  #
@@ -310,7 +274,6 @@ module Attached
310
274
  instance_get(:extension)
311
275
  end
312
276
 
313
-
314
277
  # Access the identifier for an attachment. It will first check the styles
315
278
  # to see if one is specified before checking the instance.
316
279
  #
@@ -326,7 +289,6 @@ module Attached
326
289
  instance_get(:identifier)
327
290
  end
328
291
 
329
-
330
292
  # Set the size for an attachment.
331
293
  #
332
294
  # Usage:
@@ -337,7 +299,6 @@ module Attached
337
299
  instance_set(:size, size)
338
300
  end
339
301
 
340
-
341
302
  # Set the status for an attachment.
342
303
  #
343
304
  # Usage:
@@ -348,7 +309,6 @@ module Attached
348
309
  instance_set(:size, status)
349
310
  end
350
311
 
351
-
352
312
  # Set the extension for an attachment. It will act independently of the
353
313
  # defined style.
354
314
  #
@@ -360,7 +320,6 @@ module Attached
360
320
  instance_set(:extension, extension)
361
321
  end
362
322
 
363
-
364
323
  # Set the identifier for an attachment. It will act independently of the
365
324
  # defined style.
366
325
  #
@@ -372,19 +331,15 @@ module Attached
372
331
  instance_set(:identifier, identifier)
373
332
  end
374
333
 
375
-
376
334
  # Access the original file .
377
335
 
378
336
  def reprocess!
379
337
  self.file = self.storage.retrieve(self.path)
380
-
381
338
  process
382
339
  end
383
340
 
384
-
385
341
  private
386
342
 
387
-
388
343
  # Helper function for calling processors (will queue default).
389
344
  #
390
345
  # Usage:
@@ -393,22 +348,18 @@ module Attached
393
348
 
394
349
  def process
395
350
  self.queue[self.default] = self.file
396
-
397
351
  begin
398
-
399
352
  self.processors.each do |processor|
400
353
  processor = Attached::Processor.processor(processor)
401
354
  self.styles.each do |style, options|
402
355
  self.queue[style] = processor.process(self.queue[style] || self.file, options, self)
403
356
  end
404
357
  end
405
-
406
358
  rescue Attached::Processor::Error => error
407
359
  self.errors << error.message
408
360
  end
409
361
  end
410
362
 
411
-
412
363
  # Helper function for setting instance variables.
413
364
  #
414
365
  # Usage:
@@ -420,7 +371,6 @@ module Attached
420
371
  self.instance.send(setter, value) if instance.respond_to?(setter)
421
372
  end
422
373
 
423
-
424
374
  # Helper function for getting instance variables.
425
375
  #
426
376
  # Usage:
@@ -432,7 +382,5 @@ module Attached
432
382
  self.instance.send(getter) if instance.respond_to?(getter)
433
383
  end
434
384
 
435
-
436
385
  end
437
-
438
386
  end