filemagic 0.3.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (476) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Rakefile +37 -0
  4. data/app/assets/fonts/filemagic-icons.eot +0 -0
  5. data/app/assets/fonts/filemagic-icons.ttf +0 -0
  6. data/app/assets/fonts/filemagic-icons.woff +0 -0
  7. data/app/assets/javascripts/filemagic.js +14 -0
  8. data/app/assets/javascripts/filemagic/application.js +15 -0
  9. data/app/assets/javascripts/filemagic/canvas-to-blob.js +95 -0
  10. data/app/assets/javascripts/filemagic/classnames.js +44 -0
  11. data/app/assets/javascripts/filemagic/components/uploader.es6 +385 -0
  12. data/app/assets/javascripts/filemagic/initializer.es6 +9 -0
  13. data/app/assets/javascripts/filemagic/jquery.fileupload.js +1467 -0
  14. data/app/assets/javascripts/filemagic/jquery.iframe-transport.js +217 -0
  15. data/app/assets/javascripts/filemagic/jquery.ui.js +16617 -0
  16. data/app/assets/javascripts/filemagic/jquery.ui.widget.js +563 -0
  17. data/app/assets/javascripts/filemagic/load-image.js +348 -0
  18. data/app/assets/javascripts/filemagic/lodash.js +12175 -0
  19. data/app/assets/javascripts/filemagic/react-dom.js +42 -0
  20. data/app/assets/javascripts/filemagic/react.js +18808 -0
  21. data/app/assets/stylesheets/filemagic.scss +33 -0
  22. data/app/assets/stylesheets/filemagic/_filemagic-icons.scss +34 -0
  23. data/app/assets/stylesheets/filemagic/_uploader.scss +40 -0
  24. data/app/assets/stylesheets/filemagic/application.css +1 -0
  25. data/app/assets/stylesheets/filemagic/components/_buttons.scss +39 -0
  26. data/app/assets/stylesheets/filemagic/components/_loader.scss +23 -0
  27. data/app/assets/stylesheets/filemagic/states/_uploader-drag.scss +53 -0
  28. data/app/assets/stylesheets/filemagic/states/_uploader-empty.scss +44 -0
  29. data/app/assets/stylesheets/filemagic/states/_uploader-filled.scss +57 -0
  30. data/app/assets/stylesheets/filemagic/states/_uploader-loading.scss +20 -0
  31. data/app/assets/stylesheets/filemagic/states/_uploader-repositioning.scss +11 -0
  32. data/app/controllers/filemagic/application_controller.rb +4 -0
  33. data/app/controllers/filemagic/image_controller.rb +21 -0
  34. data/app/helpers/filemagic/application_helper.rb +12 -0
  35. data/app/views/layouts/filemagic/application.html.erb +14 -0
  36. data/config/routes.rb +4 -0
  37. data/lib/filemagic.rb +4 -0
  38. data/lib/filemagic/engine.rb +126 -0
  39. data/lib/filemagic/version.rb +8 -0
  40. data/lib/tasks/filemagic_tasks.rake +4 -0
  41. data/test/dummy/README.rdoc +28 -0
  42. data/test/dummy/Rakefile +6 -0
  43. data/test/dummy/app/assets/javascripts/application.js +6 -0
  44. data/test/dummy/app/assets/javascripts/posts.js +2 -0
  45. data/test/dummy/app/assets/stylesheets/application.scss +17 -0
  46. data/test/dummy/app/assets/stylesheets/posts.css +4 -0
  47. data/test/dummy/app/assets/stylesheets/scaffold.css +56 -0
  48. data/test/dummy/app/controllers/application_controller.rb +5 -0
  49. data/test/dummy/app/controllers/posts_controller.rb +58 -0
  50. data/test/dummy/app/helpers/application_helper.rb +2 -0
  51. data/test/dummy/app/helpers/posts_helper.rb +2 -0
  52. data/test/dummy/app/models/post.rb +3 -0
  53. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  54. data/test/dummy/app/views/posts/_form.html.erb +29 -0
  55. data/test/dummy/app/views/posts/edit.html.erb +6 -0
  56. data/test/dummy/app/views/posts/index.html.erb +18 -0
  57. data/test/dummy/app/views/posts/new.html.erb +5 -0
  58. data/test/dummy/app/views/posts/show.html.erb +35 -0
  59. data/test/dummy/bin/bundle +3 -0
  60. data/test/dummy/bin/rails +4 -0
  61. data/test/dummy/bin/rake +4 -0
  62. data/test/dummy/bin/setup +29 -0
  63. data/test/dummy/config.ru +4 -0
  64. data/test/dummy/config/application.rb +26 -0
  65. data/test/dummy/config/boot.rb +5 -0
  66. data/test/dummy/config/database.yml +25 -0
  67. data/test/dummy/config/environment.rb +5 -0
  68. data/test/dummy/config/environments/development.rb +41 -0
  69. data/test/dummy/config/environments/production.rb +79 -0
  70. data/test/dummy/config/environments/test.rb +42 -0
  71. data/test/dummy/config/initializers/assets.rb +11 -0
  72. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  73. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  74. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  75. data/test/dummy/config/initializers/inflections.rb +16 -0
  76. data/test/dummy/config/initializers/mime_types.rb +4 -0
  77. data/test/dummy/config/initializers/session_store.rb +3 -0
  78. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  79. data/test/dummy/config/locales/en.yml +23 -0
  80. data/test/dummy/config/routes.rb +7 -0
  81. data/test/dummy/config/secrets.yml +22 -0
  82. data/test/dummy/db/development.sqlite3 +0 -0
  83. data/test/dummy/db/migrate/20160701161345_create_posts.rb +11 -0
  84. data/test/dummy/db/migrate/20160701175704_add_offset_to_post.rb +6 -0
  85. data/test/dummy/db/schema.rb +26 -0
  86. data/test/dummy/log/development.log +669 -0
  87. data/test/dummy/log/test.log +5 -0
  88. data/test/dummy/public/404.html +67 -0
  89. data/test/dummy/public/422.html +67 -0
  90. data/test/dummy/public/500.html +66 -0
  91. data/test/dummy/public/favicon.ico +0 -0
  92. data/test/dummy/test/controllers/posts_controller_test.rb +49 -0
  93. data/test/dummy/test/fixtures/posts.yml +11 -0
  94. data/test/dummy/test/models/post_test.rb +7 -0
  95. data/test/dummy/tmp/cache/assets/sprockets/v3.0/-9fw994Yol65vBMI97itkrjPavPXYWWFkB6uivTz5v8.cache +1 -0
  96. data/test/dummy/tmp/cache/assets/sprockets/v3.0/-LX_w_RSHEt3GQluIt2hYblBefGWLhzQDvO7jI2k6Ok.cache +0 -0
  97. data/test/dummy/tmp/cache/assets/sprockets/v3.0/-XtoHqe2ytO7UraIImZctev7njgPWMZvY_gBv7ziDKw.cache +1 -0
  98. data/test/dummy/tmp/cache/assets/sprockets/v3.0/-xsKMHT2LN0HR6u7R3xdyRqk_Rx4x6TrXc_FF79YDWM.cache +1 -0
  99. data/test/dummy/tmp/cache/assets/sprockets/v3.0/-zf7WboBz0QWaTi04WQFjsmTyM2h-XVE-7QsR3uEeu8.cache +0 -0
  100. data/test/dummy/tmp/cache/assets/sprockets/v3.0/0OBgaq7bbfwsDjDnM8tWXdx9CNhcIEtvwWS5WKPNl4g.cache +1 -0
  101. data/test/dummy/tmp/cache/assets/sprockets/v3.0/0hXRi95-UDPmmhoa-Q78vGAt5j1pv-Tl-_pJMVF6mH0.cache +0 -0
  102. data/test/dummy/tmp/cache/assets/sprockets/v3.0/0phvQr_Ht373Ffj0MaD0ZFTtXnQwKSWs9JLWoHPNF8U.cache +1 -0
  103. data/test/dummy/tmp/cache/assets/sprockets/v3.0/15gZWnR3ALNTUq43PIjkNHChFRf5HWF2XOKBdwk9DZU.cache +0 -0
  104. data/test/dummy/tmp/cache/assets/sprockets/v3.0/15yTOt29VJuhxme5JLvhF33SS03AXHA5O6UnWOeE4-4.cache +0 -0
  105. data/test/dummy/tmp/cache/assets/sprockets/v3.0/1Eo6XDPzWfQbqmc0jotB-ax3rKjW0fgfvmRVtNcHqfg.cache +1 -0
  106. data/test/dummy/tmp/cache/assets/sprockets/v3.0/1ad4fICEGq7HLvmzU62Cb51MU0PD-j-QPE3JRMk834Q.cache +3 -0
  107. data/test/dummy/tmp/cache/assets/sprockets/v3.0/1hrQ1ope6o2-ff3VcbZNMaQF3zjGYNP5B5ufvGjIrZ0.cache +0 -0
  108. data/test/dummy/tmp/cache/assets/sprockets/v3.0/25ah2DTT1tAtIrEGPBgfh6WW0u9MAspPw78VIrRO9kg.cache +0 -0
  109. data/test/dummy/tmp/cache/assets/sprockets/v3.0/2GleRbQkIiO_kXw3tTCUtdAJ-gWDZWd_iTLEye_DH-U.cache +1 -0
  110. data/test/dummy/tmp/cache/assets/sprockets/v3.0/2NL78TK0a1p1YVNOsMaRicnKuleyls0i2dGg0HXbjwY.cache +0 -0
  111. data/test/dummy/tmp/cache/assets/sprockets/v3.0/3elz5ZwjeT6rBLmSCz8CNiRgPbst1tuWy49nv5eKXUs.cache +0 -0
  112. data/test/dummy/tmp/cache/assets/sprockets/v3.0/3k3hnrloNksSclDyY1G5Ffe8Togln4PTF26teZj4daU.cache +1 -0
  113. data/test/dummy/tmp/cache/assets/sprockets/v3.0/3o6SyrtKCa5-IW82Gku6TT50xVuYSPmWZYV2LpXt0ng.cache +1 -0
  114. data/test/dummy/tmp/cache/assets/sprockets/v3.0/4XbbAtbDeCPgBgwEGfaVYbh0z4-8IVkXY5dC9xufAqE.cache +2 -0
  115. data/test/dummy/tmp/cache/assets/sprockets/v3.0/4mdhEpfFlSlrufWtk3Qe_RmsVuOkU_n7PRBLtBG5bZg.cache +1 -0
  116. data/test/dummy/tmp/cache/assets/sprockets/v3.0/57VWddntHZmImAbLHffgzWBZOfELQXF35qvp-h4xSqs.cache +1 -0
  117. data/test/dummy/tmp/cache/assets/sprockets/v3.0/5HtbdtEteX-EBT3v71mk9qgfeWybkF0w6pm3Wo69ODk.cache +1 -0
  118. data/test/dummy/tmp/cache/assets/sprockets/v3.0/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache +0 -0
  119. data/test/dummy/tmp/cache/assets/sprockets/v3.0/5Shm6EVGs2LfJZhF16hVrHIrqReoSJ0vQ8K7If3maUU.cache +0 -0
  120. data/test/dummy/tmp/cache/assets/sprockets/v3.0/5TzYmONEI2HYkxGdPZU9iJFCuuoe70CB-i-w-KEHZv0.cache +0 -0
  121. data/test/dummy/tmp/cache/assets/sprockets/v3.0/5qRm6M17eqp9ipjb3_SUxEtN0hWh2oQELdhKtycQtog.cache +1 -0
  122. data/test/dummy/tmp/cache/assets/sprockets/v3.0/5rGYGjKoFndqCWXSNVyjCCIkQE9pSJjye3NsVhZnXes.cache +2 -0
  123. data/test/dummy/tmp/cache/assets/sprockets/v3.0/60XA3OEWI-NSTe8v2MywH7EvOoTOd8WpJ1MyUlinw6U.cache +0 -0
  124. data/test/dummy/tmp/cache/assets/sprockets/v3.0/6BRxKCHFSDWCSNxJrbjKmf3CYXOCpqBg3a1SEtr2a0s.cache +1 -0
  125. data/test/dummy/tmp/cache/assets/sprockets/v3.0/6Rru6T6Y51aQCe6jqVeJ1rfKmTo9GUIPcUar8rtq-Rg.cache +0 -0
  126. data/test/dummy/tmp/cache/assets/sprockets/v3.0/6as1--h6jJEEUmq_0kVrxc0pwyJ98rOuawZLimWm_6A.cache +0 -0
  127. data/test/dummy/tmp/cache/assets/sprockets/v3.0/6fjaGP4lf1hCTlKuAEMwaNP2Ui1Bziq8q_bkgFuonww.cache +0 -0
  128. data/test/dummy/tmp/cache/assets/sprockets/v3.0/6sCXk5ZnhABzKKPVSv551SqmF7vBiE5GsZ9INSGcpE8.cache +1 -0
  129. data/test/dummy/tmp/cache/assets/sprockets/v3.0/6udi3HLGr1LETSalwA-b8aHfK7pf1lmdBNRCmLaQeqM.cache +1 -0
  130. data/test/dummy/tmp/cache/assets/sprockets/v3.0/7DeVqrf0z9akoAULAaKAaNfXT0F2x3KPUlYjgX08AZI.cache +1 -0
  131. data/test/dummy/tmp/cache/assets/sprockets/v3.0/7K5myWw5wmyQDfjairkEB0-5At47CWVP89BJOrYy8yg.cache +1 -0
  132. data/test/dummy/tmp/cache/assets/sprockets/v3.0/7Tc4KejuD7oDeI1YUfRJK2d32cP6qEDy3E9qg1zYp1I.cache +1 -0
  133. data/test/dummy/tmp/cache/assets/sprockets/v3.0/7_xh9nApxF_F6bZKKcceQZDyPud5z7Z9X2eF5Ng28JI.cache +1 -0
  134. data/test/dummy/tmp/cache/assets/sprockets/v3.0/7cHMiFku4aNBoYYgMxYQs5TlgKSAxGML_Ji4mhC4HJg.cache +1 -0
  135. data/test/dummy/tmp/cache/assets/sprockets/v3.0/7omTqexvKlj_RHP5tXUtQKz1DVeUjyFUaQSKkOitjVc.cache +0 -0
  136. data/test/dummy/tmp/cache/assets/sprockets/v3.0/7xzatHL4nFDunMIIndkxLUhR9RSC_pq5-ecqLr3iDOU.cache +3 -0
  137. data/test/dummy/tmp/cache/assets/sprockets/v3.0/7zZpAotw30sQanfrrbypVDttEbLBhXD0Zz5K4XYIQeM.cache +0 -0
  138. data/test/dummy/tmp/cache/assets/sprockets/v3.0/84Me44hvtapTtN0sw7x6Atl1Pnh3TWjn6bUqHsbob-Q.cache +1 -0
  139. data/test/dummy/tmp/cache/assets/sprockets/v3.0/8_4a4WmKbDnFi_P4AGbt6tt8_ISlY4qCYqvehvw8AZI.cache +0 -0
  140. data/test/dummy/tmp/cache/assets/sprockets/v3.0/8qUP1kKVENfP86RDpdKFHWfVrebNx3HIt9BKCbJvJWo.cache +1 -0
  141. data/test/dummy/tmp/cache/assets/sprockets/v3.0/8teW6uepXXCGnRK_6TW8HxU64DlG-VkU4GP1uD_CAp8.cache +0 -0
  142. data/test/dummy/tmp/cache/assets/sprockets/v3.0/8ul7L1385P1Y4Lye1IjcYLw7ZV9XR7t7iDNYTflG_LI.cache +1 -0
  143. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9Ao4YOAk5OrYbkTps2fmbe3J0wJgbpoHmF-RoWiS-tE.cache +1 -0
  144. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9Mbhx9R5uX1_r2r09dv9ZeiJ0Ce0HbbfK-AMIaTrM-k.cache +1 -0
  145. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9P66LJIM0hEcs_92j4tYm5KixR6AlFKHMZnn96TFmVc.cache +0 -0
  146. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9cxg0J5Iz3XrIEBcMdfVLBGub-tl1dNGayduoE570Ko.cache +0 -0
  147. data/test/dummy/tmp/cache/assets/sprockets/v3.0/AatOjV7lBh57a31_4jJTOZ8O-Xcp0V4GbZvK1R44jx8.cache +2 -0
  148. data/test/dummy/tmp/cache/assets/sprockets/v3.0/AeaEUF49bAXdrFJ_HtP83vdA7HHse1nAOa9p89CbDGk.cache +1 -0
  149. data/test/dummy/tmp/cache/assets/sprockets/v3.0/AggI8FeI4v--Wk_ImOySHUMDxUDThth3w6IyBk6OQsw.cache +0 -0
  150. data/test/dummy/tmp/cache/assets/sprockets/v3.0/AlsNnuva_5wUqDKonJNRGTA1a_TgpDEfazLh-jF199c.cache +0 -0
  151. data/test/dummy/tmp/cache/assets/sprockets/v3.0/AtgqcE5rqq08AqyIPxk1lCV3BeRP9FKrCwMlPLjL3iw.cache +0 -0
  152. data/test/dummy/tmp/cache/assets/sprockets/v3.0/B3p97R9Vw9Ts0Ta7c1M8bQ1OjyAtDkQmSBeAIugPS00.cache +1 -0
  153. data/test/dummy/tmp/cache/assets/sprockets/v3.0/BAwmUE7f-j5Be6DBHAp_jvxOqJcUc3SUKocKCi727Vc.cache +3 -0
  154. data/test/dummy/tmp/cache/assets/sprockets/v3.0/BQGdY4F2B_lkXoXbpw-cJS-EKXrlxf74Gpm6HJUIBPs.cache +0 -0
  155. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Beq1s5XEZhoXyGWPSfXBXpCBxGKEY8-gxf2MpCQIIjM.cache +2 -0
  156. data/test/dummy/tmp/cache/assets/sprockets/v3.0/BzxTIMxPO3oFioUyf8tq1SGdrufca5hmL2LyBlbkkqQ.cache +1 -0
  157. data/test/dummy/tmp/cache/assets/sprockets/v3.0/C5k02RNeDiR0pKwh0tpF36f0KxBL_gZlVRuAGHfPy5Q.cache +1 -0
  158. data/test/dummy/tmp/cache/assets/sprockets/v3.0/COXNcr2x7ajmEBKfyXAHthMZbgTuzSHhn5OjZDz0udc.cache +0 -0
  159. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Cz77XlOcaUemcBFitRXS9Ti_PXctjdox4XKoDITlVX0.cache +1 -0
  160. data/test/dummy/tmp/cache/assets/sprockets/v3.0/CzgGnrxOpZbZDGs8CyesNZy0kws6dhF8IxHcGKpxC5A.cache +0 -0
  161. data/test/dummy/tmp/cache/assets/sprockets/v3.0/DFvFRydcNYBLnGR2L8Sq8aHVhLz5SHG7hVn02w_d5hI.cache +0 -0
  162. data/test/dummy/tmp/cache/assets/sprockets/v3.0/DQVhyP4nG2IIZ64mi_T1AKrkMBqKZRp2evd2LzOXda0.cache +0 -0
  163. data/test/dummy/tmp/cache/assets/sprockets/v3.0/DSOLSc6A5RVSmvM415eEWAWG_AgOvZcLZOXQjsXyWQA.cache +0 -0
  164. data/test/dummy/tmp/cache/assets/sprockets/v3.0/DmmfrCpXtt74Hr6NO54lxyOCDv6klnDyBqeDFR7oDU8.cache +0 -0
  165. data/test/dummy/tmp/cache/assets/sprockets/v3.0/EsCBUlp77xnzQiRyqWGq-BY6wslW-lGKDvgcmjzSMUI.cache +0 -0
  166. data/test/dummy/tmp/cache/assets/sprockets/v3.0/F7FWJBE9htvPBaFxWw4vvovsr7Bc22ikh-Edf-nvy3c.cache +1 -0
  167. data/test/dummy/tmp/cache/assets/sprockets/v3.0/FDT3ct5HC__IzQXCp_3qnZ3XH0YjfLXr7CgXfHI6qW8.cache +1 -0
  168. data/test/dummy/tmp/cache/assets/sprockets/v3.0/FW1sC8ygAhgjI_3qg_rIFYCYx4EMOrin9XDpTu2nv_4.cache +1 -0
  169. data/test/dummy/tmp/cache/assets/sprockets/v3.0/FZR8_CM3SgTnLAy8g09HGAoANh57dI252jPmhqJLErk.cache +1 -0
  170. data/test/dummy/tmp/cache/assets/sprockets/v3.0/G4ieiq2v4GIUmX5ylBOHWxLnY4yp3RxyDpwxFJImO-I.cache +1 -0
  171. data/test/dummy/tmp/cache/assets/sprockets/v3.0/HGwmcfMPWygBvYKWOaYExsIdFBn6OeFY51KK0JrjMi8.cache +1 -0
  172. data/test/dummy/tmp/cache/assets/sprockets/v3.0/HLY_lr98JQWKZR1T0HfVR9b8bnOFfDwLlUUDoBTX9xA.cache +0 -0
  173. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Hv6-zi8PhCOKo831FDuHaS90z_ChN51Bazeq_hTrlQw.cache +1 -0
  174. data/test/dummy/tmp/cache/assets/sprockets/v3.0/HwDBQWpzf17FO4afRUqw2p45ufI0a6w89djzUfHVCTY.cache +0 -0
  175. data/test/dummy/tmp/cache/assets/sprockets/v3.0/IUDMAMnOKY_k9hxqO_ZeL6RBuQWvomVQ0lQDT7NboS0.cache +0 -0
  176. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ig3s1a-IMrS9FfWrfloCxj9WjeTB6VDXM4HZwjvPRcs.cache +1 -0
  177. data/test/dummy/tmp/cache/assets/sprockets/v3.0/IjAOyKP_fCiBLuxcGthPahvo0Rp04pdSOFRppvNf6ww.cache +1 -0
  178. data/test/dummy/tmp/cache/assets/sprockets/v3.0/IkjJfWOPsEz_jfYkqsKSU7dV02S24119qjYfhcZ1ysU.cache +1 -0
  179. data/test/dummy/tmp/cache/assets/sprockets/v3.0/JGplcx-1vckrZ_6IZ9ZCf6JknAPuQe47uWv-GSszeZo.cache +1 -0
  180. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Jo3NfZBLWZAp-PBbnZSRdIZM921g_psXUYgv47yRldw.cache +1 -0
  181. data/test/dummy/tmp/cache/assets/sprockets/v3.0/KEXHXnQERBOFehIjKY5SNpYivt4JBVRnEL0_-DI2jDg.cache +1 -0
  182. data/test/dummy/tmp/cache/assets/sprockets/v3.0/KJ9Vuuo6Ja1TDpbyYvJqsHop0D1TtUukFCjYG9OKBNA.cache +0 -0
  183. data/test/dummy/tmp/cache/assets/sprockets/v3.0/KKi6MLLwJpr-dr8N7GfPIlI9iSrszbOfHf50xUxd4PE.cache +1 -0
  184. data/test/dummy/tmp/cache/assets/sprockets/v3.0/KLRzf2U393VZ3HQkqi8VjxQ3wmLKmRO8wqrcfM1w0QE.cache +0 -0
  185. data/test/dummy/tmp/cache/assets/sprockets/v3.0/KTagD8moutfKzQXXaxT7FRxqTj2RsD7RyvHNQQXnT6U.cache +0 -0
  186. data/test/dummy/tmp/cache/assets/sprockets/v3.0/KVIpPGQlAbPB7QDf4HF7zoReUpf4XS_F7AxmRHqu9Rs.cache +1 -0
  187. data/test/dummy/tmp/cache/assets/sprockets/v3.0/L8ugpmOU9W8eW-gNlxLEUfvpl_YlGhfMjyU6JaMFihI.cache +4 -0
  188. data/test/dummy/tmp/cache/assets/sprockets/v3.0/LKqpB-4fW_tpkLHvml7opyPaEL_hu5pPzbW5ORsmrYo.cache +1 -0
  189. data/test/dummy/tmp/cache/assets/sprockets/v3.0/LMKsQ62ra--uyBXoAb94_nQrqevk-9qAJUjlryaDzfI.cache +0 -0
  190. data/test/dummy/tmp/cache/assets/sprockets/v3.0/LY5EnPcvEjkLx2FgVltf5BnVzHpASPgTaRJcisUw4uI.cache +0 -0
  191. data/test/dummy/tmp/cache/assets/sprockets/v3.0/LcgVcIlxhy9vT7OpVrjr53vQUWdBvhAhypzOPY-3r90.cache +0 -0
  192. data/test/dummy/tmp/cache/assets/sprockets/v3.0/LkNoONCNq2UPevxSKdP0i0Ki0A_KlW4j0uDD0xg0MmA.cache +0 -0
  193. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Lqi5vZsMHqOHrbDAQBchC2IqX8jfjCb6aCm7sOCI430.cache +0 -0
  194. data/test/dummy/tmp/cache/assets/sprockets/v3.0/M4T3vrHDuXMdv6Fg8J4OKFi7owm-Y7cS9-M0CM6kscM.cache +1 -0
  195. data/test/dummy/tmp/cache/assets/sprockets/v3.0/M6Cma1yMs7diNoZKmIkphuCxSCidkUQkPJdazTw1wAs.cache +0 -0
  196. data/test/dummy/tmp/cache/assets/sprockets/v3.0/M6fbxInBt81J8jxWpYScSyeIPufN45PwNwYcsqPrR18.cache +1 -0
  197. data/test/dummy/tmp/cache/assets/sprockets/v3.0/MAsAAfz5fYIYNvglWCPdiKu2uyCtoxDA8qx11g6FsuE.cache +1 -0
  198. data/test/dummy/tmp/cache/assets/sprockets/v3.0/MigGpeua-SLGzqW_7XZbEcDOjQoh7RpGy76_9m2y2UY.cache +2 -0
  199. data/test/dummy/tmp/cache/assets/sprockets/v3.0/MsTUKee0ZD-yZDzkVPEWvEARH50filG25Ns0maCK6HQ.cache +0 -0
  200. data/test/dummy/tmp/cache/assets/sprockets/v3.0/N4e66rflw6asEGVVZVK7zKTHJ0Rc2RvAz_mJVu-p8WA.cache +0 -0
  201. data/test/dummy/tmp/cache/assets/sprockets/v3.0/N7QB0-ku4FR4vPcOpHQPRwsaLwerAW_FVASSMtxqF_s.cache +1 -0
  202. data/test/dummy/tmp/cache/assets/sprockets/v3.0/NE3U5dr5hpFtRGutiIho678AYjiIt57JAzUiSTu1Gos.cache +2 -0
  203. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ne4Zslbu34-G_4xa2qnRT7uwepKJeVX2mKYULBND4dQ.cache +2 -0
  204. data/test/dummy/tmp/cache/assets/sprockets/v3.0/NrU2YhM4Qh_wW4tG7Agk_DWAQFdlUGM356xPAKFQW7M.cache +0 -0
  205. data/test/dummy/tmp/cache/assets/sprockets/v3.0/OAikTS6UZe_3GqN1fYDdGXywljRGfgBnppwSNje90bk.cache +1 -0
  206. data/test/dummy/tmp/cache/assets/sprockets/v3.0/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache +0 -0
  207. data/test/dummy/tmp/cache/assets/sprockets/v3.0/OLb_fDl2Dfv6jexI75EunO8DWM1Bk2U69Y21LDRfmJ0.cache +1 -0
  208. data/test/dummy/tmp/cache/assets/sprockets/v3.0/OWXYtDqFAywkxFGAElJovXtVrfuj3ebuL-Bih8BuWgo.cache +1 -0
  209. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ozyo_xyamUe0yZI2Z1VxmPqKk2sJzkXLRHHU2cUmNQw.cache +0 -0
  210. data/test/dummy/tmp/cache/assets/sprockets/v3.0/P16Q_YA5ylmkg_GCpQVvALYWnIt6NZ7DvoDkNhzTl1A.cache +1 -0
  211. data/test/dummy/tmp/cache/assets/sprockets/v3.0/PhCYe7l5RmaFI689dA7TPR0X1b3YZhtTxuB-ZBoUmeM.cache +1 -0
  212. data/test/dummy/tmp/cache/assets/sprockets/v3.0/PmwnmlizZPo73wSq1jlfjxwZ-wy9ikOcWT_6REdwQcM.cache +1 -0
  213. data/test/dummy/tmp/cache/assets/sprockets/v3.0/PsvC6BYOif8ZqjcT-pzcbu72TcNxVHd3xA7Sxd9igKw.cache +1 -0
  214. data/test/dummy/tmp/cache/assets/sprockets/v3.0/QAKAmpbCbrKip7u4ce_Gi7pYd7HM8idsXO0UAeJRsaY.cache +1 -0
  215. data/test/dummy/tmp/cache/assets/sprockets/v3.0/QJihi0YXCTu9TZDPBV5J6nu23gOieUKTHQ_H_rR38Fw.cache +0 -0
  216. data/test/dummy/tmp/cache/assets/sprockets/v3.0/QQ9eeF64VkbzxUzqLa__0lXZrW07T1hrSe45JiDSRTU.cache +0 -0
  217. data/test/dummy/tmp/cache/assets/sprockets/v3.0/RC_coPsfjrMWcQ78gwnnJncINBLxouSnaQDree1Ar1U.cache +1 -0
  218. data/test/dummy/tmp/cache/assets/sprockets/v3.0/RIGmmBGxPumSth9yjdvak2rOFWICUKe3UqA-lfHI5JE.cache +0 -0
  219. data/test/dummy/tmp/cache/assets/sprockets/v3.0/SCgNy0pD4dY_qIZHpc59SZ3ujCAFKDFaRuFeFsl_k9M.cache +0 -0
  220. data/test/dummy/tmp/cache/assets/sprockets/v3.0/SOtCihSLXw6pZAlS30GYQOMQZPd0clJ0jtdmlRJGxow.cache +1 -0
  221. data/test/dummy/tmp/cache/assets/sprockets/v3.0/SVobf7ghLuFEzzr-BDhnz1702Pm-9bMMlU4A5tYG5Uo.cache +1 -0
  222. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Sj8Q-J6T5I9cEEvSS5zi81zNVJTLvzMZjNfjcoC3ec8.cache +0 -0
  223. data/test/dummy/tmp/cache/assets/sprockets/v3.0/TCm-N8NRQJNFGRsq3KmlfTt6GMLMcV262qEiLlknDN0.cache +1 -0
  224. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Tgw-iZOfdNu8sqSAiW8VCfhItpTbQpmq9_rsnxLI-tw.cache +1 -0
  225. data/test/dummy/tmp/cache/assets/sprockets/v3.0/TnTPlBCE7kD4vqBh53MAipjcf6w_BfpJ5ePhADsBW-w.cache +0 -0
  226. data/test/dummy/tmp/cache/assets/sprockets/v3.0/USwWZqABZ7UPJ-3jCA93GQoeAHLjwdzzoSkUaj08y6E.cache +0 -0
  227. data/test/dummy/tmp/cache/assets/sprockets/v3.0/UWi448nl23X2wGcTEIY7JTByIGou0H5f4zO0m8mIkN4.cache +0 -0
  228. data/test/dummy/tmp/cache/assets/sprockets/v3.0/V0-49kHimjKaRaRv0FeXzmDpw61GE0_eOAiiKVuvSN8.cache +1 -0
  229. data/test/dummy/tmp/cache/assets/sprockets/v3.0/VBNR2J1B_PrW4Rp_BhVyTY1KPjbpRjyMwnzaGD9Nijw.cache +0 -0
  230. data/test/dummy/tmp/cache/assets/sprockets/v3.0/VIkgZF4XPq108I0AUUYud17pMtQ0MuoUqctWXExb7m4.cache +0 -0
  231. data/test/dummy/tmp/cache/assets/sprockets/v3.0/VSbngpP08vL9He1C_15791gtJsOFz8rLzSbDhoTeDvk.cache +1 -0
  232. data/test/dummy/tmp/cache/assets/sprockets/v3.0/VaGiS4CKzgldEdes8m1euMeZQk6iajqxSgppK9kS580.cache +1 -0
  233. data/test/dummy/tmp/cache/assets/sprockets/v3.0/VlNk7D8Ndkl457LNoYxOt0pYRa3m-iQ0UC2cs6cpTQs.cache +0 -0
  234. data/test/dummy/tmp/cache/assets/sprockets/v3.0/VvQVGj7XuAOpQkD0B_ETLRMARqs6BS-F7uzjjV1IoFw.cache +1 -0
  235. data/test/dummy/tmp/cache/assets/sprockets/v3.0/WBrqQBKEmgyzchq2RxAWhydYoLXqeTk-WoGl0NJGKQw.cache +1 -0
  236. data/test/dummy/tmp/cache/assets/sprockets/v3.0/WYtIkVcMUqdsOe4JMMw4OMWm4DNa_cRkSXeQg7R9Kj0.cache +0 -0
  237. data/test/dummy/tmp/cache/assets/sprockets/v3.0/X2cWZXc43W76-YiJ4LYZsrLS3TT_MbYWHHzjLn4kVKs.cache +0 -0
  238. data/test/dummy/tmp/cache/assets/sprockets/v3.0/XWkbqr5QkMu-aHffHMdSg6xh22lI1_b6kg0f1kVz9rY.cache +0 -0
  239. data/test/dummy/tmp/cache/assets/sprockets/v3.0/X_VES5DNRbkM8t0U7-Gf9aac_24hgdnQSVDZR6qiDUQ.cache +0 -0
  240. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Xb-4lEMf0EMnSauBmz0kVwfi8e8h4eoPh_Cu-SHgpkc.cache +1 -0
  241. data/test/dummy/tmp/cache/assets/sprockets/v3.0/XpJSTbl4fbWpTJUeHVdEvs9fq1z0s7i-l8n_RuM6zQc.cache +0 -0
  242. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Xy_yOiWaduqzy81I-YZkGLcI54cSIAeEwi9mVAONOGU.cache +1 -0
  243. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Y3f_TNfTpoxNx71_X74-SUiCW1Tpa-l3boRsuUe4kpA.cache +3 -0
  244. data/test/dummy/tmp/cache/assets/sprockets/v3.0/YBQRixGGbPV7cU-XoI7N7Wn0rEawCbK6fgogJHM1jiQ.cache +3 -0
  245. data/test/dummy/tmp/cache/assets/sprockets/v3.0/YH0EEOhHF8QJsoDS8biu45Eb-Qj8cVbrtghYEdD7ghw.cache +1 -0
  246. data/test/dummy/tmp/cache/assets/sprockets/v3.0/YQxneH2j0Ud0ARtxAqaWwRBh02hzhil2Zmz8wfZQJ08.cache +1 -0
  247. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Yh9cABZVyzqA2fHH2ckpQbgRqwC2HSS1lJ5qrI_a1b8.cache +1 -0
  248. data/test/dummy/tmp/cache/assets/sprockets/v3.0/YqTp3BVkp66ZpMG2Fm79vV8LEANtus8USWNgTz0WpFo.cache +0 -0
  249. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Z6fERkMZYHePL7NIOcQZKP7910-E3uiNK0ESVNdK-T8.cache +0 -0
  250. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ZDm9HEJzomOKXyyZsgxOO2C2pNlkmfz5uGZ7HxiDzGU.cache +1 -0
  251. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ZItMJsZGH5KTr3SD91MfAZhvV3r7XaBhpU_PI9TqqrI.cache +1 -0
  252. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ZqkXG4-dsaKNccfu3FcDxJBkYBx8X34k_ce8myOzTrE.cache +0 -0
  253. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Zt-2jaJcd5DZWo8gzahtYAt4MFv2u7Sfp_u52OUTu3Q.cache +0 -0
  254. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_Ii3SxthOmdOIY21Fr7uU8BZcuasShIr4iZptjf3Dvk.cache +0 -0
  255. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_IrBUFJCtjx3Dy8Y6o8kWmmoAxnaEgj4dJPVehtu1Tg.cache +0 -0
  256. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_MUgI8B2s_FOuQBwBOorKneWTbVIljHxSPN2VBuT3sI.cache +0 -0
  257. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_YgtjiJXHIIZDbhNd-LpRJIWPr7UaSd2Eml7JeHYepE.cache +0 -0
  258. data/test/dummy/tmp/cache/assets/sprockets/v3.0/a1nL81soR44tH3G6oJtevx9T_W01lWClFYR-OYF_DQ4.cache +0 -0
  259. data/test/dummy/tmp/cache/assets/sprockets/v3.0/a5PN4OnixFYOtukRpbEvkUgC6HvQWyJZ6nJIhUHdcYw.cache +0 -0
  260. data/test/dummy/tmp/cache/assets/sprockets/v3.0/adzZYWMcDWL0JuFdGad-X24qZCEg0cv6RQdWSuhj9Uo.cache +1 -0
  261. data/test/dummy/tmp/cache/assets/sprockets/v3.0/afqhqlE0SvCqu0CqG6b1NgO59OjNxQGxLuAa5x5FIss.cache +1 -0
  262. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ass7AwdZ_Q6K8aNTX2zeSnT-PlnwRddIoaTMLfsw_uI.cache +1 -0
  263. data/test/dummy/tmp/cache/assets/sprockets/v3.0/avxhob66j6ksE59f75Ma56JQdqyXdd64HhDuZh4xhtI.cache +1 -0
  264. data/test/dummy/tmp/cache/assets/sprockets/v3.0/bCNEU1ynNhvgduB973fNhdrkG9ipEytHj6KrvmFr2t4.cache +0 -0
  265. data/test/dummy/tmp/cache/assets/sprockets/v3.0/bMySBSlPk995lhQO-l7b0a8fta4yq-BtFIPC0ZXkKOE.cache +0 -0
  266. data/test/dummy/tmp/cache/assets/sprockets/v3.0/c-c6hbRb0UVVOl_yHo418R9hfc3zTthb20BAVbi6SnA.cache +0 -0
  267. data/test/dummy/tmp/cache/assets/sprockets/v3.0/cJEQVnLR2r25p0QIoIZyZA_Nee3Oek04liRvpAkaJ5o.cache +1 -0
  268. data/test/dummy/tmp/cache/assets/sprockets/v3.0/cNue3qGzns1SNQH1Kc3VD7UuS9akfnQk0-pjdSnLnCs.cache +1 -0
  269. data/test/dummy/tmp/cache/assets/sprockets/v3.0/crxEbXw4VF8P_NVdJZgxDc8nb8AsF7VlQKOEXi74GQE.cache +0 -0
  270. data/test/dummy/tmp/cache/assets/sprockets/v3.0/cwxrjUeD7kb4osDJ1vqsR78VI4wuADafeS64riVIz7Q.cache +0 -0
  271. data/test/dummy/tmp/cache/assets/sprockets/v3.0/cyC6flIS6zWzfxVo9WFg9MQhMac_KFA75HPag3NbzDM.cache +0 -0
  272. data/test/dummy/tmp/cache/assets/sprockets/v3.0/d1a_-PD3FCKbRPobxe5Y_dGpcLc2kkCklvFteNP79Fc.cache +1 -0
  273. data/test/dummy/tmp/cache/assets/sprockets/v3.0/eC2i6qxP9st3qGv2oRd6f2TOU3onTmfhBVsxDRZid0o.cache +1 -0
  274. data/test/dummy/tmp/cache/assets/sprockets/v3.0/eJi40RfL0xwb5BgGAWyVbpjpvSCwIJ2gC5Gy5ssR_TI.cache +1 -0
  275. data/test/dummy/tmp/cache/assets/sprockets/v3.0/enKnlyDZ1cusAP8qLEUBqrHu8RD5ZMVAz1MjTcmskt4.cache +0 -0
  276. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fOYzxW-wOkRgEwIzo367a_g36kwtc7dkwAggaQW8NnE.cache +0 -0
  277. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fQnCwWrX9nPbRhmUsD-onMitWTsI2Hu8lospJi789ik.cache +1 -0
  278. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fSiIY5vC94k7ShtpmgzC2uxjTJrysmI_JSLCVkldVtE.cache +2 -0
  279. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fe1tJBK8BOYoZ6kvlNSUguKLhnGU0_dVhOVS7GkbexI.cache +0 -0
  280. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ff7lDF1BNYau6Asgy9iRz-sDQPKbisAwkK-p-szBbHc.cache +2 -0
  281. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fhnxe9RxwQ0KOUIL78HNtGgY2AweE3cU_rEUKYxnL0U.cache +2 -0
  282. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fiPmY2ENMTR6RnFaZWDX47QXP3FGwV0uBuRCBq9VVtE.cache +0 -0
  283. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fu29IVYTH5-I2TT1D-h3TQOLXlvZQX52bcCID9hhb24.cache +0 -0
  284. data/test/dummy/tmp/cache/assets/sprockets/v3.0/gALsCSMHNkFYRLA9p_uzeZqPVHjfRjq62JVmSHLf2Eg.cache +0 -0
  285. data/test/dummy/tmp/cache/assets/sprockets/v3.0/gZp3uXMHuYQC4hzCr7bQfetKNdJAtbQmg3so2KpW1Dw.cache +2 -0
  286. data/test/dummy/tmp/cache/assets/sprockets/v3.0/gdjQUKjgFXpnoAeXI9qyXzheAVKvRwkNskM86A62HwI.cache +1 -0
  287. data/test/dummy/tmp/cache/assets/sprockets/v3.0/gdqDQcO3UMCdaWZzNTwUNpF1pFZZKiGIAvbU1GxGD_c.cache +1 -0
  288. data/test/dummy/tmp/cache/assets/sprockets/v3.0/gsN3jeRSlLUQHdG2OdvnTfuDXaRwXicCtYNwWfDjrio.cache +0 -0
  289. data/test/dummy/tmp/cache/assets/sprockets/v3.0/hDwKc18dXlg8r7BmKEUrOtnslJvigDJXbq3F3-NMnbc.cache +2 -0
  290. data/test/dummy/tmp/cache/assets/sprockets/v3.0/hTNKjYGssdhsHsm2DHn6y4RdO4zeRLwZx9e40Ecy1RI.cache +0 -0
  291. data/test/dummy/tmp/cache/assets/sprockets/v3.0/hZi1k6tpxxCGYxRe7zY74ItcOI8gZrREOpGuA8JSpGg.cache +2 -0
  292. data/test/dummy/tmp/cache/assets/sprockets/v3.0/heHJw4pc99zx9s8Dr2W8SAvOZ4taqj5l4UkS3mNjh1A.cache +1 -0
  293. data/test/dummy/tmp/cache/assets/sprockets/v3.0/i6BB9rdbHA1bUTre3qCmGKyT7troJOjUiY4Jr_6LA4M.cache +0 -0
  294. data/test/dummy/tmp/cache/assets/sprockets/v3.0/i8pno6bmmXm7OwJgVS8dbsog4y1P4j-DExvSuJxvmJk.cache +1 -0
  295. data/test/dummy/tmp/cache/assets/sprockets/v3.0/iT4WUO-ycX_8x-vlZmYfSIOuHF38zVQwZ7t0lH844-4.cache +0 -0
  296. data/test/dummy/tmp/cache/assets/sprockets/v3.0/iTX2Qgwtl7-xax0dmlj9na2XVTG64dWJEGYp5mGRBEY.cache +1 -0
  297. data/test/dummy/tmp/cache/assets/sprockets/v3.0/iZljKkw8QdW8_tQPjLFjvLnWi29okVx_U0xpqiK20f0.cache +0 -0
  298. data/test/dummy/tmp/cache/assets/sprockets/v3.0/irGj8cyqwNhqWNA1CYoBuFUgxUf5hKnX-ZI7V5Tr0ec.cache +1 -0
  299. data/test/dummy/tmp/cache/assets/sprockets/v3.0/iztahfec3REkXYqOiJ177SZEQBWayhd_-6VayTjMCjc.cache +1 -0
  300. data/test/dummy/tmp/cache/assets/sprockets/v3.0/j1LVMhBGB12zQkNGg2w0rYSCC0bEMADJiQ9Fqz7Ng88.cache +4 -0
  301. data/test/dummy/tmp/cache/assets/sprockets/v3.0/j4-_TNuamChdwU70Ol5zs_kbf2K4WC4Q2r8jY4OvbDU.cache +0 -0
  302. data/test/dummy/tmp/cache/assets/sprockets/v3.0/jHRaZreRHAyyxpghBlMjTO57RYj6EI03HBIV_tAH4AI.cache +1 -0
  303. data/test/dummy/tmp/cache/assets/sprockets/v3.0/jO2yLail_52oABk6QHeb1QkWbe24mo21haTrvK0vIjc.cache +0 -0
  304. data/test/dummy/tmp/cache/assets/sprockets/v3.0/jT7lFNjn40dKUIa-e_YQpPQ6kCWDCY7E-HulSLm2NC4.cache +0 -0
  305. data/test/dummy/tmp/cache/assets/sprockets/v3.0/jbu5891mx0f1bjNp8Wic87by9kagjt32XP_nl-bmqWc.cache +1 -0
  306. data/test/dummy/tmp/cache/assets/sprockets/v3.0/jmOrNXvfTDa-lOUn_P_DY0qEqNHGupLdv_Ji0uox0X4.cache +0 -0
  307. data/test/dummy/tmp/cache/assets/sprockets/v3.0/kP4Q6SSuHjW_jFEVHzE_rFB10v1na_JCA_v0N6FTITA.cache +1 -0
  308. data/test/dummy/tmp/cache/assets/sprockets/v3.0/kkOzcIXwzP1WpMytVfgyAZQivL6UFQeDsSIjOtRslUY.cache +0 -0
  309. data/test/dummy/tmp/cache/assets/sprockets/v3.0/kzsfJdAqL_VxX28nKaZwaPEGo3sqjLwsAShio43GvfI.cache +1 -0
  310. data/test/dummy/tmp/cache/assets/sprockets/v3.0/l-sQmhpuZlMvG-aHnRyDHsNJcRKdV0zlD8CLPp7NdHo.cache +1 -0
  311. data/test/dummy/tmp/cache/assets/sprockets/v3.0/laMHEMvvdXWsWXOUtX-peBoW2xoPtzKplJZTB6sGRrg.cache +0 -0
  312. data/test/dummy/tmp/cache/assets/sprockets/v3.0/lc1eqriYSu2r4D3OvDFGzxiYqzM5Y23FseklcyCqwjM.cache +0 -0
  313. data/test/dummy/tmp/cache/assets/sprockets/v3.0/m-LELDvYM76vYwf8yPB-Vz6fp7f8ABkmHcUM-D1dqf0.cache +0 -0
  314. data/test/dummy/tmp/cache/assets/sprockets/v3.0/mEO0vw2qvMN1X4vMR1KO8eOa-mUHQWaLgS_R69Fg_HM.cache +1 -0
  315. data/test/dummy/tmp/cache/assets/sprockets/v3.0/moI2zCk1bAkb8F_v666U23glvZHc9KFH55R5F2Nj9Rk.cache +1 -0
  316. data/test/dummy/tmp/cache/assets/sprockets/v3.0/n0Tu3EOX5KtHL-Ne9DPWLAaOZWhNE_an8XFt8q1OooM.cache +1 -0
  317. data/test/dummy/tmp/cache/assets/sprockets/v3.0/n0te4ySIbJ4LNMOt6zdzN5JNCjRR9Tr4Ck83IzlxF1o.cache +1 -0
  318. data/test/dummy/tmp/cache/assets/sprockets/v3.0/n9f72U1Pfs40dcQjQRy_JgvBQq2spoEBbfWS23saH9k.cache +1 -0
  319. data/test/dummy/tmp/cache/assets/sprockets/v3.0/nMZ5k7oPOIci0QLN_HolLD2s6CtskpajfvYgoUOFclo.cache +0 -0
  320. data/test/dummy/tmp/cache/assets/sprockets/v3.0/nOTtg3EYTHBi7Br81G1taWP5FOPvxw2ID7iFO3cizj4.cache +1 -0
  321. data/test/dummy/tmp/cache/assets/sprockets/v3.0/nio8XuvCzwMOX8srU5Sey74sA1R-gUdNrb0fZisYLwE.cache +0 -0
  322. data/test/dummy/tmp/cache/assets/sprockets/v3.0/nitQNdwWUSv3G2z4aQXh0Tda5ViS5MW4ljbh_EsasEs.cache +1 -0
  323. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ompUzgaB0qfmoE6djKuHjLjMYlToLX0_lb6iFwWPO0o.cache +0 -0
  324. data/test/dummy/tmp/cache/assets/sprockets/v3.0/oxERuzx-uXIJwjYORxwNa9WHpTcq17klVL-7wYcVLVs.cache +0 -0
  325. data/test/dummy/tmp/cache/assets/sprockets/v3.0/p7EIcidBB3P2aJehbr_9i5nlvhK4SMcY76zsHEs-EAo.cache +1 -0
  326. data/test/dummy/tmp/cache/assets/sprockets/v3.0/p9AYwwuir9WiDgyQxCGeKL4wvBHFj6TxnuVMuf_WPig.cache +0 -0
  327. data/test/dummy/tmp/cache/assets/sprockets/v3.0/pEhaat2KBd5SrT7szC_8R1_6hK17FTpvoRFkmCRSD3M.cache +2 -0
  328. data/test/dummy/tmp/cache/assets/sprockets/v3.0/pFnCVy-D388uqNAJtLNW99XwjEjsAKwp9wd9yoAvHq0.cache +0 -0
  329. data/test/dummy/tmp/cache/assets/sprockets/v3.0/pIl-ZjvFPFiviK0dFwed9ajlaq7X2XHegQ2tqhxoPOY.cache +0 -0
  330. data/test/dummy/tmp/cache/assets/sprockets/v3.0/pNDnudvlxCfiwelGEXutXnZrnAah9Ea-u2hM-gHYvcI.cache +0 -0
  331. data/test/dummy/tmp/cache/assets/sprockets/v3.0/pPuvsfG-i0X2t48cHOiALXfs5xq3KOxoOfkV3oSgF6E.cache +1 -0
  332. data/test/dummy/tmp/cache/assets/sprockets/v3.0/pmwVuIVJC-uyOk5iakUZaTC1Bk8HfTEXSRpK_IPayU4.cache +0 -0
  333. data/test/dummy/tmp/cache/assets/sprockets/v3.0/q4kVSMTCwGbyfnM7exRePMaa8k2D_BDH8Qorh4sAA6M.cache +1 -0
  334. data/test/dummy/tmp/cache/assets/sprockets/v3.0/qDeGUVu2kiDhWU93YQFKZX-d1Az6amQ9Tqc8uRADWmU.cache +1 -0
  335. data/test/dummy/tmp/cache/assets/sprockets/v3.0/qKfBsKgOj5YRSdUi_x9sQSnTJYfzWWLzN1tYmspYUq4.cache +0 -0
  336. data/test/dummy/tmp/cache/assets/sprockets/v3.0/qdLsnHdgCfZ1stwBKhIyWFFjOcx8hmytg1crlU7dnYc.cache +0 -0
  337. data/test/dummy/tmp/cache/assets/sprockets/v3.0/qflaeiDYybzUcUvVUdvEWohlQ2PhAjN2NBEOGh9msO8.cache +1 -0
  338. data/test/dummy/tmp/cache/assets/sprockets/v3.0/r1ttg8_BUpfuwJ7zGEMrvN9F33bzHBWqJS4iG8RHqBQ.cache +1 -0
  339. data/test/dummy/tmp/cache/assets/sprockets/v3.0/r38Lkbe5xbu8xM3XByDS96zgpDE-DnAT_M9NIBsFG2g.cache +1 -0
  340. data/test/dummy/tmp/cache/assets/sprockets/v3.0/r8VvhJdWkyi3y0I4ilHxADozvy_tGy-L_aj5PxZkIoY.cache +1 -0
  341. data/test/dummy/tmp/cache/assets/sprockets/v3.0/rRa2vlPo4Ul8PyNYsBB-Ju3wJPnscp0gTrtPpqRB3go.cache +0 -0
  342. data/test/dummy/tmp/cache/assets/sprockets/v3.0/rU37Vggb1_PUq_RVIjpUr4BEujPSmuN67UZajCBeKRk.cache +1 -0
  343. data/test/dummy/tmp/cache/assets/sprockets/v3.0/rb4lULLCosykmgGHYQMNcylKa8vlCIDisGukkSVh0ck.cache +0 -0
  344. data/test/dummy/tmp/cache/assets/sprockets/v3.0/rbwjVGbFWjhEe7CLbEx5jI-CZVQqCIKodbE6b3sV0Ic.cache +0 -0
  345. data/test/dummy/tmp/cache/assets/sprockets/v3.0/sBHNjNmyMnbCYkzU57b_MZqRt6olb6wU9PgOP549hz8.cache +0 -0
  346. data/test/dummy/tmp/cache/assets/sprockets/v3.0/sPCcHyXfq9h7dcrYghpzuUvrPlLkFOvhQMnYzI9ZNTo.cache +0 -0
  347. data/test/dummy/tmp/cache/assets/sprockets/v3.0/tLPCwd4Zv4NpM8O2FoW5ZPTndkXgcaeu6hHTePyJtXM.cache +0 -0
  348. data/test/dummy/tmp/cache/assets/sprockets/v3.0/tO-BgSV5XmwbABZv8ZoO7Eg-b6Anwy-FskCU9EuWR3g.cache +1 -0
  349. data/test/dummy/tmp/cache/assets/sprockets/v3.0/thyVTP5iJu8IVW9_bflYV84NbjHzg-GxQ8H7b7WmeTY.cache +0 -0
  350. data/test/dummy/tmp/cache/assets/sprockets/v3.0/tq2bmTazBvjgzcGkT_34r5hen_S5LEXswTC7If6JAhI.cache +1 -0
  351. data/test/dummy/tmp/cache/assets/sprockets/v3.0/tsYKujSV2SL_qwVGC6T0pXbAxapUUBCNTIGabFXz32k.cache +0 -0
  352. data/test/dummy/tmp/cache/assets/sprockets/v3.0/tzS7uabJU0pXG3voZJIVODIYxSY0JxI3AsVf6MmYesA.cache +0 -0
  353. data/test/dummy/tmp/cache/assets/sprockets/v3.0/uGFq1qoem2wF91zoCMZXAcfaOBBGP__u-MQ7EsaUAEw.cache +1 -0
  354. data/test/dummy/tmp/cache/assets/sprockets/v3.0/uK6bUitNr9x7VSukvoIIcgJw-MdWfh1V5sHSN6pEFZ4.cache +2 -0
  355. data/test/dummy/tmp/cache/assets/sprockets/v3.0/uUHAP7fkhl4fKz5rdARquQXHeWcpk1liDspZAQ6q2tQ.cache +1 -0
  356. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ueIAsGxgF7eS2icrAdy40UbkobzFV490P2EH4UfGbUg.cache +0 -0
  357. data/test/dummy/tmp/cache/assets/sprockets/v3.0/uf2r46HQLK0mxrYlp4tAqENE9WNasZxu9YbgLTRjVJE.cache +0 -0
  358. data/test/dummy/tmp/cache/assets/sprockets/v3.0/v1oBUZWMY8U8B89h-MbFIxKBe-P0B68m1CxFr3Oc9mI.cache +1 -0
  359. data/test/dummy/tmp/cache/assets/sprockets/v3.0/vDMpyTEPvqj1tD2NGoEG7xTYSvxIoMizpcFp_bPAllY.cache +1 -0
  360. data/test/dummy/tmp/cache/assets/sprockets/v3.0/vDcnY7D2RZYYAXjcAtU78fw5moXXfYTpGBIhXlaZ0Ao.cache +1 -0
  361. data/test/dummy/tmp/cache/assets/sprockets/v3.0/vOoo8ZvzE7ZqCZB9sU01kivdOVyjw7FknMG1m4GVwRg.cache +0 -0
  362. data/test/dummy/tmp/cache/assets/sprockets/v3.0/vVhvfc4MucIRLRfIEzbehsabFOspTn4VwMXZX4p7B-o.cache +1 -0
  363. data/test/dummy/tmp/cache/assets/sprockets/v3.0/vlNUuQpkMG4YwAvaaz942fud03yemvGoa6VFKe2cqGE.cache +1 -0
  364. data/test/dummy/tmp/cache/assets/sprockets/v3.0/w-LdUR7Copwxv__j0BiZ0fpXSPVuNq6fteigQ5Eab2w.cache +1 -0
  365. data/test/dummy/tmp/cache/assets/sprockets/v3.0/w3SVOStSIUhvee-gn-NQRui7OpTePzi8tx_QL5cT_o4.cache +0 -0
  366. data/test/dummy/tmp/cache/assets/sprockets/v3.0/wLn_LW2R9M365b1aBZxOMUeAzD3OGpEx1LRBG_Ng-98.cache +0 -0
  367. data/test/dummy/tmp/cache/assets/sprockets/v3.0/wUrD3kA8ko_BFe7uP02lHw1_drN1yvGSpeigZXTrTuk.cache +0 -0
  368. data/test/dummy/tmp/cache/assets/sprockets/v3.0/wZ2ecVSS2hg2feCmfuvuL0esbmNAqFQ-9KE4Z_qvee0.cache +1 -0
  369. data/test/dummy/tmp/cache/assets/sprockets/v3.0/wjXH4yeJVkouolTlHmRT5lw2BbzK8zgfrxsee797R4E.cache +0 -0
  370. data/test/dummy/tmp/cache/assets/sprockets/v3.0/wl_d2mz5lW-_mQYHxUyffqq4r_IlNRoId0__S0TELww.cache +0 -0
  371. data/test/dummy/tmp/cache/assets/sprockets/v3.0/xIwxHmCHZqNpdLYPnCDnd4S91zgikLCSCVLLDNK14E8.cache +1 -0
  372. data/test/dummy/tmp/cache/assets/sprockets/v3.0/xQV8cTNXx6YN-o_yLJTjMazxafKp9EmPq0kq7-HrmYM.cache +0 -0
  373. data/test/dummy/tmp/cache/assets/sprockets/v3.0/xnEKGDj17y2qvP7nIqW-MVkrHdNhltw7TW-eu7sB1qs.cache +0 -0
  374. data/test/dummy/tmp/cache/assets/sprockets/v3.0/xrB94PoxGermzmHsjuAnOimhCbOAcEAf5lSq3ITzrS4.cache +0 -0
  375. data/test/dummy/tmp/cache/assets/sprockets/v3.0/y2IvJQJMMofcPH5AD2Lh9_e1EFdLKRomlwyfrhH5FjQ.cache +1 -0
  376. data/test/dummy/tmp/cache/assets/sprockets/v3.0/yivUwS-Un2NnPjW5aWEVYRPUs7EnntOS1yDXgGusl1k.cache +1 -0
  377. data/test/dummy/tmp/cache/assets/sprockets/v3.0/z4GEx0zKoSsxv7shvv7rK3Mkk-P1IWkezP_JQMISk0U.cache +1 -0
  378. data/test/dummy/tmp/cache/assets/sprockets/v3.0/z5dp3YdXOGKedMJLaPnWooVd827mf0BatDDZ-IeRH8k.cache +1 -0
  379. data/test/dummy/tmp/cache/assets/sprockets/v3.0/z7mfZdRuZLaC8yzApFJ2nQJ1ia7d1vJkKdGNBvkSay0.cache +0 -0
  380. data/test/dummy/tmp/cache/assets/sprockets/v3.0/zFnz3R6TaDCtmhQSNDVuH1Kws4lPVtkOSF57Unmgz1g.cache +0 -0
  381. data/test/dummy/tmp/cache/assets/sprockets/v3.0/zZmgG5r9Or2N_Q1bjTNvRk7keuEQ8FSVJRdwHryTlQY.cache +1 -0
  382. data/test/dummy/tmp/cache/assets/sprockets/v3.0/zmoVEsD3PMerM7_1ulzpRNb1u-HZneAn1BVceuy6URI.cache +1 -0
  383. data/test/dummy/tmp/cache/sprockets/v3.0/-nWxAyXJm2cKl-jOdzUvios5zuP38pHO6WDYl8rl9EQ.cache +1 -0
  384. data/test/dummy/tmp/cache/sprockets/v3.0/2U2PJqTMl37_LbRvs2XNt239TAPm5rm724FtAIpSdj4.cache +0 -0
  385. data/test/dummy/tmp/cache/sprockets/v3.0/3jTnpsHbx_LSYEITv2v_CTz3lf85VaBmqtKUK-ySgfM.cache +1 -0
  386. data/test/dummy/tmp/cache/sprockets/v3.0/3kSus_hxECclFtyIA7tN_45OHC4pS3UVtp1pl9r4RBA.cache +0 -0
  387. data/test/dummy/tmp/cache/sprockets/v3.0/46hYboPTE4z2C9aLiE6XcCy6YuVaJAAfAO22RaBeB9g.cache +1 -0
  388. data/test/dummy/tmp/cache/sprockets/v3.0/4FoptxRaFHSLisJi8eZdlyNs11At8W6y7OkeTeXttcY.cache +1 -0
  389. data/test/dummy/tmp/cache/sprockets/v3.0/4uf06uOkrq131eaxrEii1zkvmWZDnnaz6ol8CSMQcZU.cache +0 -0
  390. data/test/dummy/tmp/cache/sprockets/v3.0/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache +2 -0
  391. data/test/dummy/tmp/cache/sprockets/v3.0/5TzYmONEI2HYkxGdPZU9iJFCuuoe70CB-i-w-KEHZv0.cache +2 -0
  392. data/test/dummy/tmp/cache/sprockets/v3.0/6QzJAMpwPAPcS7OfIgQLDWAKgAQTEwRVCkRA4SpMOFI.cache +2 -0
  393. data/test/dummy/tmp/cache/sprockets/v3.0/9eH9rwl27BRbe5Gcin0NwKURmXcJMfOqv5Eh-QlfkcM.cache +1 -0
  394. data/test/dummy/tmp/cache/sprockets/v3.0/ADjeuph3UfkMq86hnE1eFCmqAg4YOmWOvwxcDBcg3uk.cache +1 -0
  395. data/test/dummy/tmp/cache/sprockets/v3.0/B1UYbIDTD89kh3kOE8Pd2ze6SoR-jmfPkbzIka1NxJc.cache +1 -0
  396. data/test/dummy/tmp/cache/sprockets/v3.0/DDG6Y-qI4kx7uVzf-Es79WvY5n_OMkgAhXnUmbaQ7FM.cache +1 -0
  397. data/test/dummy/tmp/cache/sprockets/v3.0/DSOLSc6A5RVSmvM415eEWAWG_AgOvZcLZOXQjsXyWQA.cache +2 -0
  398. data/test/dummy/tmp/cache/sprockets/v3.0/DmmfrCpXtt74Hr6NO54lxyOCDv6klnDyBqeDFR7oDU8.cache +2 -0
  399. data/test/dummy/tmp/cache/sprockets/v3.0/FDT3ct5HC__IzQXCp_3qnZ3XH0YjfLXr7CgXfHI6qW8.cache +1 -0
  400. data/test/dummy/tmp/cache/sprockets/v3.0/G29Lfpv_i7CfbfcEnpq1-K1HpJedzyfr6U57r0NSfGo.cache +1 -0
  401. data/test/dummy/tmp/cache/sprockets/v3.0/G7b78U6d2Qdz8_0L78NWAI1Xteip2JUhzEj1IrbDY-Q.cache +0 -0
  402. data/test/dummy/tmp/cache/sprockets/v3.0/HLY_lr98JQWKZR1T0HfVR9b8bnOFfDwLlUUDoBTX9xA.cache +2 -0
  403. data/test/dummy/tmp/cache/sprockets/v3.0/Hn71mT0RZldf5jsbV0e8zNh3t2TYuOI0wETefZM9FKg.cache +1 -0
  404. data/test/dummy/tmp/cache/sprockets/v3.0/IW2PK2Hhfz4tugrNNha3xhgBw80649yA4r_S4UQAfAk.cache +1 -0
  405. data/test/dummy/tmp/cache/sprockets/v3.0/Jfxiu7q1mOa1upJHM--__IZL48xZeUDkT77HAU9BDL8.cache +1 -0
  406. data/test/dummy/tmp/cache/sprockets/v3.0/JsKuXk-KJ3KADsupeXtQtgMxfX6_Wsp4UIYE1kLH2Z8.cache +1 -0
  407. data/test/dummy/tmp/cache/sprockets/v3.0/LA4E0Ral8MVhZVeA_2cA4EtrlaKGDqWO0dCJPAKViS4.cache +0 -0
  408. data/test/dummy/tmp/cache/sprockets/v3.0/LJ8nn5EQPxTgM4QrzPGzFsd_kGMtvm0IybnYetC6-kE.cache +1 -0
  409. data/test/dummy/tmp/cache/sprockets/v3.0/M4T3vrHDuXMdv6Fg8J4OKFi7owm-Y7cS9-M0CM6kscM.cache +1 -0
  410. data/test/dummy/tmp/cache/sprockets/v3.0/MhubNbhYzwyIST3_i-pmfNEaIgp6kcMdPwgavLgEKgQ.cache +1 -0
  411. data/test/dummy/tmp/cache/sprockets/v3.0/NMKAlFsVOPqWFTGgXgkgQGsEGEyOHC_GVniAM28_dsI.cache +1 -0
  412. data/test/dummy/tmp/cache/sprockets/v3.0/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache +2 -0
  413. data/test/dummy/tmp/cache/sprockets/v3.0/OSJELDWUoc4-7GNJrnD889JAedEtj2gu-BnVxU8nC_4.cache +1 -0
  414. data/test/dummy/tmp/cache/sprockets/v3.0/OWXYtDqFAywkxFGAElJovXtVrfuj3ebuL-Bih8BuWgo.cache +1 -0
  415. data/test/dummy/tmp/cache/sprockets/v3.0/PIxywRGy_ed5ttgGmQI3RTKoMZklBrkSGwe0pTgnBAQ.cache +0 -0
  416. data/test/dummy/tmp/cache/sprockets/v3.0/QmF6IdYDh8eVKYpt2LARB13bMp08MnfcsYj3oszW7dI.cache +0 -0
  417. data/test/dummy/tmp/cache/sprockets/v3.0/QxqUgRAUYpFprBFRWwmgIC5ovBYJB6nYKL7DhGIcdq8.cache +0 -0
  418. data/test/dummy/tmp/cache/sprockets/v3.0/R23LhhcAT_3b801x2ugnSxakoB-j_y0jJFfUKK372Hk.cache +1 -0
  419. data/test/dummy/tmp/cache/sprockets/v3.0/SBbRMRnEBbofnZy5TOiFIwG6NadGIhZ2vMa7kt3J1mY.cache +2 -0
  420. data/test/dummy/tmp/cache/sprockets/v3.0/TSNbKoJK4nQp9GvphYuh18GLP8NGVhM0VwwuA1r24J8.cache +1 -0
  421. data/test/dummy/tmp/cache/sprockets/v3.0/U2sw1j0LMe3vNlmzFs5Dd7EzRH7iVcBAUz3i62Ky1Aw.cache +1 -0
  422. data/test/dummy/tmp/cache/sprockets/v3.0/Uz-m2TaDHl3WyhmvHbn7HMtb2XF-5v_KP1edVNOeOgo.cache +0 -0
  423. data/test/dummy/tmp/cache/sprockets/v3.0/Wo4UK8e7b4dxGHgLKeVY3MqTY91mp1gdQ1MVcMChgKE.cache +1 -0
  424. data/test/dummy/tmp/cache/sprockets/v3.0/X1KfZOdg3PYCSvHxvqybHmxOLey-PlRn4OFJtlyIbLI.cache +0 -0
  425. data/test/dummy/tmp/cache/sprockets/v3.0/XWkbqr5QkMu-aHffHMdSg6xh22lI1_b6kg0f1kVz9rY.cache +2 -0
  426. data/test/dummy/tmp/cache/sprockets/v3.0/XgEs4crWPXnTxUxKcHbpUoaCI0xHNKSuh_crI0gQEGk.cache +1 -0
  427. data/test/dummy/tmp/cache/sprockets/v3.0/Y399dgpcgqO8UwIZH9zp4MkPDHcMlj4BZsLMSKH_9gU.cache +0 -0
  428. data/test/dummy/tmp/cache/sprockets/v3.0/YKjt2a1R-qkonr4T36XehpSyRNyJfWbs0SZlfnE75UA.cache +1 -0
  429. data/test/dummy/tmp/cache/sprockets/v3.0/YifHlSxjhQiRs7ONffBVKRt6MYN5fBtm5xvyCzazD54.cache +0 -0
  430. data/test/dummy/tmp/cache/sprockets/v3.0/_Evk0n7em6zit2-V04eAlwG_A9LYRJbN-FXEm9ruYQg.cache +1 -0
  431. data/test/dummy/tmp/cache/sprockets/v3.0/_Pxi2f3t1gVgWemdRyaPCd82Z6-wj_co_2KE_QUJL78.cache +0 -0
  432. data/test/dummy/tmp/cache/sprockets/v3.0/a5PN4OnixFYOtukRpbEvkUgC6HvQWyJZ6nJIhUHdcYw.cache +2 -0
  433. data/test/dummy/tmp/cache/sprockets/v3.0/ajR53A3KCZlIkDCkgonBX9gUcomed-Jlc1WFJ8AOXgg.cache +0 -0
  434. data/test/dummy/tmp/cache/sprockets/v3.0/bsRdXXrv-w6sJOdWFN9bXfu_TUPPilSWLOCObGOnMK8.cache +0 -0
  435. data/test/dummy/tmp/cache/sprockets/v3.0/btdjVw671m9IFsbN0XVuddc01p_7tENyDqMoxJg-zPk.cache +1 -0
  436. data/test/dummy/tmp/cache/sprockets/v3.0/c-F69u-u_YGby9057byO7ALJJJ_-0Y8Fs-tVdmyfrdo.cache +1 -0
  437. data/test/dummy/tmp/cache/sprockets/v3.0/cKJ0YuENVDolQ6rYO5SAkV-co1-Y23fwScitPdeHMjg.cache +1 -0
  438. data/test/dummy/tmp/cache/sprockets/v3.0/d_VZ7E6sULZ3pEOBlvNXbbZsyU3Nr0ennnJi13-4Y_w.cache +0 -0
  439. data/test/dummy/tmp/cache/sprockets/v3.0/ff7lDF1BNYau6Asgy9iRz-sDQPKbisAwkK-p-szBbHc.cache +2 -0
  440. data/test/dummy/tmp/cache/sprockets/v3.0/gdqDQcO3UMCdaWZzNTwUNpF1pFZZKiGIAvbU1GxGD_c.cache +1 -0
  441. data/test/dummy/tmp/cache/sprockets/v3.0/hD9RAr0FchcENs1yhGMUd95Fl_oE3DsOMpajz99WctE.cache +0 -0
  442. data/test/dummy/tmp/cache/sprockets/v3.0/hZi1k6tpxxCGYxRe7zY74ItcOI8gZrREOpGuA8JSpGg.cache +2 -0
  443. data/test/dummy/tmp/cache/sprockets/v3.0/hjEuBbNqDGc82aGxOehokB0iKHcf8F24CUb9D-bsp8c.cache +2 -0
  444. data/test/dummy/tmp/cache/sprockets/v3.0/imFW47Eteg5n4REGRReo7slYOAEIvUgJa5jAA6C8hi0.cache +1 -0
  445. data/test/dummy/tmp/cache/sprockets/v3.0/iulRqqtUmrCzYfz1OZwdWKSOzlRfZGQOYGgvGknt-tg.cache +2 -0
  446. data/test/dummy/tmp/cache/sprockets/v3.0/k-mDAq3YYIwpUFsy3jHhlL-6Z4VP-HkJXe396GDOsfc.cache +1 -0
  447. data/test/dummy/tmp/cache/sprockets/v3.0/kZ4WzVCZamGk0jw4M05Y14hnni8L8uuPGR7wujhmlek.cache +1 -0
  448. data/test/dummy/tmp/cache/sprockets/v3.0/lbHoWKdpY9lKV6FUzBjv4n1ToCT4dhJFejsMSbLfeOs.cache +1 -0
  449. data/test/dummy/tmp/cache/sprockets/v3.0/mUKfdlx29M3xFmkHrKdHV0eJK1eMGiqz1KaN2RuQn5s.cache +1 -0
  450. data/test/dummy/tmp/cache/sprockets/v3.0/nEp0okfYi7z-fR78zGnxabwr73B25sSyBtXE136BA7E.cache +0 -0
  451. data/test/dummy/tmp/cache/sprockets/v3.0/ompUzgaB0qfmoE6djKuHjLjMYlToLX0_lb6iFwWPO0o.cache +2 -0
  452. data/test/dummy/tmp/cache/sprockets/v3.0/p7e3wYjZm_dUlRJ7OSpdcxc8FD-2YMVJTHgdeHqEBDY.cache +1 -0
  453. data/test/dummy/tmp/cache/sprockets/v3.0/pEhaat2KBd5SrT7szC_8R1_6hK17FTpvoRFkmCRSD3M.cache +2 -0
  454. data/test/dummy/tmp/cache/sprockets/v3.0/pIl-ZjvFPFiviK0dFwed9ajlaq7X2XHegQ2tqhxoPOY.cache +2 -0
  455. data/test/dummy/tmp/cache/sprockets/v3.0/pmwVuIVJC-uyOk5iakUZaTC1Bk8HfTEXSRpK_IPayU4.cache +2 -0
  456. data/test/dummy/tmp/cache/sprockets/v3.0/qdLsnHdgCfZ1stwBKhIyWFFjOcx8hmytg1crlU7dnYc.cache +2 -0
  457. data/test/dummy/tmp/cache/sprockets/v3.0/qflaeiDYybzUcUvVUdvEWohlQ2PhAjN2NBEOGh9msO8.cache +1 -0
  458. data/test/dummy/tmp/cache/sprockets/v3.0/r8VvhJdWkyi3y0I4ilHxADozvy_tGy-L_aj5PxZkIoY.cache +1 -0
  459. data/test/dummy/tmp/cache/sprockets/v3.0/rWoe-ykX3jWCyJCJoruYBahRZhI39h5Dm4foQpXC2Pk.cache +1 -0
  460. data/test/dummy/tmp/cache/sprockets/v3.0/rb4lULLCosykmgGHYQMNcylKa8vlCIDisGukkSVh0ck.cache +2 -0
  461. data/test/dummy/tmp/cache/sprockets/v3.0/sAFF5X3ZqfjbwQgggM40JJbD8p9LKToY1TQmSHnupLk.cache +0 -0
  462. data/test/dummy/tmp/cache/sprockets/v3.0/tYTFtQWnZZTPwYaAnFxSNMwKneAQu3y5ZGRUnoJ9U-U.cache +0 -0
  463. data/test/dummy/tmp/cache/sprockets/v3.0/uD59U0f1Bm9MpfohmfGBh-h0Q7Si5PVhrpmmUeZa_B8.cache +2 -0
  464. data/test/dummy/tmp/cache/sprockets/v3.0/uJfGxpP2R4_xg2wN-qdbrN3t0h_yam10-HYlJLsHTL8.cache +2 -0
  465. data/test/dummy/tmp/cache/sprockets/v3.0/uK6bUitNr9x7VSukvoIIcgJw-MdWfh1V5sHSN6pEFZ4.cache +2 -0
  466. data/test/dummy/tmp/cache/sprockets/v3.0/vOoo8ZvzE7ZqCZB9sU01kivdOVyjw7FknMG1m4GVwRg.cache +2 -0
  467. data/test/dummy/tmp/cache/sprockets/v3.0/vncVBh7sw8jYYHU6F3jliZF7zOC4RpXv6qnOjZVF-DA.cache +1 -0
  468. data/test/dummy/tmp/cache/sprockets/v3.0/w7vbDCITLuauXpyqR3Q6I-Rr8Korx5wUsmPayVNW56A.cache +1 -0
  469. data/test/dummy/tmp/cache/sprockets/v3.0/wU0iaywy_173IJtneJfoqqCyD6A0EpjCsxONh4Skacc.cache +1 -0
  470. data/test/dummy/tmp/cache/sprockets/v3.0/xRMmQQ5p1UFSAeUPurSOKeS2ClniOk8JY2mQsnuctS4.cache +1 -0
  471. data/test/dummy/tmp/cache/sprockets/v3.0/xxupvwjj656Gx4oa9aFjYP392pD9q2Wi7zpdgo34S94.cache +1 -0
  472. data/test/dummy/tmp/cache/sprockets/v3.0/zRufqlRd4EBQgO8E496P0Is9yKuxRN-6BknN9y-EbOo.cache +0 -0
  473. data/test/filemagic_test.rb +7 -0
  474. data/test/integration/navigation_test.rb +8 -0
  475. data/test/test_helper.rb +21 -0
  476. metadata +1103 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 622c2455083055c9ed35ef59900f50eadd0d56da
