filemagic 0.3.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/Rakefile +37 -0
- data/app/assets/fonts/filemagic-icons.eot +0 -0
- data/app/assets/fonts/filemagic-icons.ttf +0 -0
- data/app/assets/fonts/filemagic-icons.woff +0 -0
- data/app/assets/javascripts/filemagic.js +14 -0
- data/app/assets/javascripts/filemagic/application.js +15 -0
- data/app/assets/javascripts/filemagic/canvas-to-blob.js +95 -0
- data/app/assets/javascripts/filemagic/classnames.js +44 -0
- data/app/assets/javascripts/filemagic/components/uploader.es6 +385 -0
- data/app/assets/javascripts/filemagic/initializer.es6 +9 -0
- data/app/assets/javascripts/filemagic/jquery.fileupload.js +1467 -0
- data/app/assets/javascripts/filemagic/jquery.iframe-transport.js +217 -0
- data/app/assets/javascripts/filemagic/jquery.ui.js +16617 -0
- data/app/assets/javascripts/filemagic/jquery.ui.widget.js +563 -0
- data/app/assets/javascripts/filemagic/load-image.js +348 -0
- data/app/assets/javascripts/filemagic/lodash.js +12175 -0
- data/app/assets/javascripts/filemagic/react-dom.js +42 -0
- data/app/assets/javascripts/filemagic/react.js +18808 -0
- data/app/assets/stylesheets/filemagic.scss +33 -0
- data/app/assets/stylesheets/filemagic/_filemagic-icons.scss +34 -0
- data/app/assets/stylesheets/filemagic/_uploader.scss +40 -0
- data/app/assets/stylesheets/filemagic/application.css +1 -0
- data/app/assets/stylesheets/filemagic/components/_buttons.scss +39 -0
- data/app/assets/stylesheets/filemagic/components/_loader.scss +23 -0
- data/app/assets/stylesheets/filemagic/states/_uploader-drag.scss +53 -0
- data/app/assets/stylesheets/filemagic/states/_uploader-empty.scss +44 -0
- data/app/assets/stylesheets/filemagic/states/_uploader-filled.scss +57 -0
- data/app/assets/stylesheets/filemagic/states/_uploader-loading.scss +20 -0
- data/app/assets/stylesheets/filemagic/states/_uploader-repositioning.scss +11 -0
- data/app/controllers/filemagic/application_controller.rb +4 -0
- data/app/controllers/filemagic/image_controller.rb +21 -0
- data/app/helpers/filemagic/application_helper.rb +12 -0
- data/app/views/layouts/filemagic/application.html.erb +14 -0
- data/config/routes.rb +4 -0
- data/lib/filemagic.rb +4 -0
- data/lib/filemagic/engine.rb +126 -0
- data/lib/filemagic/version.rb +8 -0
- data/lib/tasks/filemagic_tasks.rake +4 -0
- data/test/dummy/README.rdoc +28 -0
- data/test/dummy/Rakefile +6 -0
- data/test/dummy/app/assets/javascripts/application.js +6 -0
- data/test/dummy/app/assets/javascripts/posts.js +2 -0
- data/test/dummy/app/assets/stylesheets/application.scss +17 -0
- data/test/dummy/app/assets/stylesheets/posts.css +4 -0
- data/test/dummy/app/assets/stylesheets/scaffold.css +56 -0
- data/test/dummy/app/controllers/application_controller.rb +5 -0
- data/test/dummy/app/controllers/posts_controller.rb +58 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/helpers/posts_helper.rb +2 -0
- data/test/dummy/app/models/post.rb +3 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/app/views/posts/_form.html.erb +29 -0
- data/test/dummy/app/views/posts/edit.html.erb +6 -0
- data/test/dummy/app/views/posts/index.html.erb +18 -0
- data/test/dummy/app/views/posts/new.html.erb +5 -0
- data/test/dummy/app/views/posts/show.html.erb +35 -0
- data/test/dummy/bin/bundle +3 -0
- data/test/dummy/bin/rails +4 -0
- data/test/dummy/bin/rake +4 -0
- data/test/dummy/bin/setup +29 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +26 -0
- data/test/dummy/config/boot.rb +5 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +41 -0
- data/test/dummy/config/environments/production.rb +79 -0
- data/test/dummy/config/environments/test.rb +42 -0
- data/test/dummy/config/initializers/assets.rb +11 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/dummy/config/initializers/inflections.rb +16 -0
- data/test/dummy/config/initializers/mime_types.rb +4 -0
- data/test/dummy/config/initializers/session_store.rb +3 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +23 -0
- data/test/dummy/config/routes.rb +7 -0
- data/test/dummy/config/secrets.yml +22 -0
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/db/migrate/20160701161345_create_posts.rb +11 -0
- data/test/dummy/db/migrate/20160701175704_add_offset_to_post.rb +6 -0
- data/test/dummy/db/schema.rb +26 -0
- data/test/dummy/log/development.log +669 -0
- data/test/dummy/log/test.log +5 -0
- data/test/dummy/public/404.html +67 -0
- data/test/dummy/public/422.html +67 -0
- data/test/dummy/public/500.html +66 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/test/controllers/posts_controller_test.rb +49 -0
- data/test/dummy/test/fixtures/posts.yml +11 -0
- data/test/dummy/test/models/post_test.rb +7 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/-9fw994Yol65vBMI97itkrjPavPXYWWFkB6uivTz5v8.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/-LX_w_RSHEt3GQluIt2hYblBefGWLhzQDvO7jI2k6Ok.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/-XtoHqe2ytO7UraIImZctev7njgPWMZvY_gBv7ziDKw.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/-xsKMHT2LN0HR6u7R3xdyRqk_Rx4x6TrXc_FF79YDWM.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/-zf7WboBz0QWaTi04WQFjsmTyM2h-XVE-7QsR3uEeu8.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/0OBgaq7bbfwsDjDnM8tWXdx9CNhcIEtvwWS5WKPNl4g.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/0hXRi95-UDPmmhoa-Q78vGAt5j1pv-Tl-_pJMVF6mH0.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/0phvQr_Ht373Ffj0MaD0ZFTtXnQwKSWs9JLWoHPNF8U.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/15gZWnR3ALNTUq43PIjkNHChFRf5HWF2XOKBdwk9DZU.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/15yTOt29VJuhxme5JLvhF33SS03AXHA5O6UnWOeE4-4.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/1Eo6XDPzWfQbqmc0jotB-ax3rKjW0fgfvmRVtNcHqfg.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/1ad4fICEGq7HLvmzU62Cb51MU0PD-j-QPE3JRMk834Q.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/1hrQ1ope6o2-ff3VcbZNMaQF3zjGYNP5B5ufvGjIrZ0.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/25ah2DTT1tAtIrEGPBgfh6WW0u9MAspPw78VIrRO9kg.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/2GleRbQkIiO_kXw3tTCUtdAJ-gWDZWd_iTLEye_DH-U.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/2NL78TK0a1p1YVNOsMaRicnKuleyls0i2dGg0HXbjwY.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/3elz5ZwjeT6rBLmSCz8CNiRgPbst1tuWy49nv5eKXUs.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/3k3hnrloNksSclDyY1G5Ffe8Togln4PTF26teZj4daU.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/3o6SyrtKCa5-IW82Gku6TT50xVuYSPmWZYV2LpXt0ng.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/4XbbAtbDeCPgBgwEGfaVYbh0z4-8IVkXY5dC9xufAqE.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/4mdhEpfFlSlrufWtk3Qe_RmsVuOkU_n7PRBLtBG5bZg.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/57VWddntHZmImAbLHffgzWBZOfELQXF35qvp-h4xSqs.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/5HtbdtEteX-EBT3v71mk9qgfeWybkF0w6pm3Wo69ODk.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/5Shm6EVGs2LfJZhF16hVrHIrqReoSJ0vQ8K7If3maUU.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/5TzYmONEI2HYkxGdPZU9iJFCuuoe70CB-i-w-KEHZv0.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/5qRm6M17eqp9ipjb3_SUxEtN0hWh2oQELdhKtycQtog.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/5rGYGjKoFndqCWXSNVyjCCIkQE9pSJjye3NsVhZnXes.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/60XA3OEWI-NSTe8v2MywH7EvOoTOd8WpJ1MyUlinw6U.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/6BRxKCHFSDWCSNxJrbjKmf3CYXOCpqBg3a1SEtr2a0s.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/6Rru6T6Y51aQCe6jqVeJ1rfKmTo9GUIPcUar8rtq-Rg.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/6as1--h6jJEEUmq_0kVrxc0pwyJ98rOuawZLimWm_6A.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/6fjaGP4lf1hCTlKuAEMwaNP2Ui1Bziq8q_bkgFuonww.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/6sCXk5ZnhABzKKPVSv551SqmF7vBiE5GsZ9INSGcpE8.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/6udi3HLGr1LETSalwA-b8aHfK7pf1lmdBNRCmLaQeqM.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/7DeVqrf0z9akoAULAaKAaNfXT0F2x3KPUlYjgX08AZI.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/7K5myWw5wmyQDfjairkEB0-5At47CWVP89BJOrYy8yg.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/7Tc4KejuD7oDeI1YUfRJK2d32cP6qEDy3E9qg1zYp1I.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/7_xh9nApxF_F6bZKKcceQZDyPud5z7Z9X2eF5Ng28JI.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/7cHMiFku4aNBoYYgMxYQs5TlgKSAxGML_Ji4mhC4HJg.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/7omTqexvKlj_RHP5tXUtQKz1DVeUjyFUaQSKkOitjVc.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/7xzatHL4nFDunMIIndkxLUhR9RSC_pq5-ecqLr3iDOU.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/7zZpAotw30sQanfrrbypVDttEbLBhXD0Zz5K4XYIQeM.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/84Me44hvtapTtN0sw7x6Atl1Pnh3TWjn6bUqHsbob-Q.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/8_4a4WmKbDnFi_P4AGbt6tt8_ISlY4qCYqvehvw8AZI.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/8qUP1kKVENfP86RDpdKFHWfVrebNx3HIt9BKCbJvJWo.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/8teW6uepXXCGnRK_6TW8HxU64DlG-VkU4GP1uD_CAp8.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/8ul7L1385P1Y4Lye1IjcYLw7ZV9XR7t7iDNYTflG_LI.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/9Ao4YOAk5OrYbkTps2fmbe3J0wJgbpoHmF-RoWiS-tE.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/9Mbhx9R5uX1_r2r09dv9ZeiJ0Ce0HbbfK-AMIaTrM-k.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/9P66LJIM0hEcs_92j4tYm5KixR6AlFKHMZnn96TFmVc.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/9cxg0J5Iz3XrIEBcMdfVLBGub-tl1dNGayduoE570Ko.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/AatOjV7lBh57a31_4jJTOZ8O-Xcp0V4GbZvK1R44jx8.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/AeaEUF49bAXdrFJ_HtP83vdA7HHse1nAOa9p89CbDGk.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/AggI8FeI4v--Wk_ImOySHUMDxUDThth3w6IyBk6OQsw.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/AlsNnuva_5wUqDKonJNRGTA1a_TgpDEfazLh-jF199c.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/AtgqcE5rqq08AqyIPxk1lCV3BeRP9FKrCwMlPLjL3iw.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/B3p97R9Vw9Ts0Ta7c1M8bQ1OjyAtDkQmSBeAIugPS00.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/BAwmUE7f-j5Be6DBHAp_jvxOqJcUc3SUKocKCi727Vc.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/BQGdY4F2B_lkXoXbpw-cJS-EKXrlxf74Gpm6HJUIBPs.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Beq1s5XEZhoXyGWPSfXBXpCBxGKEY8-gxf2MpCQIIjM.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/BzxTIMxPO3oFioUyf8tq1SGdrufca5hmL2LyBlbkkqQ.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/C5k02RNeDiR0pKwh0tpF36f0KxBL_gZlVRuAGHfPy5Q.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/COXNcr2x7ajmEBKfyXAHthMZbgTuzSHhn5OjZDz0udc.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Cz77XlOcaUemcBFitRXS9Ti_PXctjdox4XKoDITlVX0.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/CzgGnrxOpZbZDGs8CyesNZy0kws6dhF8IxHcGKpxC5A.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/DFvFRydcNYBLnGR2L8Sq8aHVhLz5SHG7hVn02w_d5hI.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/DQVhyP4nG2IIZ64mi_T1AKrkMBqKZRp2evd2LzOXda0.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/DSOLSc6A5RVSmvM415eEWAWG_AgOvZcLZOXQjsXyWQA.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/DmmfrCpXtt74Hr6NO54lxyOCDv6klnDyBqeDFR7oDU8.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/EsCBUlp77xnzQiRyqWGq-BY6wslW-lGKDvgcmjzSMUI.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/F7FWJBE9htvPBaFxWw4vvovsr7Bc22ikh-Edf-nvy3c.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/FDT3ct5HC__IzQXCp_3qnZ3XH0YjfLXr7CgXfHI6qW8.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/FW1sC8ygAhgjI_3qg_rIFYCYx4EMOrin9XDpTu2nv_4.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/FZR8_CM3SgTnLAy8g09HGAoANh57dI252jPmhqJLErk.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/G4ieiq2v4GIUmX5ylBOHWxLnY4yp3RxyDpwxFJImO-I.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/HGwmcfMPWygBvYKWOaYExsIdFBn6OeFY51KK0JrjMi8.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/HLY_lr98JQWKZR1T0HfVR9b8bnOFfDwLlUUDoBTX9xA.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Hv6-zi8PhCOKo831FDuHaS90z_ChN51Bazeq_hTrlQw.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/HwDBQWpzf17FO4afRUqw2p45ufI0a6w89djzUfHVCTY.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/IUDMAMnOKY_k9hxqO_ZeL6RBuQWvomVQ0lQDT7NboS0.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ig3s1a-IMrS9FfWrfloCxj9WjeTB6VDXM4HZwjvPRcs.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/IjAOyKP_fCiBLuxcGthPahvo0Rp04pdSOFRppvNf6ww.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/IkjJfWOPsEz_jfYkqsKSU7dV02S24119qjYfhcZ1ysU.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/JGplcx-1vckrZ_6IZ9ZCf6JknAPuQe47uWv-GSszeZo.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Jo3NfZBLWZAp-PBbnZSRdIZM921g_psXUYgv47yRldw.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/KEXHXnQERBOFehIjKY5SNpYivt4JBVRnEL0_-DI2jDg.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/KJ9Vuuo6Ja1TDpbyYvJqsHop0D1TtUukFCjYG9OKBNA.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/KKi6MLLwJpr-dr8N7GfPIlI9iSrszbOfHf50xUxd4PE.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/KLRzf2U393VZ3HQkqi8VjxQ3wmLKmRO8wqrcfM1w0QE.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/KTagD8moutfKzQXXaxT7FRxqTj2RsD7RyvHNQQXnT6U.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/KVIpPGQlAbPB7QDf4HF7zoReUpf4XS_F7AxmRHqu9Rs.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/L8ugpmOU9W8eW-gNlxLEUfvpl_YlGhfMjyU6JaMFihI.cache +4 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/LKqpB-4fW_tpkLHvml7opyPaEL_hu5pPzbW5ORsmrYo.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/LMKsQ62ra--uyBXoAb94_nQrqevk-9qAJUjlryaDzfI.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/LY5EnPcvEjkLx2FgVltf5BnVzHpASPgTaRJcisUw4uI.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/LcgVcIlxhy9vT7OpVrjr53vQUWdBvhAhypzOPY-3r90.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/LkNoONCNq2UPevxSKdP0i0Ki0A_KlW4j0uDD0xg0MmA.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Lqi5vZsMHqOHrbDAQBchC2IqX8jfjCb6aCm7sOCI430.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/M4T3vrHDuXMdv6Fg8J4OKFi7owm-Y7cS9-M0CM6kscM.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/M6Cma1yMs7diNoZKmIkphuCxSCidkUQkPJdazTw1wAs.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/M6fbxInBt81J8jxWpYScSyeIPufN45PwNwYcsqPrR18.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/MAsAAfz5fYIYNvglWCPdiKu2uyCtoxDA8qx11g6FsuE.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/MigGpeua-SLGzqW_7XZbEcDOjQoh7RpGy76_9m2y2UY.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/MsTUKee0ZD-yZDzkVPEWvEARH50filG25Ns0maCK6HQ.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/N4e66rflw6asEGVVZVK7zKTHJ0Rc2RvAz_mJVu-p8WA.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/N7QB0-ku4FR4vPcOpHQPRwsaLwerAW_FVASSMtxqF_s.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/NE3U5dr5hpFtRGutiIho678AYjiIt57JAzUiSTu1Gos.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ne4Zslbu34-G_4xa2qnRT7uwepKJeVX2mKYULBND4dQ.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/NrU2YhM4Qh_wW4tG7Agk_DWAQFdlUGM356xPAKFQW7M.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/OAikTS6UZe_3GqN1fYDdGXywljRGfgBnppwSNje90bk.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/OLb_fDl2Dfv6jexI75EunO8DWM1Bk2U69Y21LDRfmJ0.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/OWXYtDqFAywkxFGAElJovXtVrfuj3ebuL-Bih8BuWgo.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ozyo_xyamUe0yZI2Z1VxmPqKk2sJzkXLRHHU2cUmNQw.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/P16Q_YA5ylmkg_GCpQVvALYWnIt6NZ7DvoDkNhzTl1A.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/PhCYe7l5RmaFI689dA7TPR0X1b3YZhtTxuB-ZBoUmeM.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/PmwnmlizZPo73wSq1jlfjxwZ-wy9ikOcWT_6REdwQcM.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/PsvC6BYOif8ZqjcT-pzcbu72TcNxVHd3xA7Sxd9igKw.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/QAKAmpbCbrKip7u4ce_Gi7pYd7HM8idsXO0UAeJRsaY.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/QJihi0YXCTu9TZDPBV5J6nu23gOieUKTHQ_H_rR38Fw.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/QQ9eeF64VkbzxUzqLa__0lXZrW07T1hrSe45JiDSRTU.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/RC_coPsfjrMWcQ78gwnnJncINBLxouSnaQDree1Ar1U.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/RIGmmBGxPumSth9yjdvak2rOFWICUKe3UqA-lfHI5JE.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/SCgNy0pD4dY_qIZHpc59SZ3ujCAFKDFaRuFeFsl_k9M.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/SOtCihSLXw6pZAlS30GYQOMQZPd0clJ0jtdmlRJGxow.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/SVobf7ghLuFEzzr-BDhnz1702Pm-9bMMlU4A5tYG5Uo.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Sj8Q-J6T5I9cEEvSS5zi81zNVJTLvzMZjNfjcoC3ec8.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/TCm-N8NRQJNFGRsq3KmlfTt6GMLMcV262qEiLlknDN0.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Tgw-iZOfdNu8sqSAiW8VCfhItpTbQpmq9_rsnxLI-tw.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/TnTPlBCE7kD4vqBh53MAipjcf6w_BfpJ5ePhADsBW-w.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/USwWZqABZ7UPJ-3jCA93GQoeAHLjwdzzoSkUaj08y6E.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/UWi448nl23X2wGcTEIY7JTByIGou0H5f4zO0m8mIkN4.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/V0-49kHimjKaRaRv0FeXzmDpw61GE0_eOAiiKVuvSN8.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/VBNR2J1B_PrW4Rp_BhVyTY1KPjbpRjyMwnzaGD9Nijw.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/VIkgZF4XPq108I0AUUYud17pMtQ0MuoUqctWXExb7m4.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/VSbngpP08vL9He1C_15791gtJsOFz8rLzSbDhoTeDvk.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/VaGiS4CKzgldEdes8m1euMeZQk6iajqxSgppK9kS580.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/VlNk7D8Ndkl457LNoYxOt0pYRa3m-iQ0UC2cs6cpTQs.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/VvQVGj7XuAOpQkD0B_ETLRMARqs6BS-F7uzjjV1IoFw.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/WBrqQBKEmgyzchq2RxAWhydYoLXqeTk-WoGl0NJGKQw.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/WYtIkVcMUqdsOe4JMMw4OMWm4DNa_cRkSXeQg7R9Kj0.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/X2cWZXc43W76-YiJ4LYZsrLS3TT_MbYWHHzjLn4kVKs.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/XWkbqr5QkMu-aHffHMdSg6xh22lI1_b6kg0f1kVz9rY.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/X_VES5DNRbkM8t0U7-Gf9aac_24hgdnQSVDZR6qiDUQ.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Xb-4lEMf0EMnSauBmz0kVwfi8e8h4eoPh_Cu-SHgpkc.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/XpJSTbl4fbWpTJUeHVdEvs9fq1z0s7i-l8n_RuM6zQc.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Xy_yOiWaduqzy81I-YZkGLcI54cSIAeEwi9mVAONOGU.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Y3f_TNfTpoxNx71_X74-SUiCW1Tpa-l3boRsuUe4kpA.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/YBQRixGGbPV7cU-XoI7N7Wn0rEawCbK6fgogJHM1jiQ.cache +3 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/YH0EEOhHF8QJsoDS8biu45Eb-Qj8cVbrtghYEdD7ghw.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/YQxneH2j0Ud0ARtxAqaWwRBh02hzhil2Zmz8wfZQJ08.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Yh9cABZVyzqA2fHH2ckpQbgRqwC2HSS1lJ5qrI_a1b8.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/YqTp3BVkp66ZpMG2Fm79vV8LEANtus8USWNgTz0WpFo.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Z6fERkMZYHePL7NIOcQZKP7910-E3uiNK0ESVNdK-T8.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/ZDm9HEJzomOKXyyZsgxOO2C2pNlkmfz5uGZ7HxiDzGU.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/ZItMJsZGH5KTr3SD91MfAZhvV3r7XaBhpU_PI9TqqrI.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/ZqkXG4-dsaKNccfu3FcDxJBkYBx8X34k_ce8myOzTrE.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Zt-2jaJcd5DZWo8gzahtYAt4MFv2u7Sfp_u52OUTu3Q.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/_Ii3SxthOmdOIY21Fr7uU8BZcuasShIr4iZptjf3Dvk.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/_IrBUFJCtjx3Dy8Y6o8kWmmoAxnaEgj4dJPVehtu1Tg.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/_MUgI8B2s_FOuQBwBOorKneWTbVIljHxSPN2VBuT3sI.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/_YgtjiJXHIIZDbhNd-LpRJIWPr7UaSd2Eml7JeHYepE.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/a1nL81soR44tH3G6oJtevx9T_W01lWClFYR-OYF_DQ4.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/a5PN4OnixFYOtukRpbEvkUgC6HvQWyJZ6nJIhUHdcYw.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/adzZYWMcDWL0JuFdGad-X24qZCEg0cv6RQdWSuhj9Uo.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/afqhqlE0SvCqu0CqG6b1NgO59OjNxQGxLuAa5x5FIss.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/ass7AwdZ_Q6K8aNTX2zeSnT-PlnwRddIoaTMLfsw_uI.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/avxhob66j6ksE59f75Ma56JQdqyXdd64HhDuZh4xhtI.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/bCNEU1ynNhvgduB973fNhdrkG9ipEytHj6KrvmFr2t4.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/bMySBSlPk995lhQO-l7b0a8fta4yq-BtFIPC0ZXkKOE.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/c-c6hbRb0UVVOl_yHo418R9hfc3zTthb20BAVbi6SnA.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/cJEQVnLR2r25p0QIoIZyZA_Nee3Oek04liRvpAkaJ5o.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/cNue3qGzns1SNQH1Kc3VD7UuS9akfnQk0-pjdSnLnCs.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/crxEbXw4VF8P_NVdJZgxDc8nb8AsF7VlQKOEXi74GQE.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/cwxrjUeD7kb4osDJ1vqsR78VI4wuADafeS64riVIz7Q.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/cyC6flIS6zWzfxVo9WFg9MQhMac_KFA75HPag3NbzDM.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/d1a_-PD3FCKbRPobxe5Y_dGpcLc2kkCklvFteNP79Fc.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/eC2i6qxP9st3qGv2oRd6f2TOU3onTmfhBVsxDRZid0o.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/eJi40RfL0xwb5BgGAWyVbpjpvSCwIJ2gC5Gy5ssR_TI.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/enKnlyDZ1cusAP8qLEUBqrHu8RD5ZMVAz1MjTcmskt4.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/fOYzxW-wOkRgEwIzo367a_g36kwtc7dkwAggaQW8NnE.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/fQnCwWrX9nPbRhmUsD-onMitWTsI2Hu8lospJi789ik.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/fSiIY5vC94k7ShtpmgzC2uxjTJrysmI_JSLCVkldVtE.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/fe1tJBK8BOYoZ6kvlNSUguKLhnGU0_dVhOVS7GkbexI.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/ff7lDF1BNYau6Asgy9iRz-sDQPKbisAwkK-p-szBbHc.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/fhnxe9RxwQ0KOUIL78HNtGgY2AweE3cU_rEUKYxnL0U.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/fiPmY2ENMTR6RnFaZWDX47QXP3FGwV0uBuRCBq9VVtE.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/fu29IVYTH5-I2TT1D-h3TQOLXlvZQX52bcCID9hhb24.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/gALsCSMHNkFYRLA9p_uzeZqPVHjfRjq62JVmSHLf2Eg.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/gZp3uXMHuYQC4hzCr7bQfetKNdJAtbQmg3so2KpW1Dw.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/gdjQUKjgFXpnoAeXI9qyXzheAVKvRwkNskM86A62HwI.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/gdqDQcO3UMCdaWZzNTwUNpF1pFZZKiGIAvbU1GxGD_c.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/gsN3jeRSlLUQHdG2OdvnTfuDXaRwXicCtYNwWfDjrio.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/hDwKc18dXlg8r7BmKEUrOtnslJvigDJXbq3F3-NMnbc.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/hTNKjYGssdhsHsm2DHn6y4RdO4zeRLwZx9e40Ecy1RI.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/hZi1k6tpxxCGYxRe7zY74ItcOI8gZrREOpGuA8JSpGg.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/heHJw4pc99zx9s8Dr2W8SAvOZ4taqj5l4UkS3mNjh1A.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/i6BB9rdbHA1bUTre3qCmGKyT7troJOjUiY4Jr_6LA4M.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/i8pno6bmmXm7OwJgVS8dbsog4y1P4j-DExvSuJxvmJk.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/iT4WUO-ycX_8x-vlZmYfSIOuHF38zVQwZ7t0lH844-4.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/iTX2Qgwtl7-xax0dmlj9na2XVTG64dWJEGYp5mGRBEY.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/iZljKkw8QdW8_tQPjLFjvLnWi29okVx_U0xpqiK20f0.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/irGj8cyqwNhqWNA1CYoBuFUgxUf5hKnX-ZI7V5Tr0ec.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/iztahfec3REkXYqOiJ177SZEQBWayhd_-6VayTjMCjc.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/j1LVMhBGB12zQkNGg2w0rYSCC0bEMADJiQ9Fqz7Ng88.cache +4 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/j4-_TNuamChdwU70Ol5zs_kbf2K4WC4Q2r8jY4OvbDU.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/jHRaZreRHAyyxpghBlMjTO57RYj6EI03HBIV_tAH4AI.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/jO2yLail_52oABk6QHeb1QkWbe24mo21haTrvK0vIjc.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/jT7lFNjn40dKUIa-e_YQpPQ6kCWDCY7E-HulSLm2NC4.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/jbu5891mx0f1bjNp8Wic87by9kagjt32XP_nl-bmqWc.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/jmOrNXvfTDa-lOUn_P_DY0qEqNHGupLdv_Ji0uox0X4.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/kP4Q6SSuHjW_jFEVHzE_rFB10v1na_JCA_v0N6FTITA.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/kkOzcIXwzP1WpMytVfgyAZQivL6UFQeDsSIjOtRslUY.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/kzsfJdAqL_VxX28nKaZwaPEGo3sqjLwsAShio43GvfI.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/l-sQmhpuZlMvG-aHnRyDHsNJcRKdV0zlD8CLPp7NdHo.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/laMHEMvvdXWsWXOUtX-peBoW2xoPtzKplJZTB6sGRrg.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/lc1eqriYSu2r4D3OvDFGzxiYqzM5Y23FseklcyCqwjM.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/m-LELDvYM76vYwf8yPB-Vz6fp7f8ABkmHcUM-D1dqf0.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/mEO0vw2qvMN1X4vMR1KO8eOa-mUHQWaLgS_R69Fg_HM.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/moI2zCk1bAkb8F_v666U23glvZHc9KFH55R5F2Nj9Rk.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/n0Tu3EOX5KtHL-Ne9DPWLAaOZWhNE_an8XFt8q1OooM.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/n0te4ySIbJ4LNMOt6zdzN5JNCjRR9Tr4Ck83IzlxF1o.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/n9f72U1Pfs40dcQjQRy_JgvBQq2spoEBbfWS23saH9k.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/nMZ5k7oPOIci0QLN_HolLD2s6CtskpajfvYgoUOFclo.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/nOTtg3EYTHBi7Br81G1taWP5FOPvxw2ID7iFO3cizj4.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/nio8XuvCzwMOX8srU5Sey74sA1R-gUdNrb0fZisYLwE.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/nitQNdwWUSv3G2z4aQXh0Tda5ViS5MW4ljbh_EsasEs.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/ompUzgaB0qfmoE6djKuHjLjMYlToLX0_lb6iFwWPO0o.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/oxERuzx-uXIJwjYORxwNa9WHpTcq17klVL-7wYcVLVs.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/p7EIcidBB3P2aJehbr_9i5nlvhK4SMcY76zsHEs-EAo.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/p9AYwwuir9WiDgyQxCGeKL4wvBHFj6TxnuVMuf_WPig.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/pEhaat2KBd5SrT7szC_8R1_6hK17FTpvoRFkmCRSD3M.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/pFnCVy-D388uqNAJtLNW99XwjEjsAKwp9wd9yoAvHq0.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/pIl-ZjvFPFiviK0dFwed9ajlaq7X2XHegQ2tqhxoPOY.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/pNDnudvlxCfiwelGEXutXnZrnAah9Ea-u2hM-gHYvcI.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/pPuvsfG-i0X2t48cHOiALXfs5xq3KOxoOfkV3oSgF6E.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/pmwVuIVJC-uyOk5iakUZaTC1Bk8HfTEXSRpK_IPayU4.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/q4kVSMTCwGbyfnM7exRePMaa8k2D_BDH8Qorh4sAA6M.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/qDeGUVu2kiDhWU93YQFKZX-d1Az6amQ9Tqc8uRADWmU.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/qKfBsKgOj5YRSdUi_x9sQSnTJYfzWWLzN1tYmspYUq4.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/qdLsnHdgCfZ1stwBKhIyWFFjOcx8hmytg1crlU7dnYc.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/qflaeiDYybzUcUvVUdvEWohlQ2PhAjN2NBEOGh9msO8.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/r1ttg8_BUpfuwJ7zGEMrvN9F33bzHBWqJS4iG8RHqBQ.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/r38Lkbe5xbu8xM3XByDS96zgpDE-DnAT_M9NIBsFG2g.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/r8VvhJdWkyi3y0I4ilHxADozvy_tGy-L_aj5PxZkIoY.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/rRa2vlPo4Ul8PyNYsBB-Ju3wJPnscp0gTrtPpqRB3go.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/rU37Vggb1_PUq_RVIjpUr4BEujPSmuN67UZajCBeKRk.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/rb4lULLCosykmgGHYQMNcylKa8vlCIDisGukkSVh0ck.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/rbwjVGbFWjhEe7CLbEx5jI-CZVQqCIKodbE6b3sV0Ic.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/sBHNjNmyMnbCYkzU57b_MZqRt6olb6wU9PgOP549hz8.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/sPCcHyXfq9h7dcrYghpzuUvrPlLkFOvhQMnYzI9ZNTo.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/tLPCwd4Zv4NpM8O2FoW5ZPTndkXgcaeu6hHTePyJtXM.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/tO-BgSV5XmwbABZv8ZoO7Eg-b6Anwy-FskCU9EuWR3g.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/thyVTP5iJu8IVW9_bflYV84NbjHzg-GxQ8H7b7WmeTY.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/tq2bmTazBvjgzcGkT_34r5hen_S5LEXswTC7If6JAhI.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/tsYKujSV2SL_qwVGC6T0pXbAxapUUBCNTIGabFXz32k.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/tzS7uabJU0pXG3voZJIVODIYxSY0JxI3AsVf6MmYesA.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/uGFq1qoem2wF91zoCMZXAcfaOBBGP__u-MQ7EsaUAEw.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/uK6bUitNr9x7VSukvoIIcgJw-MdWfh1V5sHSN6pEFZ4.cache +2 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/uUHAP7fkhl4fKz5rdARquQXHeWcpk1liDspZAQ6q2tQ.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/ueIAsGxgF7eS2icrAdy40UbkobzFV490P2EH4UfGbUg.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/uf2r46HQLK0mxrYlp4tAqENE9WNasZxu9YbgLTRjVJE.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/v1oBUZWMY8U8B89h-MbFIxKBe-P0B68m1CxFr3Oc9mI.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/vDMpyTEPvqj1tD2NGoEG7xTYSvxIoMizpcFp_bPAllY.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/vDcnY7D2RZYYAXjcAtU78fw5moXXfYTpGBIhXlaZ0Ao.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/vOoo8ZvzE7ZqCZB9sU01kivdOVyjw7FknMG1m4GVwRg.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/vVhvfc4MucIRLRfIEzbehsabFOspTn4VwMXZX4p7B-o.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/vlNUuQpkMG4YwAvaaz942fud03yemvGoa6VFKe2cqGE.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/w-LdUR7Copwxv__j0BiZ0fpXSPVuNq6fteigQ5Eab2w.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/w3SVOStSIUhvee-gn-NQRui7OpTePzi8tx_QL5cT_o4.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/wLn_LW2R9M365b1aBZxOMUeAzD3OGpEx1LRBG_Ng-98.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/wUrD3kA8ko_BFe7uP02lHw1_drN1yvGSpeigZXTrTuk.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/wZ2ecVSS2hg2feCmfuvuL0esbmNAqFQ-9KE4Z_qvee0.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/wjXH4yeJVkouolTlHmRT5lw2BbzK8zgfrxsee797R4E.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/wl_d2mz5lW-_mQYHxUyffqq4r_IlNRoId0__S0TELww.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/xIwxHmCHZqNpdLYPnCDnd4S91zgikLCSCVLLDNK14E8.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/xQV8cTNXx6YN-o_yLJTjMazxafKp9EmPq0kq7-HrmYM.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/xnEKGDj17y2qvP7nIqW-MVkrHdNhltw7TW-eu7sB1qs.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/xrB94PoxGermzmHsjuAnOimhCbOAcEAf5lSq3ITzrS4.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/y2IvJQJMMofcPH5AD2Lh9_e1EFdLKRomlwyfrhH5FjQ.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/yivUwS-Un2NnPjW5aWEVYRPUs7EnntOS1yDXgGusl1k.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/z4GEx0zKoSsxv7shvv7rK3Mkk-P1IWkezP_JQMISk0U.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/z5dp3YdXOGKedMJLaPnWooVd827mf0BatDDZ-IeRH8k.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/z7mfZdRuZLaC8yzApFJ2nQJ1ia7d1vJkKdGNBvkSay0.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/zFnz3R6TaDCtmhQSNDVuH1Kws4lPVtkOSF57Unmgz1g.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/zZmgG5r9Or2N_Q1bjTNvRk7keuEQ8FSVJRdwHryTlQY.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/zmoVEsD3PMerM7_1ulzpRNb1u-HZneAn1BVceuy6URI.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/-nWxAyXJm2cKl-jOdzUvios5zuP38pHO6WDYl8rl9EQ.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/2U2PJqTMl37_LbRvs2XNt239TAPm5rm724FtAIpSdj4.cache +0 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/3jTnpsHbx_LSYEITv2v_CTz3lf85VaBmqtKUK-ySgfM.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/3kSus_hxECclFtyIA7tN_45OHC4pS3UVtp1pl9r4RBA.cache +0 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/46hYboPTE4z2C9aLiE6XcCy6YuVaJAAfAO22RaBeB9g.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/4FoptxRaFHSLisJi8eZdlyNs11At8W6y7OkeTeXttcY.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/4uf06uOkrq131eaxrEii1zkvmWZDnnaz6ol8CSMQcZU.cache +0 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache +2 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/5TzYmONEI2HYkxGdPZU9iJFCuuoe70CB-i-w-KEHZv0.cache +2 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/6QzJAMpwPAPcS7OfIgQLDWAKgAQTEwRVCkRA4SpMOFI.cache +2 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/9eH9rwl27BRbe5Gcin0NwKURmXcJMfOqv5Eh-QlfkcM.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/ADjeuph3UfkMq86hnE1eFCmqAg4YOmWOvwxcDBcg3uk.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/B1UYbIDTD89kh3kOE8Pd2ze6SoR-jmfPkbzIka1NxJc.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/DDG6Y-qI4kx7uVzf-Es79WvY5n_OMkgAhXnUmbaQ7FM.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/DSOLSc6A5RVSmvM415eEWAWG_AgOvZcLZOXQjsXyWQA.cache +2 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/DmmfrCpXtt74Hr6NO54lxyOCDv6klnDyBqeDFR7oDU8.cache +2 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/FDT3ct5HC__IzQXCp_3qnZ3XH0YjfLXr7CgXfHI6qW8.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/G29Lfpv_i7CfbfcEnpq1-K1HpJedzyfr6U57r0NSfGo.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/G7b78U6d2Qdz8_0L78NWAI1Xteip2JUhzEj1IrbDY-Q.cache +0 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/HLY_lr98JQWKZR1T0HfVR9b8bnOFfDwLlUUDoBTX9xA.cache +2 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/Hn71mT0RZldf5jsbV0e8zNh3t2TYuOI0wETefZM9FKg.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/IW2PK2Hhfz4tugrNNha3xhgBw80649yA4r_S4UQAfAk.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/Jfxiu7q1mOa1upJHM--__IZL48xZeUDkT77HAU9BDL8.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/JsKuXk-KJ3KADsupeXtQtgMxfX6_Wsp4UIYE1kLH2Z8.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/LA4E0Ral8MVhZVeA_2cA4EtrlaKGDqWO0dCJPAKViS4.cache +0 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/LJ8nn5EQPxTgM4QrzPGzFsd_kGMtvm0IybnYetC6-kE.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/M4T3vrHDuXMdv6Fg8J4OKFi7owm-Y7cS9-M0CM6kscM.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/MhubNbhYzwyIST3_i-pmfNEaIgp6kcMdPwgavLgEKgQ.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/NMKAlFsVOPqWFTGgXgkgQGsEGEyOHC_GVniAM28_dsI.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache +2 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/OSJELDWUoc4-7GNJrnD889JAedEtj2gu-BnVxU8nC_4.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/OWXYtDqFAywkxFGAElJovXtVrfuj3ebuL-Bih8BuWgo.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/PIxywRGy_ed5ttgGmQI3RTKoMZklBrkSGwe0pTgnBAQ.cache +0 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/QmF6IdYDh8eVKYpt2LARB13bMp08MnfcsYj3oszW7dI.cache +0 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/QxqUgRAUYpFprBFRWwmgIC5ovBYJB6nYKL7DhGIcdq8.cache +0 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/R23LhhcAT_3b801x2ugnSxakoB-j_y0jJFfUKK372Hk.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/SBbRMRnEBbofnZy5TOiFIwG6NadGIhZ2vMa7kt3J1mY.cache +2 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/TSNbKoJK4nQp9GvphYuh18GLP8NGVhM0VwwuA1r24J8.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/U2sw1j0LMe3vNlmzFs5Dd7EzRH7iVcBAUz3i62Ky1Aw.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/Uz-m2TaDHl3WyhmvHbn7HMtb2XF-5v_KP1edVNOeOgo.cache +0 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/Wo4UK8e7b4dxGHgLKeVY3MqTY91mp1gdQ1MVcMChgKE.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/X1KfZOdg3PYCSvHxvqybHmxOLey-PlRn4OFJtlyIbLI.cache +0 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/XWkbqr5QkMu-aHffHMdSg6xh22lI1_b6kg0f1kVz9rY.cache +2 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/XgEs4crWPXnTxUxKcHbpUoaCI0xHNKSuh_crI0gQEGk.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/Y399dgpcgqO8UwIZH9zp4MkPDHcMlj4BZsLMSKH_9gU.cache +0 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/YKjt2a1R-qkonr4T36XehpSyRNyJfWbs0SZlfnE75UA.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/YifHlSxjhQiRs7ONffBVKRt6MYN5fBtm5xvyCzazD54.cache +0 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/_Evk0n7em6zit2-V04eAlwG_A9LYRJbN-FXEm9ruYQg.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/_Pxi2f3t1gVgWemdRyaPCd82Z6-wj_co_2KE_QUJL78.cache +0 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/a5PN4OnixFYOtukRpbEvkUgC6HvQWyJZ6nJIhUHdcYw.cache +2 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/ajR53A3KCZlIkDCkgonBX9gUcomed-Jlc1WFJ8AOXgg.cache +0 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/bsRdXXrv-w6sJOdWFN9bXfu_TUPPilSWLOCObGOnMK8.cache +0 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/btdjVw671m9IFsbN0XVuddc01p_7tENyDqMoxJg-zPk.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/c-F69u-u_YGby9057byO7ALJJJ_-0Y8Fs-tVdmyfrdo.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/cKJ0YuENVDolQ6rYO5SAkV-co1-Y23fwScitPdeHMjg.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/d_VZ7E6sULZ3pEOBlvNXbbZsyU3Nr0ennnJi13-4Y_w.cache +0 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/ff7lDF1BNYau6Asgy9iRz-sDQPKbisAwkK-p-szBbHc.cache +2 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/gdqDQcO3UMCdaWZzNTwUNpF1pFZZKiGIAvbU1GxGD_c.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/hD9RAr0FchcENs1yhGMUd95Fl_oE3DsOMpajz99WctE.cache +0 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/hZi1k6tpxxCGYxRe7zY74ItcOI8gZrREOpGuA8JSpGg.cache +2 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/hjEuBbNqDGc82aGxOehokB0iKHcf8F24CUb9D-bsp8c.cache +2 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/imFW47Eteg5n4REGRReo7slYOAEIvUgJa5jAA6C8hi0.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/iulRqqtUmrCzYfz1OZwdWKSOzlRfZGQOYGgvGknt-tg.cache +2 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/k-mDAq3YYIwpUFsy3jHhlL-6Z4VP-HkJXe396GDOsfc.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/kZ4WzVCZamGk0jw4M05Y14hnni8L8uuPGR7wujhmlek.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/lbHoWKdpY9lKV6FUzBjv4n1ToCT4dhJFejsMSbLfeOs.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/mUKfdlx29M3xFmkHrKdHV0eJK1eMGiqz1KaN2RuQn5s.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/nEp0okfYi7z-fR78zGnxabwr73B25sSyBtXE136BA7E.cache +0 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/ompUzgaB0qfmoE6djKuHjLjMYlToLX0_lb6iFwWPO0o.cache +2 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/p7e3wYjZm_dUlRJ7OSpdcxc8FD-2YMVJTHgdeHqEBDY.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/pEhaat2KBd5SrT7szC_8R1_6hK17FTpvoRFkmCRSD3M.cache +2 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/pIl-ZjvFPFiviK0dFwed9ajlaq7X2XHegQ2tqhxoPOY.cache +2 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/pmwVuIVJC-uyOk5iakUZaTC1Bk8HfTEXSRpK_IPayU4.cache +2 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/qdLsnHdgCfZ1stwBKhIyWFFjOcx8hmytg1crlU7dnYc.cache +2 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/qflaeiDYybzUcUvVUdvEWohlQ2PhAjN2NBEOGh9msO8.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/r8VvhJdWkyi3y0I4ilHxADozvy_tGy-L_aj5PxZkIoY.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/rWoe-ykX3jWCyJCJoruYBahRZhI39h5Dm4foQpXC2Pk.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/rb4lULLCosykmgGHYQMNcylKa8vlCIDisGukkSVh0ck.cache +2 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/sAFF5X3ZqfjbwQgggM40JJbD8p9LKToY1TQmSHnupLk.cache +0 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/tYTFtQWnZZTPwYaAnFxSNMwKneAQu3y5ZGRUnoJ9U-U.cache +0 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/uD59U0f1Bm9MpfohmfGBh-h0Q7Si5PVhrpmmUeZa_B8.cache +2 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/uJfGxpP2R4_xg2wN-qdbrN3t0h_yam10-HYlJLsHTL8.cache +2 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/uK6bUitNr9x7VSukvoIIcgJw-MdWfh1V5sHSN6pEFZ4.cache +2 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/vOoo8ZvzE7ZqCZB9sU01kivdOVyjw7FknMG1m4GVwRg.cache +2 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/vncVBh7sw8jYYHU6F3jliZF7zOC4RpXv6qnOjZVF-DA.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/w7vbDCITLuauXpyqR3Q6I-Rr8Korx5wUsmPayVNW56A.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/wU0iaywy_173IJtneJfoqqCyD6A0EpjCsxONh4Skacc.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/xRMmQQ5p1UFSAeUPurSOKeS2ClniOk8JY2mQsnuctS4.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/xxupvwjj656Gx4oa9aFjYP392pD9q2Wi7zpdgo34S94.cache +1 -0
- data/test/dummy/tmp/cache/sprockets/v3.0/zRufqlRd4EBQgO8E496P0Is9yKuxRN-6BknN9y-EbOo.cache +0 -0
- data/test/filemagic_test.rb +7 -0
- data/test/integration/navigation_test.rb +8 -0
- data/test/test_helper.rb +21 -0
- 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
|
Binary file
|
Binary file
|
Binary file
|
@@ -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
|
+
}
|