4
+ data.tar.gz: 1b975571e667dd3c1c8b3ca0c82919dab8c863a0
5
+ SHA512:
6
+ metadata.gz: d25b0ab3868e25ec7c53e6293f942121679f1bad0e57668240f7810951ea3bead53a3db8ce216f0aceb3c05887921b317d7ad1466db6960fd8b7d1bf16c39445
7
+ data.tar.gz: 60d797ba967709541e13ec7dcecdd0b65b3bbf4a36575a35ebc22fd7ab297c129c44d0c3d589583d78ad82fe219c7fffd7efc05d74e80bcc400c7992d41dbd71
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2015 William Kurosawa
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Rakefile ADDED
@@ -0,0 +1,37 @@
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ require 'rdoc/task'
8
+
9
+ RDoc::Task.new(:rdoc) do |rdoc|
10
+ rdoc.rdoc_dir = 'rdoc'
11
+ rdoc.title = 'Filemagic'
12
+ rdoc.options << '--line-numbers'
13
+ rdoc.rdoc_files.include('README.rdoc')
14
+ rdoc.rdoc_files.include('lib/**/*.rb')
15
+ end
16
+
17
+ APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__)
18
+ load 'rails/tasks/engine.rake'
19
+
20
+
21
+ load 'rails/tasks/statistics.rake'
22
+
23
+
24
+
25
+ Bundler::GemHelper.install_tasks
26
+
27
+ require 'rake/testtask'
28
+
29
+ Rake::TestTask.new(:test) do |t|
30
+ t.libs << 'lib'
31
+ t.libs << 'test'
32
+ t.pattern = 'test/**/*_test.rb'
33
+ t.verbose = false
34
+ end
35
+
36
+
37
+ task default: :test
@@ -0,0 +1,14 @@
1
+ //= require filemagic/react
2
+ //= require filemagic/react-dom
3
+ //= require filemagic/lodash
4
+ //= require filemagic/canvas-to-blob
5
+
6
+ //= require filemagic/load-image
7
+
8
+ //= require filemagic/jquery.ui
9
+ //= require filemagic/jquery.ui.widget
10
+ //= require filemagic/jquery.iframe-transport
11
+ //= require filemagic/jquery.fileupload
12
+ //= require filemagic/classnames
13
+
14
+ //= require filemagic/initializer
@@ -0,0 +1,15 @@
1
+ // TODO: Remove this file?
2
+
3
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
4
+ // listed below.
5
+ //
6
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
7
+ // or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
8
+ //
9
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
10
+ // compiled file.
11
+ //
12
+ // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
13
+ // about supported directives.
14
+ //
15
+ //= require_tree .
@@ -0,0 +1,95 @@
1
+ /*
2
+ * JavaScript Canvas to Blob 2.0.5
3
+ * https://github.com/blueimp/JavaScript-Canvas-to-Blob
4
+ *
5
+ * Copyright 2012, Sebastian Tschan
6
+ * https://blueimp.net
7
+ *
8
+ * Licensed under the MIT license:
9
+ * http://www.opensource.org/licenses/MIT
10
+ *
11
+ * Based on stackoverflow user Stoive's code snippet:
12
+ * http://stackoverflow.com/q/4998908
13
+ */
14
+
15
+ /*jslint nomen: true, regexp: true */
16
+ /*global window, atob, Blob, ArrayBuffer, Uint8Array, define */
17
+
18
+ (function (window) {
19
+ 'use strict';
20
+ var CanvasPrototype = window.HTMLCanvasElement &&
21
+ window.HTMLCanvasElement.prototype,
22
+ hasBlobConstructor = window.Blob && (function () {
23
+ try {
24
+ return Boolean(new Blob());
25
+ } catch (e) {
26
+ return false;
27
+ }
28
+ }()),
29
+ hasArrayBufferViewSupport = hasBlobConstructor && window.Uint8Array &&
30
+ (function () {
31
+ try {
32
+ return new Blob([new Uint8Array(100)]).size === 100;
33
+ } catch (e) {
34
+ return false;
35
+ }
36
+ }()),
37
+ BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder ||
38
+ window.MozBlobBuilder || window.MSBlobBuilder,
39
+ dataURLtoBlob = (hasBlobConstructor || BlobBuilder) && window.atob &&
40
+ window.ArrayBuffer && window.Uint8Array && function (dataURI) {
41
+ var byteString,
42
+ arrayBuffer,
43
+ intArray,
44
+ i,
45
+ mimeString,
46
+ bb;
47
+ if (dataURI.split(',')[0].indexOf('base64') >= 0) {
48
+ // Convert base64 to raw binary data held in a string:
49
+ byteString = atob(dataURI.split(',')[1]);
50
+ } else {
51
+ // Convert base64/URLEncoded data component to raw binary data:
52
+ byteString = decodeURIComponent(dataURI.split(',')[1]);
53
+ }
54
+ // Write the bytes of the string to an ArrayBuffer:
55
+ arrayBuffer = new ArrayBuffer(byteString.length);
56
+ intArray = new Uint8Array(arrayBuffer);
57
+ for (i = 0; i < byteString.length; i += 1) {
58
+ intArray[i] = byteString.charCodeAt(i);
59
+ }
60
+ // Separate out the mime component:
61
+ mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];
62
+ // Write the ArrayBuffer (or ArrayBufferView) to a blob:
63
+ if (hasBlobConstructor) {
64
+ return new Blob(
65
+ [hasArrayBufferViewSupport ? intArray : arrayBuffer],
66
+ {type: mimeString}
67
+ );
68
+ }
69
+ bb = new BlobBuilder();
70
+ bb.append(arrayBuffer);
71
+ return bb.getBlob(mimeString);
72
+ };
73
+ if (window.HTMLCanvasElement && !CanvasPrototype.toBlob) {
74
+ if (CanvasPrototype.mozGetAsFile) {
75
+ CanvasPrototype.toBlob = function (callback, type, quality) {
76
+ if (quality && CanvasPrototype.toDataURL && dataURLtoBlob) {
77
+ callback(dataURLtoBlob(this.toDataURL(type, quality)));
78
+ } else {
79
+ callback(this.mozGetAsFile('blob', type));
80
+ }
81
+ };
82
+ } else if (CanvasPrototype.toDataURL && dataURLtoBlob) {
83
+ CanvasPrototype.toBlob = function (callback, type, quality) {
84
+ callback(dataURLtoBlob(this.toDataURL(type, quality)));
85
+ };
86
+ }
87
+ }
88
+ if (typeof define === 'function' && define.amd) {
89
+ define(function () {
90
+ return dataURLtoBlob;
91
+ });
92
+ } else {
93
+ window.dataURLtoBlob = dataURLtoBlob;
94
+ }
95
+ }(this));
@@ -0,0 +1,44 @@
1
+ /*
2
+ Copyright (c) 2015 Jed Watson.
3
+
4
+ Licensed under the MIT License (MIT), see
5
+ https://github.com/JedWatson/classnames/blob/master/LICENSE
6
+ */
7
+
8
+ function classNames() {
9
+ var classes = '';
10
+ var arg;
11
+
12
+ for (var i = 0; i < arguments.length; i++) {
13
+ arg = arguments[i];
14
+ if (!arg) {
15
+ continue;
16
+ }
17
+
18
+ if ('string' === typeof arg || 'number' === typeof arg) {
19
+ classes += ' ' + arg;
20
+ } else if (Object.prototype.toString.call(arg) === '[object Array]') {
21
+ classes += ' ' + classNames.apply(null, arg);
22
+ } else if ('object' === typeof arg) {
23
+ for (var key in arg) {
24
+ if (!arg.hasOwnProperty(key) || !arg[key]) {
25
+ continue;
26
+ }
27
+ classes += ' ' + key;
28
+ }
29
+ }
30
+ }
31
+ return classes.substr(1);
32
+ }
33
+
34
+ // safely export classNames for node / browserify
35
+ if (typeof module !== 'undefined' && module.exports) {
36
+ module.exports = classNames;
37
+ }
38
+
39
+ // safely export classNames for RequireJS
40
+ if (typeof define !== 'undefined' && define.amd) {
41
+ define('classnames', [], function() {
42
+ return classNames;
43
+ });
44
+ }
@@ -0,0 +1,385 @@
1
+ class Uploader extends React.Component {
2
+ constructor() {
3
+ super();
4
+ this.state = {
5
+ status: 'empty',
6
+ progress: 0,
7
+ inputValue: {},
8
+ filename: '',
9
+ removeImage: false
10
+ };
11
+ }
12
+
13
+ componentWillMount() {
14
+ this.setDimension();
15
+ this.setFilenamePosition();
16
+
17
+ let defaultAttributeName = `${this.props.object}[${this.props.attribute}]`;
18
+ this.attributeName = !this.props.customAttributeName ? defaultAttributeName : this.props.customAttributeName;
19
+ this.attributeId = `${this.props.object}_${this.props.attribute}`;
20
+
21
+ this.isFileField = this.props.isFileField
22
+
23
+ let actualFile = this.props.previewUrl;
24
+ if (actualFile && !this.isFileField) {
25
+ this.showPreview(actualFile);
26
+ }
27
+
28
+ if (this.isFileField) {
29
+ this.setFilename(actualFile);
30
+ }
31
+
32
+ this.actions = this.props.actions
33
+ }
34
+
35
+ componentDidMount() {
36
+ var element = ReactDOM.findDOMNode(this.refs.fmUploaderContainer);
37
+
38
+ $(document).bind('dragover', this.dragOverDocument.bind(this));
39
+ $(element).bind('dragover', this.dragOver.bind(this));
40
+ $(element).bind('dragleave', this.dragLeave.bind(this));
41
+
42
+ $(element).fileupload({
43
+ url: this.props.url,
44
+ beforeSend: function(xhr) {xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'))},
45
+ type: 'POST',
46
+ formData: this.getFormData.bind(this),
47
+ add: this.add.bind(this),
48
+ progress: this.progress.bind(this),
49
+ done: this.done.bind(this),
50
+ dropZone: $(element)
51
+ });
52
+
53
+ var previewStatus = (this.props.previewUrl) ? 'filled' : 'empty';
54
+ this.setState({ status: previewStatus });
55
+ }
56
+
57
+ componentDidUpdate() {
58
+ if (this.state.status == 'loading') {
59
+ this.disableSubmitButton()
60
+ } else if(this.state.status == 'filled'){
61
+ this.enableSubmitButton()
62
+ }
63
+ }
64
+
65
+ disableSubmitButton() {
66
+ var submitButton = $("input:submit[name='commit']")
67
+ submitButton.prop("disabled", true);
68
+ }
69
+
70
+ enableSubmitButton() {
71
+ var submitButton = $("input:submit[name='commit']")
72
+ submitButton.prop("disabled", false);
73
+ }
74
+
75
+ getFormData() {
76
+ var result = [];
77
+
78
+ Object.keys(this.props.fields).forEach(function(key) {
79
+ result.push({name: key, value: this.props.fields[key]});
80
+ }.bind(this));
81
+
82
+ result.push({name: this.props.as, value: this.file});
83
+
84
+ return result;
85
+ }
86
+
87
+ add(e, data) {
88
+ this.setState({progress: 0, status: 'loading'});
89
+ this.file = data.files[0];
90
+
91
+ this.showPreview(this.file);
92
+
93
+ data.submit();
94
+ }
95
+
96
+ showPreview(file) {
97
+
98
+ let width, height
99
+
100
+ if (this.hasRepositionAction()){
101
+ var imageHeight = this.props.imageSize["height"]
102
+ let imageWidth = this.props.imageSize["width"]
103
+ let previewWidth = parseInt($('.fm-uploader-wrapper')[0].offsetWidth)
104
+ let coeficient = previewWidth / imageWidth
105
+
106
+ width = previewWidth
107
+ height = imageHeight * coeficient
108
+ } else {
109
+ width = this.previewWidth
110
+ height = this.previewHeight
111
+ }
112
+
113
+ let loadingImage = loadImage(file, this.appendPreview.bind(this), {
114
+ maxWidth: width,
115
+ maxHeight: height,
116
+ minWidth: 100,
117
+ minHeight: 100,
118
+ canvas: true,
119
+ crop: true,
120
+ orientation: true
121
+ });
122
+
123
+ loadingImage.addEventListener('load', () => {
124
+ this.canvas = $(ReactDOM.findDOMNode(this.refs.preview).childNodes);
125
+
126
+ let offsetY = this.props.offsetY || (this.previewHeight/2 - imageHeight/2)
127
+
128
+ this.canvas.css("top", offsetY);
129
+
130
+ this.setDimensionMetadata(loadingImage.naturalWidth, loadingImage.naturalHeight);
131
+ this.initilializeDraggables();
132
+ });
133
+
134
+ }
135
+
136
+ removePreview(){
137
+ this.refs.preview.innerHTML = ""
138
+ }
139
+
140
+ setDimensionMetadata(width, height){
141
+ this.width = width
142
+ this.height = height
143
+ }
144
+
145
+ setOffsetMetadata(offsetX, offsetY){
146
+ this.offsetX = offsetX
147
+ this.offsetY = offsetY
148
+ }
149
+
150
+ progress(e, data) {
151
+ var progress = parseInt(data.loaded / data.total * 100, 10);
152
+ this.setState({ progress: progress });
153
+ }
154
+
155
+ appendPreview(image) {
156
+ var element = ReactDOM.findDOMNode(this.refs.preview);
157
+
158
+ $(element).html('');
159
+ $(image).hide();
160
+ $(element).append($(image).fadeIn());
161
+
162
+ }
163
+
164
+ done(e, data) {
165
+ let width = 0, height = 0
166
+
167
+ if (this.width && this.height) {
168
+ width = this.width
169
+ height = this.height
170
+ }
171
+
172
+ this.setState({
173
+ status: 'filled',
174
+ inputValue: {
175
+ "id": this.props.id || data.result.id,
176
+ "filename": this.file.name,
177
+ "content_type": this.file.type,
178
+ "size": this.file.size,
179
+ "width": width,
180
+ "height": height,
181
+ "offset_x": this.offset_x || '+0',
182
+ "offset_y": this.offset_y || '+0',
183
+ }
184
+ });
185
+
186
+ if (this.isFileField) {
187
+ this.setFilename(this.state.inputValue);
188
+ }
189
+
190
+ this.setState({removeImage: false})
191
+ }
192
+
193
+ dragOverDocument(event) {
194
+ if (this.state.status != 'dragenter') {
195
+ this.setState({ status: 'dragover' });
196
+ }
197
+ }
198
+
199
+ dragOver(event) {
200
+ this.setState({ status: 'dragenter' });
201
+ }
202
+
203
+ dragLeave(event) {
204
+ this.setState({ status: 'dragover' });
205
+ }
206
+
207
+ setDimension() {
208
+ var previewSize = this.props.previewSize;
209
+ var defaultDimension = {width: '400px', height: '200px'};
210
+
211
+ this.uploaderDimension = _.isEmpty(previewSize) ? defaultDimension : previewSize;
212
+
213
+ if (_.isEmpty(previewSize)){
214
+
215
+ this.uploaderDimension = defaultDimension;
216
+ this.previewHeight = parseInt(defaultDimension.height);
217
+ this.previewWidth = parseInt(defaultDimension.width);
218
+
219
+ } else {
220
+
221
+ this.previewHeight = parseInt(previewSize.height);
222
+ this.previewWidth = parseInt(previewSize.width);
223
+ this.uploaderDimension = previewSize;
224
+
225
+ if (previewSize.width == '100%') {
226
+ var container = $('.fm-uploader-wrapper')[0];
227
+ this.previewWidth = parseInt(container.offsetWidth);
228
+ }
229
+
230
+ }
231
+ }
232
+
233
+ shouldComponentUpdate(nextProps, nextState) {
234
+ return !_.isEqual(this.state, nextState);
235
+ }
236
+
237
+ setFilename(actualFile){
238
+ var fileUrl = actualFile;
239
+ var filename = fileUrl.substr(fileUrl.lastIndexOf('/') + 1);
240
+ var extension = filename.substr(filename.lastIndexOf('.') + 1);
241
+
242
+ if(filename.length > 15) filename = filename.substring(0,15) + '...';
243
+
244
+ this.setState({filename: filename});
245
+ }
246
+
247
+ setFilenamePosition(){
248
+ this.filenamePosition = {top: (this.previewHeight / 3) + 'px'}
249
+ }
250
+
251
+ removeImage(){
252
+ let confirmRemove = confirm('Tem certeza de que quer remover a imagem?')
253
+ if (confirmRemove) {
254
+ this.setState({ status: 'empty',
255
+ progress: 0,
256
+ inputValue: {},
257
+ filename: ''
258
+ })
259
+
260
+ this.removePreview()
261
+
262
+ this.setState({removeImage: true})
263
+ }
264
+ }
265
+
266
+ hasRepositionAction(){
267
+ return _.includes(this.props.actions, "reposition")
268
+ }
269
+
270
+ initilializeDraggables() {
271
+
272
+ this.canvas.draggable({
273
+ axis: "y",
274
+ opacity: 0.35,
275
+ drag: this.drag.bind(this),
276
+ stop: this.stopRepositioning.bind(this),
277
+ cursor: "ns-resize",
278
+ })
279
+ this.canvas.draggable("disable")
280
+ }
281
+
282
+ startReposition() {
283
+ this.setState({status: 'repositioning'});
284
+ this.canvas.draggable("enable");
285
+ }
286
+
287
+ drag(event, ui) {
288
+ let inputValue = this.state.inputValue;
289
+ inputValue.offset_y = ui.position.top;
290
+ this.setState({inputValue: inputValue});
291
+ }
292
+
293
+ stopRepositioning() {
294
+ this.setState({status: 'filled'})
295
+ this.canvas.draggable("disable");
296
+ }
297
+
298
+ render () {
299
+ var uploaderClasses = classNames('fm-uploader', {
300
+ 'fm-uploader__img--empty': this.state.status == 'empty',
301
+ 'fm-uploader__img--dragover': this.state.status == 'dragover',
302
+ 'fm-uploader__img--dragenter': this.state.status == 'dragenter',
303
+ 'fm-uploader__img--loading': this.state.status == 'loading',
304
+ 'fm-uploader__img--filled': this.state.status == 'filled',
305
+ 'fm-uploader__img--repositioning': this.state.status == 'repositioning'
306
+ });
307
+
308
+ var filename;
309
+
310
+ if (this.isFileField && this.state.status == 'filled') {
311
+ filename = <span className="fm-uploader__filename" style={this.filenamePosition}>{this.state.filename}</span>
312
+ }
313
+
314
+ let removeImageCheckbox;
315
+ if (this.state.removeImage) {
316
+ let removeName = `${this.props.object}[remove_${this.props.attribute}]`
317
+ let removeId = `${this.props.object}remove_${this.props.attribute}`
318
+ removeImageCheckbox = <input type="hidden" value="1" name={removeName} id={removeId}/>
319
+ }
320
+
321
+ var uploaderActionClasses = classNames('fm-uploader__actions', {
322
+ 'fm-uploader__actions--empty': this.state.status == 'empty',
323
+ 'fm-uploader__actions--filled': this.state.status == 'filled',
324
+ 'hide': this.state.status == 'loading'
325
+ });
326
+
327
+ var addNewButtonClasses = classNames('actions__btn-add');
328
+
329
+ var addNewMessage = this.state.status == 'empty' ? 'Adicionar imagem' : 'Nova imagem';
330
+
331
+ let buttonRemove
332
+ if (_.includes(this.props.actions, "remove")) {
333
+ buttonRemove =
334
+ <div className="actions__btn-remove" onClick={this.removeImage.bind(this)}>
335
+ <a className="actions__caption">Remover imagem</a>
336
+ </div>
337
+ }
338
+
339
+ let buttonEdit
340
+ if (this.hasRepositionAction()) {
341
+ buttonEdit =
342
+ <div className="actions__btn-edit" onClick={this.startReposition.bind(this)}>
343
+ <a className="actions__caption">Editar imagem</a>
344
+ </div>
345
+ }
346
+
347
+ return(
348
+ <div className={uploaderClasses} style={this.uploaderDimension} ref="fmUploaderContainer">
349
+
350
+ {filename}
351
+
352
+ {removeImageCheckbox}
353
+
354
+ <input value={JSON.stringify(this.state.inputValue)} type="hidden" name={this.attributeName} />
355
+
356
+
357
+ <div className={uploaderActionClasses}>
358
+
359
+ {buttonRemove}
360
+
361
+ <input type="file" id={this.attributeId} ref="uploaderInput"/>
362
+ <label className={addNewButtonClasses} htmlFor={this.attributeId}>
363
+ <a className="actions__caption">{addNewMessage}</a>
364
+ </label>
365
+
366
+ {buttonEdit}
367
+
368
+ </div>
369
+
370
+ <div className="fm-uploader__preview" ref="preview"></div>
371
+ <div className="fm-uploader__drag-text">
372
+ <span>Arraste a imagem aqui</span>
373
+ </div>
374
+
375
+ <div className="fm-uploader__loader-wrapper" data-progress={this.state.progress}>
376
+ <svg viewBox="0 0 32 32" className="fm-uploader__loader">
377
+ <circle fillOpacity={0} r="50%" cx="50%" cy="50%" style={{strokeDasharray:this.state.progress + ' 100'}} />
378
+ </svg>
379
+ <div className="fm-uploader__loader-text">{this.state.progress}%</div>
380
+ </div>
381
+
382
+ </div>
383
+ );
384
+ }
385
+ }