formalizer 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (452) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +207 -0
  4. data/Rakefile +34 -0
  5. data/lib/formalizer/errors.rb +15 -0
  6. data/lib/formalizer/form.rb +127 -0
  7. data/lib/formalizer/form_field.rb +322 -0
  8. data/lib/formalizer/formalizer.rb +253 -0
  9. data/lib/formalizer/utils.rb +61 -0
  10. data/lib/formalizer/version.rb +3 -0
  11. data/lib/formalizer.rb +5 -0
  12. data/lib/tasks/formalizer_tasks.rake +4 -0
  13. data/test/dummy/Gemfile +5 -0
  14. data/test/dummy/Gemfile.lock +12 -0
  15. data/test/dummy/README.rdoc +28 -0
  16. data/test/dummy/Rakefile +6 -0
  17. data/test/dummy/app/assets/images/acme_logo.jpg +0 -0
  18. data/test/dummy/app/assets/images/formalizer.png +0 -0
  19. data/test/dummy/app/assets/javascripts/application.js +13 -0
  20. data/test/dummy/app/assets/javascripts/fill_details.js +2 -0
  21. data/test/dummy/app/assets/javascripts/home.js +2 -0
  22. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  23. data/test/dummy/app/assets/stylesheets/bootstrap_yeti.css +7109 -0
  24. data/test/dummy/app/assets/stylesheets/fill_details.css +4 -0
  25. data/test/dummy/app/assets/stylesheets/form.css +20 -0
  26. data/test/dummy/app/assets/stylesheets/home.css +4 -0
  27. data/test/dummy/app/controllers/about_controller.rb +6 -0
  28. data/test/dummy/app/controllers/application_controller.rb +5 -0
  29. data/test/dummy/app/controllers/demo_controller.rb +103 -0
  30. data/test/dummy/app/controllers/home_controller.rb +6 -0
  31. data/test/dummy/app/helpers/application_helper.rb +2 -0
  32. data/test/dummy/app/helpers/fill_details_helper.rb +2 -0
  33. data/test/dummy/app/helpers/home_helper.rb +2 -0
  34. data/test/dummy/app/views/about/show.html.erb +6 -0
  35. data/test/dummy/app/views/demo/index.html.erb +7 -0
  36. data/test/dummy/app/views/home/show.html.erb +22 -0
  37. data/test/dummy/app/views/layouts/application.html.erb +24 -0
  38. data/test/dummy/app/views/shared/_navbar.html.erb +16 -0
  39. data/test/dummy/bin/bundle +3 -0
  40. data/test/dummy/bin/rails +4 -0
  41. data/test/dummy/bin/rake +4 -0
  42. data/test/dummy/bin/setup +29 -0
  43. data/test/dummy/config/_formalizer.yml +102 -0
  44. data/test/dummy/config/alternative_invalid_config1.yml +41 -0
  45. data/test/dummy/config/alternative_invalid_config2.yml +1 -0
  46. data/test/dummy/config/alternative_valid_config.yml +42 -0
  47. data/test/dummy/config/application.rb +26 -0
  48. data/test/dummy/config/boot.rb +5 -0
  49. data/test/dummy/config/database.yml +25 -0
  50. data/test/dummy/config/environment.rb +5 -0
  51. data/test/dummy/config/environments/development.rb +41 -0
  52. data/test/dummy/config/environments/production.rb +79 -0
  53. data/test/dummy/config/environments/test.rb +42 -0
  54. data/test/dummy/config/form1.html +139 -0
  55. data/test/dummy/config/initializers/assets.rb +11 -0
  56. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  57. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  58. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  59. data/test/dummy/config/initializers/inflections.rb +16 -0
  60. data/test/dummy/config/initializers/mime_types.rb +4 -0
  61. data/test/dummy/config/initializers/session_store.rb +3 -0
  62. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  63. data/test/dummy/config/invalid_html_formalizer_tags_without_ids.html +5 -0
  64. data/test/dummy/config/invalid_html_no_formalizer_tags.html +5 -0
  65. data/test/dummy/config/locales/en.yml +23 -0
  66. data/test/dummy/config/routes.rb +7 -0
  67. data/test/dummy/config/secrets.yml +22 -0
  68. data/test/dummy/config.ru +4 -0
  69. data/test/dummy/db/development.sqlite3 +0 -0
  70. data/test/dummy/db/test.sqlite3 +0 -0
  71. data/test/dummy/log/development.log +7107 -0
  72. data/test/dummy/log/passenger.3000.log +2681 -0
  73. data/test/dummy/log/test.log +4830 -0
  74. data/test/dummy/passenger.3000.pid.lock +0 -0
  75. data/test/dummy/public/404.html +67 -0
  76. data/test/dummy/public/422.html +67 -0
  77. data/test/dummy/public/500.html +66 -0
  78. data/test/dummy/public/favicon.ico +0 -0
  79. data/test/dummy/test/controllers/fill_details_controller_test.rb +7 -0
  80. data/test/dummy/test/controllers/home_controller_test.rb +7 -0
  81. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-Z8-x8TP2IpXxzIQCnPJmwpJQLBA1vkQZIs-v5IqO1M.cache +1 -0
  82. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/0QhQ_r6EX-PaO37-YZcRkQsrNuiQ2lMZ78kOr9nizbo.cache +1 -0
  83. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/0gaoXk74LdRQaVC-V6RnHNTFukvBZK6P7TSCKGK3iB4.cache +0 -0
  84. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/0lmMGqilvmPepfDYe-P4TPj8HP55nK4OJgU_A7JN3vA.cache +2 -0
  85. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/10FjxP4BObnBgDu_BfPbcN8u9gBcUtffAu43bKi18OE.cache +2 -0
  86. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/1E4iNysYJh97M_YQ2yLOmaIpv-TrGgZMuC1GG79zjPo.cache +1 -0
  87. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/1LojJt0HPxdTxk8roqIik_rXQ4lXs1dds-NUPqBSLQ0.cache +0 -0
  88. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/1TzpDaiXe-zq-W2i_uxXwiRngAIoS4lMkMV1YF_-Klw.cache +1 -0
  89. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/1ZIYPPoIRMG1j1vxQhisia--vKTZrc14_GQdwEsFQsU.cache +0 -0
  90. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/1ZylVP7ZDoGvLc-wMWjmTFaWqlB0BOGWbbESKK_O5zg.cache +0 -0
  91. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/1zeTrAPOtYLg-JXxWQtphNiGAEZjECivNLOO2qHmZak.cache +1 -0
  92. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/29NJdbsFyjUzJAXIzHCoilXDeM55NW6O3cuuRoMir44.cache +1 -0
  93. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/2pIrDdq-LQAZYsU3rnabBAAF3KoaUqd-UddqjLj6tig.cache +2 -0
  94. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/2t9hRAvHgc_FJbWXTMo1S0F6rT4U9Doze_q5dKJ-fIQ.cache +0 -0
  95. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/30olZHQQ7WZTO-OTXByCyV6vQvD-jRNTxeLSKLexBZw.cache +0 -0
  96. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3E_mWo1orMy9qt95H9QfIEPkUy47lB7SEZHViXEsFqI.cache +2 -0
  97. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3WbrpN7fxH07Jo9_3u6T1QT3aSs8f0GtBY-tXlyMFGU.cache +1 -0
  98. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3c3Nfn_SaD6FvHwA8eTWTzPRLztBsPQsm4lP92p1Zgg.cache +2 -0
  99. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/4Qy3ua1ZxecQRiTw0N2X_g5fnog79TcUHR2OME4vIPE.cache +0 -0
  100. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/50srOL95A3hQiQ4Qny9El7UtyBykNpLQqwIDQoVhHk4.cache +0 -0
  101. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5BIJNXi8oXVWoLSkdp4lc3Th8PwMrk4bvez8RTabMuc.cache +1 -0
  102. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5GwtVhuOkq0utxLWUiTqEU3Onyx3OrVgux-7uDhK0Ew.cache +0 -0
  103. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache +0 -0
  104. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5O2LYVux25geVSYTIjv2zA6Mm7Q7_wM0QxCacxCn1A8.cache +2 -0
  105. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5Pgc4M14GZWEeVTkkd04jQEJpdqVAmyqi9glF6vb73I.cache +1 -0
  106. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5QCJCh3vy-_xBXSLbJhjpsNpLjMQmgHC7KlC5EBldL8.cache +1 -0
  107. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5QPZLgIEGL9Ktghpx_Usd-LEixQ1JmmMc8h5mpkosD0.cache +0 -0
  108. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5R-MvIULCjePz0cM8aamgI1CGUxcfDuzJlmIivuhkuk.cache +2 -0
  109. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5zHbuyCXcodrnyA9RJb5M2roj2pmi7Vak-F3kb7AGxs.cache +1 -0
  110. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6E0UuAMaaJmKYV4WHiNr1cBWr-mwujiNLKJYbZBy5A0.cache +1 -0
  111. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6EI0VFQ3N3P7AOjW8AEjrXZdSuCnCv-fpZ64e0bjynk.cache +3 -0
  112. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/7CXKpj5B6dzyBoSsGgu7moPco2r0i9PbwzVXo1lHozU.cache +2 -0
  113. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/7FxuwZmru_T0Zx8aNR3TleboQkZy5z3NeGNrwPzP7cY.cache +0 -0
  114. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/7Qzcd1UvRnkRnZ5b54SSviAKsURjRAGoaK5yTsg4MxA.cache +1 -0
  115. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/7aFBjL4if-asPUbvotQpxcJTzMgAX9LsHAQVCppeSXE.cache +1 -0
  116. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/7lvyiihvB0xNdKRsf1KPaqFm_3Mipw8d1db4V8lJteA.cache +0 -0
  117. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/813bj5I6yZb-wXefodCetOCKEDEL_2AbNx1a02m7-KQ.cache +1 -0
  118. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/8DY9xobqxlwyWnYa-twKg1BMFu42a1oOfvx2Zk8-QRg.cache +2 -0
  119. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/8kChD4u9SX9-EQY63SO0-ergLuOvDIf46vR60I3T0qg.cache +1 -0
  120. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/8rlj1JnFHejUL3raWFeliRWCPWCnJdn3UrlKHovKdbs.cache +1 -0
  121. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9BUi26Pi2HjaBwxW3xqwhp3-Nv9HqvKnYi-RR8KcuWk.cache +0 -0
  122. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9L0RNb_fbisaw_9WsSFYANfhgTuQtvP-91QSEjXNmY8.cache +1 -0
  123. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9XgPoYN_JsGzZkpXeM3pxQXrYH26-9gSsoxEp6HpEUM.cache +1 -0
  124. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9j8hez9pHdCQdcwjpKeoYVrBmVfR4ASBCJUtaO-CN5s.cache +3 -0
  125. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9kTCjSGFbe16SMqnP158MuUj3D28soCZdwKuAsJzbUM.cache +1 -0
  126. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9lx_5ziCg-eDu1m2pR0-AVevZkF224xRlIvfaq7PCUo.cache +2 -0
  127. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9ztFL_5lRP0EpvY6Yd8zo0LH5wpnuxoAxDa5ffRhyC8.cache +1 -0
  128. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/A6zGVTNPc91lU58ffj05A46ORdomivGj5lc_q3_XQQQ.cache +1 -0
  129. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/AC-yaYeOXxlIdUwTDpTd_TdSmK_-ZGilXZPaleWhVm4.cache +3 -0
  130. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ACsvcWXFkXGo_dZSWRNCzv6q67NHrhjltwMF4SyKs1s.cache +1 -0
  131. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/AMY65tvjndTjQ3V_ZahdJL8X2zj93DU2o7K5FPvxu1M.cache +1 -0
  132. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/AfnuA-IDSQtDAo9XtkPxxczSKB-VlblUrZXAKCj-QaQ.cache +1 -0
  133. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/AfqP34F2lwUisVYv00aFZKJ_aiYs8smx4j36oeW-S6k.cache +0 -0
  134. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/B4oFb3TRenHH4JcduyCvGTFxZdU3-VvTQ1LDvm_-iIE.cache +0 -0
  135. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/BUMVcNGlZ_mEthsPogkRuGobQajJknMTlMbRrCDEWw0.cache +3 -0
  136. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/BhtNyi5hwiVF2UewLiIUG0mEvA4dTsuA9OZfLInxiaM.cache +0 -0
  137. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/BrL6mwK6Wl92bBsvnD7AQvHWBpWjUC9-hVUuew9XT28.cache +3 -0
  138. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/C-JhuIiVv78piyuXHnljYWwor7hg29mRYWxbFgsSRAQ.cache +1 -0
  139. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/COs9Zo-3ILgYwVitDgIYCUYqG71jyK12ukoiV9DgXGM.cache +0 -0
  140. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/CTUWBa7w8yk1eBR-vVnNVN1dD-U9aUQCm4RvF-RIYvU.cache +0 -0
  141. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/CXmlgiMLFXGktY7o_a-zXGvORAwhacWo9qzuYfEGE1Y.cache +2 -0
  142. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/CYZk3DPZTVGkS2PnZvMUwL2FZdyXbaP3rElZ0sKlTZ8.cache +0 -0
  143. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/CZI7jT4PWrphGBTddtX9G0MlBskacV4xNnNIiJXLNgU.cache +1 -0
  144. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/CePIL6yNvdNcXUbCs39xoB8mYs4nnVdGrFW5R5CKggQ.cache +1 -0
  145. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/CjHnZuWbfmemr8OwunPxBX2q82kfqQrpyzZqQlgByb0.cache +0 -0
  146. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ClbLBnTjKQ2M71bFPm49Q3mL6f1ezJqft9rA3amsQFw.cache +1 -0
  147. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/DKPWCuG8-WIOXIo8ZtYEQSW_cfaaGpNJh811CN497o4.cache +1 -0
  148. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Ds9pJpmDkvJOvR198IUwYc9ULGPmil2iTqFiFiGjlTk.cache +3 -0
  149. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/EDARLTaT4IC1VOfwV6baowYKbgOdR9-vtVU6QyLQTjI.cache +1 -0
  150. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/EFQva92FBkqJrXlwFMm0pOyMbmEIDZZTjKfNSL_SkZc.cache +0 -0
  151. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/EHfXjykHNwJnJ2mPC_X-9u5XQ-lo3m4lSyPzw-raCms.cache +2 -0
  152. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/EK94JTjppaz8RHle7cCnC2-AtPXwdJ8yDkUP71ZUnek.cache +2 -0
  153. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/EwckOCeKfibFMJk1ykog1VSiAkRxFPJRomR6UnhspFA.cache +1 -0
  154. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ExtPB6HexdzjWLQJkCzrB5IkQF3ZZXpBa9IPQROeLIg.cache +1 -0
  155. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/F3oiB_iZ467uXhAv4IjoV5eZSm-bwgS6xUjszPD5e9U.cache +1 -0
  156. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/FLTgQmbIJNhFOAe7KHjPgxgSVYkYlXH0Zluo0g-u5hs.cache +1 -0
  157. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Fns9pIxUWrPU5h9kFlyKS-PwKd8HxU5Q5XOD4g0BDeo.cache +1 -0
  158. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/FzziiFjbUsrpb7SF0ce2ZkWkxLwjo1wA24G0hXaeIkQ.cache +1 -0
  159. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/G4BoLpM5zXXaRM_wF7w6DGkOQj0_e8uQ6g6DT766VrE.cache +0 -0
  160. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/G8NeUk52Hnr7bG_HKvsYHrwPVbf5CBK-faalsc0CqhI.cache +2 -0
  161. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/GTCjnTkoJck-uQZ8rDMK4r714HhpzeJkNtzPFQV8DwA.cache +1 -0
  162. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/H-vLBWd7GFBKYhIfIvjrh_ybAYrwqt68JLUd2byKlKM.cache +1 -0
  163. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HC8vOhiwVnfoGJvnxqt_LC-wzGgzV4N0m9oKKtx7N80.cache +0 -0
  164. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HF6WTSaNGkbbpYZKSQjL5V4qNzevXksPfMsclnueSZA.cache +0 -0
  165. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HRQDr4TsPyfcN8NC7b3hmZJH11mUY7vTjoscEUdlesI.cache +0 -0
  166. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HWkb49cHyNx6KuEmVwRc8kLyFRR8KSqwIWuRirwMe4A.cache +1 -0
  167. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HYCvQ7OACArsJevB7clpYUhju6qbdSyS_lPA0HTzxcE.cache +1 -0
  168. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Hi1YUR3014PHRusUI2Psm51L3qSNb6NNtUjAoqdBgJA.cache +2 -0
  169. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HkivVuo1QbHiVAZRwxz8KISg7w8SkVsLvXXPjTyo1RY.cache +1 -0
  170. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HtjMoz49NTbpPgQ5E7HuoCduA9wa6_NbwM3PosrO2S8.cache +3 -0
  171. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HuK4Oh3hKlvMS7sKaJ-1IJset3TEcndPwPSIc44otsw.cache +1 -0
  172. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/I-8CERt84_2ELVeGVTwnLrIVeXtiYNjz9MKKpaE9a1k.cache +3 -0
  173. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/I-pscSbe6WWQ-Hy600ABZdc6wMYC1utqCHCpXRgHkck.cache +3 -0
  174. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/I4X_-Wfk9tSNv7Y7DN1stcfdEmVP66GhbIg4rBGTvJk.cache +1 -0
  175. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/IIHFsCskfZ8wud0ArVYadcEz1sCwDNST_CzhdRQ0ymw.cache +1 -0
  176. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/IN3zcsPPiYWRXkoyEdQTWYZdobUm-hVZPF-RsyKSLZo.cache +1 -0
  177. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/INv_HAthrzDkm_D38eTGnh1Fv0Vj_MuX4fgbbRyXIuI.cache +0 -0
  178. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ITHO1axalp1rHmqR3YvaIkjcAvn_b-ZDcFHAwd77x8g.cache +0 -0
  179. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Il6R5QNZ6BNMpHu2VKbgxYd7kLnD_VBlXj4sNW3Ogrg.cache +1 -0
  180. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Ip3sIWGeNobzJVqwWB-9uzzRqvRzIl16lYYu2LwYSkg.cache +0 -0
  181. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Is-w-V5glNAuSJQI6LlVgYrsrBpTkB8UuMyvC18kGP4.cache +1 -0
  182. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/IyqWEHJrFKiApIk9ykMM4aexL6XjINdu8SM_hvODC5U.cache +0 -0
  183. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Iyr9ur_AZWlgQioN9Q_0ZIHzk8eAR2gcP9rA9U53a2I.cache +0 -0
  184. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/IztqlpUnlF6g-AK41uS64ADOb_UqrV2XPKipfwMZtng.cache +0 -0
  185. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/J33O-gglLsJXTRsiLsEaZnkx2EejYpaY3xgL08iGtGw.cache +1 -0
  186. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/JFyms6REaLPLPGIhMN9PGqjy17pfjTRUVf7eZu9Pxco.cache +2 -0
  187. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/JIHTpeIeHLyoisKIzpqO0eHdGhi5nEKWj5-RcVKRCM0.cache +0 -0
  188. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/JW2xq5zPnik9gBTiiH4F_youPivdygFAzUOO8MbWgkM.cache +1 -0
  189. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Jd-S8kl1kAIMxvyCcIuOA7ZGbyL26f82Ye-3R_XSjdo.cache +1 -0
  190. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Jze_hM1mFPXNRoOoJw19TGQvSkWHNCf3QMNVc0ziz_Q.cache +1 -0
  191. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/K6SnboDPlbuabJPpTZ0JPk8gO6RFUZBqZ86JAtADJEI.cache +2 -0
  192. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/KA5cXFlW0WDZ_VC_cWZZYScTtlyiF3RVGqBEGU6eiWk.cache +1 -0
  193. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/KDwg9dU_fSHgpLW4os9qv5BQy9zdS-M9s6Ayd-AANVc.cache +0 -0
  194. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/KEmMrd7MCPJPBEXnAmcfU3NSj_picTq8W8sdG9tqrqE.cache +1 -0
  195. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/KIkXGvm2JGXJ5o2qXMFuGbgz6qMOB6A_YxWOUPIHKK0.cache +1 -0
  196. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/KXINFsNMK_ckYGMJQGJfbFh6Z6epFg9k-5Qhs9rW9EU.cache +1 -0
  197. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/KZT5maABQpPM8h1-x2KELDmK3nd7nKk-gcX_gjMgt2M.cache +1 -0
  198. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/KepueFEdf6u-gcEmbP_Co4sI430KiPrpm0DZTrdbZUU.cache +0 -0
  199. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/KhI2DHSuQgZjCK0ekRDtvbZpOwdYZri_CwBZ_JkxvOQ.cache +2 -0
  200. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Km_xMbxQ71ubb9QRITDKX704GvVKFUCbb0nUvxa8thQ.cache +1 -0
  201. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LEKS-dzBMjc4eTyBxtrkhH2mBdtswpViSIhSflnSWt8.cache +0 -0
  202. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LVNi0m_Fz46uZMQdhGs_Xp2qaC0-FvTGXGkvKC4t4d8.cache +1 -0
  203. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LX1cGvPp6Q6XjdGWjj9TR7J4-zLSGXBgJ4V46lvreMU.cache +2 -0
  204. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LdWTufB1ksbF48SkjjVFQaGOGLZhuR67aZdg86lyIlU.cache +0 -0
  205. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LdznozvZmzSQM-vN4gpeVOi7BnxMKo9wORxcV6AV1C4.cache +3 -0
  206. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LrSqV9e6t5RRqIrQNqg7rJNyEmu18afM4pmQogLkpaQ.cache +0 -0
  207. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/M0uQOpQsd2JJzwD9B8xFoWKkOeXsEv989W442_j6GWQ.cache +0 -0
  208. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/M7D8w6LkvEVOKTQGUh5UeMFsZH9VO0AcqcYXjP_pBUI.cache +2 -0
  209. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MDLy9q5bNSELATVxXwYNiE_EWIk6G54Vvp6-6Nqe5GI.cache +0 -0
  210. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MZlIjxVbEXORmEiPpu2WfhYYmXabfs-Mx0CK13UOI68.cache +0 -0
  211. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Mty8gekO-EN4nBDIU6_1vSciYe3nym8NZFIu8Blar-o.cache +3 -0
  212. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MvmfAyy9rh72Z5qHWYe-P86KDG_4TypMgkIvJ9H_VZg.cache +2 -0
  213. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MyIKfP196ecHA5x66VvwST274efdOn68xI7gr7-yO_s.cache +0 -0
  214. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/NVDHbW4cQm1BkVqKaV_UZJCoUGOjV__cQDP_BkY28PE.cache +2 -0
  215. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/NZYfENdib9jQ0mLkOwrrHkyePDmPSnsyNBF09R3RjDI.cache +1 -0
  216. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Nw4FfwPy0V6hfEuMiecmCowRpPVW72JuqlU1XiIbwIY.cache +0 -0
  217. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/O42pf20jdFJ_g5abvA826QHjbBd_O80pk4MWxW-tCsA.cache +3 -0
  218. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/OAJRpn8VLCOm_jZEmbk0pORgSlL7gp4nFifMo5niF-8.cache +2 -0
  219. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/OGtnLVkXIOrBNwwxtlEOXYAU-nA5S08TDyFelKR3iYA.cache +3 -0
  220. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache +0 -0
  221. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/OO7RmvETdJCl6nDgMH22qEwqpy5SjZ2MMEBlC6tG8hI.cache +3 -0
  222. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Osvd5BC9KZ-hK4npyrYgEsra8aCVLyBTWo66yXU4904.cache +1 -0
  223. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/OzJXhurZ1BYWL9zrfbxtEKM1oEzmIl5xNWB0kEDMcOA.cache +0 -0
  224. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/PCOy1GxF5pveYHXcBMOi91KB446LiGmPMI1UFX8g_-Q.cache +0 -0
  225. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/PbS6_clOuwqA9I6Ve1r-WHw9oyXHcbXLmbpDmHQShgc.cache +1 -0
  226. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Q4TMVpJ3X6XrShazzrnMrNim1_G-BNe0VdCulR7F-yA.cache +3 -0
  227. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QHu3oOt0N98TteMY5zXqcj1z97xn_5N43EfY6Pi9kL8.cache +1 -0
  228. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QMaS77aFhjfvAlv3pTOkHY8huXHTx0qwk-Q3XC-LUuw.cache +3 -0
  229. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Qr1oeXB_1KGcnRFsaYAvIrsxKqj1Qb7vWnTRmgXk_VA.cache +0 -0
  230. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QtA1YtaH67pw0mVtsf1tkme50FTIriYFZ0ho543Qa3A.cache +1 -0
  231. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/R4DimiN58ox6KgjnR2eQwODucfhsWMz41f58AEW2fIo.cache +3 -0
  232. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/R6PcDLPOUUtOP-BD7s_Ur0xv3uF6iMce62QfJ-box9g.cache +2 -0
  233. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RCYWsl0xUIU2nNKGL8x7couerrGdH06aVPyqe4T3v2g.cache +1 -0
  234. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RPaoa37GUXAxFdY8fAxaqrBcqpO344RueeI0-aokr-4.cache +0 -0
  235. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Raj9vOIqeGhMSGtu8Q_sPxFPdkVVSvpAJq2eZjkurSI.cache +1 -0
  236. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RasXSipZI53ixic83Lh1Gyxf7EZ-ZsS-xs6MTSlr23c.cache +1 -0
  237. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RhDVv9RZb-Rf9b572V-Tby43AKU0VobRcA3p53frD0w.cache +1 -0
  238. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RoSdinmQMNdbk42r-5aRk-ZSpex9SGn1M9kToboGRlM.cache +0 -0
  239. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RtPqr-xCyExVFKXPLlXveg3hS48LPIvlyGbMoaE9A48.cache +1 -0
  240. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Rv0ZOQezk-pppzUrdpvYZIs6NI_EYwa-F03k1Dyv6LM.cache +2 -0
  241. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/SJW0DP3AhW7DLwnpif11zo1ebaTOSKFyPK1dGObgwec.cache +3 -0
  242. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/SSs8xG34aB14Vj5PMy_zMyWZ_CI2NaiP7aUF4hIX4oQ.cache +1 -0
  243. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/SejMpuiBooXU6eBSfO33CrjJR4wNjWC8zkm6I1GAeos.cache +0 -0
  244. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/SgOybhbsgRVeyoYJJM-c3kEvJYV1gxpuo7rN-mb3Tnc.cache +3 -0
  245. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/SnzRk78-FyJIzk7pMe4SIbViUnt8al9lQ5Gy8XhFrIY.cache +1 -0
  246. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/SuILTE3Es0N_r-36Ddu2E6h49WcwH_-RsZyG4SPwKFQ.cache +2 -0
  247. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/T25N6kK7z1ktWO9T4A9GAKDxA8uV_40I9iCK72yJAzg.cache +2 -0
  248. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ToO9q9KZUkSycEPeq45MeeteesODn-nUiRkc_2K4Odw.cache +3 -0
  249. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/TpYQkHppriVPoi8yZlS7pr6M0VR-8bgS68niJd5mA_k.cache +2 -0
  250. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/TseCU3hhL2Yp_9cVEW4ZfF410Uc5RsRl2WJ2e_RKzYQ.cache +3 -0
  251. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UGP2acGAePQXO0CTCNSktz3KFcnj6TVRjK78o3_-Z6Y.cache +0 -0
  252. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UTA-dAu39ywx50aKbw-_vIHLbrENV9O11MIOmfAcqwY.cache +3 -0
  253. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UUuqFAvUHy8E32lwI0UKWj0JDvMFXin1lOZh7r_CFU4.cache +1 -0
  254. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/V7-8OhEYcV91Tjl1Mp92Zs-q6tVYY_NoXBRZQB5vROo.cache +1 -0
  255. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VP-5hBBPrMcJGIIn6HqbMSqU2AOAWb_2b7BAWcdrc1c.cache +1 -0
  256. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VQj8MeqFcSYovlGUK0G9tMS2Xu_WouD5nZPyKyiweq0.cache +3 -0
  257. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Vlf9_BCT3w6tU64yjiuvN-opIYynyGIFGSKW8Bb5isw.cache +1 -0
  258. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VnoinoejmNyMusctCLIfDXuFCSEi8usJC8m6xDhUjq4.cache +1 -0
  259. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Vz_XyP4dxLytmt1nM75kFGT12PZq3bNYSD4lvdLEetE.cache +1 -0
  260. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/W9RiVsPehgaZrUMdd9IMxV6tWIOaJSUJC3FkXb1X_B4.cache +1 -0
  261. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/WRHdYa7fEbFVL6yef8rtmfO7EkmHLP7mvLYrFsydc7M.cache +2 -0
  262. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Wma3mCvAkft1gb4iskpJcSKJAxs20F1f9J2E4aG1a58.cache +0 -0
  263. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/WqdHTk7KRwHNiGDY3E1WbSwBE2PWrTEC_HKQ2dgQh_4.cache +0 -0
  264. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/X6fitKDo9k84hcsJAAFipPaeAqWy6LI4yN0xoXUMI-8.cache +0 -0
  265. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/XETabnfMEH6v-S1S7wAPpqzzyrusq2-gKEj9xXfazWQ.cache +1 -0
  266. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/XObHVKJOPQbhJIypQ3m2F7cKPAyfUl2i31t0ZpyyNPg.cache +2 -0
  267. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/XPURjd_micKqrq3ZsfPm4DEg045aMh0u2t6H0Kg9Yvs.cache +2 -0
  268. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/XimghOZesEI6BcweyGe411shS-dhkXGeXfICxpTMaP4.cache +1 -0
  269. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Xq5ZUgEeXuuZ_LjabsqNrD-0Go3uQ_Cyp61HWjTc58U.cache +2 -0
  270. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/XynXdkOeORTqM8SLwd29IBzqweNuC8cwHaKDU6aCSK4.cache +3 -0
  271. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Y2JXHdR1Qwb4e3EeE4Ez_zsdxDGOIBwOchlk5EROlTE.cache +2 -0
  272. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Y8R1Go-ZDdkrGFky02NN7UnMEhQk2DqxsvSX77Fa6FA.cache +0 -0
  273. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/YHkX1Dz4-_N2HxZ5NqTKZci_3AXSvWJeJA_i_31f9kA.cache +3 -0
  274. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/YJbah_vlhgRdgT_Teq1T0fCbheSTzHIoHemg9qXindA.cache +2 -0
  275. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/YRwMHi7FPQbp1ciWNBf8zVdyOOQZ90gZxW-FGjsbo0M.cache +1 -0
  276. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Yck0uONNPexAbm2FyBPrfd5yIS7zF6qget0qv5CjsHU.cache +2 -0
  277. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/YkwiLOME0K0S68fJF1m4B59vHPfCrL1XkvKuU4REXOU.cache +1 -0
  278. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ZDVfJezxW8_ZZwk-cwh-Xi0vzlaptRAdhzieKE_zUFY.cache +0 -0
  279. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ZKHvJwMZX4BDjok7en1aRFmYUMIGKxP-2WLxxfmV4_0.cache +0 -0
  280. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ZKMpLctz8nAvAMaFYwxiwBLh_0HFVR00Ef2Tp-L9gk8.cache +0 -0
  281. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ZKaeyFbyv_L52WIc3QtQXTKgCIpwbTR-uFJLaTMGqMw.cache +2 -0
  282. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ZMXh61oyO92eyHwgIArcoEU68tdVc-dasYwTUiSdsv8.cache +1 -0
  283. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ZOf3jjmjGkvVrLqqqgnNzuiOWpkOmQ9MEIwXhtswC5M.cache +1 -0
  284. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ZPgHNAJhX0yVATfQVK4g-l9clGnQ4JK6uUQSZr3izJs.cache +1 -0
  285. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ZirvH1uELJOGqJ_P7CHUAeE_P7jHfDV-kVS3hqudqrM.cache +2 -0
  286. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Zl_4gLKgfMkcF_M-9_ZEbdVsN5G3srKY7ntGrMlSrHw.cache +0 -0
  287. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Zq028YKPdCngXVGfBnaVxR3ggnSLIXPPQmXKuOrf8Rc.cache +3 -0
  288. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ZrHurvGsuXiJ-LyErQBL_Z09EEVtYRzmGCuik1pCbMY.cache +0 -0
  289. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ZteKWxvlB9lz_cw0HUFX-gLZnyvx2Zl4yndbIQRAjqk.cache +1 -0
  290. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_CyPKbQqBzpjkvVSPJCuRZ6LPST2L8lNbl3pPaFoHJ0.cache +1 -0
  291. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_FzZXs9cOynmEHX2NNQ-CN3hBm85EZozlnqahZgW0p0.cache +3 -0
  292. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_RxurG4mXmoQvbBTBfr-_LxySQdZ2vRVo1x3z6BTIM8.cache +2 -0
  293. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_VTTW4fptVcLI6EEhHyBd4Z8Sqh8TQQ3-xQmcBCdhFo.cache +3 -0
  294. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_VwqClblffKCdAP_EdTPlIsw_a4CtoYdZWrIqsvTEOQ.cache +2 -0
  295. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_qTdVcypJYB06uIuozk0oFgOO-20TwjPvSXO_We2SFA.cache +1 -0
  296. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_qXTu5xPKA0W7krxy7i26PqnCiZfom_FyzNgoRcfhrY.cache +1 -0
  297. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/a-ZMeoDAaumcckLg0ikJ4VOpG4myE6TpW8NhkwHfEEY.cache +0 -0
  298. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/aTBvblCTpM9NO4FybG9Gj33dec5S6b_XUwAccF1aZYs.cache +0 -0
  299. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/adco25PKONAOLm-3rk6IkBIQCnbQZW4Ho6gjCtHDkDg.cache +1 -0
  300. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/auxxd4pZZ_TDPxKd6Z1PHX1KB7GK6XR4zZCkpSTjTIs.cache +1 -0
  301. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/b39zQHTjF26g2idhY9yeVDdpi0l5AHiJJI9GRYqF6mU.cache +3 -0
  302. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bD4HLMG-9D4qPG_FjmXWFZ6gjrSWcpls07sjaZ-O7w8.cache +0 -0
  303. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bNzI5dnyYKL0_36QaiWo9c62YPQqItx7pKCGRUy7FfE.cache +0 -0
  304. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bO-oLvkRTCzyfG1n2yXs_z-XnWJGQkeq6Epi7htFc9I.cache +0 -0
  305. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bTc-0wBzb4QwDigu6Db7NvQ_N2V40lyAP7vDnJ_nlH4.cache +1 -0
  306. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/b_F-ynokmpMl3NS98JLR_LB9VDh0YOK0UaWye7i8USE.cache +0 -0
  307. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/b_LqzZ-8tBIFMmv6e6UBt-bbUKJ2xvZ-REx5pGyx8iI.cache +1 -0
  308. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bx9uG2b5bzutb2J4T2Sa544N5DYCTwy2P6WBGzuxs_I.cache +1 -0
  309. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/dMTaD6SlQOW5HeTJA4GTKwarCYmPyQiARbMyV_vB4d8.cache +1 -0
  310. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/dTT1R1UEP8uYnzF7i__RYmTDlUukDJ3xN_20-_05KEI.cache +1 -0
  311. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/e1v0O2JKkRHQlw8TKb1w9oZB1vemT5pyrEti-lMF5b0.cache +2 -0
  312. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/e61CL-jArxF-LrNCE2KXgDQRs24C51uEjlx6Bi19Gao.cache +0 -0
  313. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/eUu1MwUf-0AQs7dOY9q--kK5o_T1G5PiS_K2T8YR48Y.cache +1 -0
  314. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/evKXHHSZhFrDfQz8cjp24eCW4GxCo7dGht_7kIJvzBM.cache +0 -0
  315. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fBscfaT8oxs7Yqm_nTectEFY7MEPIC4905izon3ZfkM.cache +1 -0
  316. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fQXVskLewjixaid5c-_oVGxkq-f67ZCyGJS-4elUdCo.cache +3 -0
  317. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fRuioQRNW0lMfz61Sc-O5z8cQlpP7T5UYGqcs0Q5M7k.cache +2 -0
  318. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fcB3WIgbOvDMnOx21ZxJod_7X6BgByfRZnnqXb8jeCw.cache +0 -0
  319. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gBLeBlrK5msk-pYd1S99yFV_lV_9__zpaH8xxhlsN3Y.cache +0 -0
  320. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gHfAw7eXqwbHMSaPLwMnsJ-2rpS4tPojjzPflsNwjS8.cache +1 -0
  321. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gUNIBdCSgztu1IV1u2Iea8rgbpdr7yfMU81jtrXab_Q.cache +1 -0
  322. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gZ1A1--Asdejq0JC1PUTTgUEDPpV24UMUvyGvPF9qLs.cache +1 -0
  323. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ggyLrLMGVAcFn7w9p1lH-wrhmfBLSbIBYRoAosZgBx0.cache +1 -0
  324. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gnsisTlVaZW5O8yedgMtd39R6RiNWwEugCpxg7Fvhgo.cache +2 -0
  325. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gsT50j7JKHuZpK4IhejdLyeaKfQHfRPi4cKFSX40xbM.cache +0 -0
  326. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/h36EXMrbHvbFBnm3LtD7G3AszmR4XAInaarh8jjchvo.cache +0 -0
  327. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/hI7K5kfULmC1N0zMvxGOCfdyDMLMqzTZ_0g-qE77V0c.cache +2 -0
  328. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/hV80P7h6cMezrBztIgEAn7INoQ7Sw6p_rnUGxg6SLfI.cache +3 -0
  329. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/hWu1uKCWmWR3s8-5BJoduM8XHlqgUs1A22oqy6cIioI.cache +1 -0
  330. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/hYh93QS-0IpGwtz77I27Poxio2RxvCbdfwUU5DUDDac.cache +1 -0
  331. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/hZi1k6tpxxCGYxRe7zY74ItcOI8gZrREOpGuA8JSpGg.cache +0 -0
  332. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/hdQmfiHfKbGaIkA-eep2f0S9_Vk4Fx_3495ZFE-5lvg.cache +2 -0
  333. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/iApklbYsz6wjnGnGAYDDvoryAu-x8xdYWFRCRICxkyg.cache +0 -0
  334. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/iRiaNr-fBLM-F3JuE14i-viRO27IlDgf7wSSP8iBX08.cache +0 -0
  335. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ifSFOIuEmyYMVEx24wla5z3sjbPQaa7ewQjWZIVK5SU.cache +3 -0
  336. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/inz6emggkYiVqCt-Bij5_ONj8YKML_oysO3SH3AXlfw.cache +0 -0
  337. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/iyALEPjIsWnyk6QHQmKHjw40Gom36pc6D2lMAVG5HAY.cache +0 -0
  338. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/j4fhwqDyIcPq-vVaM-r8IG9pkWB8unxSH-juX-2a5GM.cache +0 -0
  339. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jH9EdS7oritO7nZnEh6YwafCgT5JGaZfCBFZ1KgtDl0.cache +1 -0
  340. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jHeuZcbZgSPINIRRpB1khLlwKgjZWxOOvdlnNFfSEkQ.cache +0 -0
  341. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jL9LsrMlRmTbZOafIXj6ktFICgnHzgXQKlvs44HvaS4.cache +1 -0
  342. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jXAa5hghD4VHps1S-0rMrQYRXN8BBXvdn9E6IF0WjNE.cache +0 -0
  343. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jpHebb6f41gfqFBkL022mjpgGVahPL8Ekh1lLg2IlIo.cache +2 -0
  344. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jvbwlV4plHlp9PGnxZ3OUSBxRathaXrVgIYbETC4TLA.cache +0 -0
  345. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jxmh-q1ZW56jxojXdgi4lN0tIeaRlxXbjGoIMg9vz6A.cache +1 -0
  346. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jyqD2PEbsUGGdyIgbi8qzfxkUEXQcMx9KLnzPk5d0cg.cache +0 -0
  347. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/kKKd-AX4C2iQMZWzKs1fRBdZZ55e-EPGa0KG01lpges.cache +1 -0
  348. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/knnWBtJbi88d3b8x6dF6p4ULZW3CRg2iKMjOlzyl5U8.cache +0 -0
  349. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/kwNkwoshx63tQMuxFAI9_pmzzwkd0kQcAKGx8dy62r8.cache +0 -0
  350. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/l4Ffy5jgVLu9dt8-l5Kfc1HJe4d97NaNA9FVK3-EgZ8.cache +2 -0
  351. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/lG5HoTNviW0JZhvB2jX5FK_qt5yd2zvhNScWeyOxSlE.cache +0 -0
  352. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/lph3uDhnwIX4t1R9-tVND4IFnhJqL1LqQtMrvfG6w7s.cache +1 -0
  353. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/lzBnHrVdWXPgCGDMWeM697bVZm_TnCs0-BOLGSabSHU.cache +0 -0
  354. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/m95yq-mMsjThZfR9xAkTGkdo_JkJ9U7FMuGouKiLeYI.cache +1 -0
  355. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/mbXvxeAfJlLiWH1ENKWs5K35rGtCFwVC7Zh8iz0VxKc.cache +0 -0
  356. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/mztptfmRewdrtufZGYsHIP-cUobPQ9-KjG8g7J9AlEI.cache +1 -0
  357. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/n7XFj-ICkjn7X4nWPnxX5kW4l2h-GofBeWkFwm3kwqs.cache +3 -0
  358. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nTw9g87OxunHhH1pqowngHCQQOw9DK2BmQ3M60OJ15g.cache +1 -0
  359. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nXvRhnR4EVKPvqpL5ybixATwGqSAAM3GnqoreQL7lOM.cache +0 -0
  360. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nd-bTF0GF0iq3FYx_gfrcw2MYqKJK3_u3qX_P-MB53c.cache +1 -0
  361. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nljNEWVMdSyfIlWTqKa0VgxX1eArA7WWm0aLUeXwZ50.cache +0 -0
  362. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/oJA9-RKuPg1FyZ19t-ngXaxCLfAwE1U5oWuLrpbKxXk.cache +3 -0
  363. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/oMUQEHW_ZczsOgceMbyny4zS_7JDQR4LVJsqDC0n1Qg.cache +1 -0
  364. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ofQEceU5jwHsMGUYlKsSKWsbhIcZmqkyDTIZMXnPSZw.cache +2 -0
  365. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/oixKGcg4vjgjJVhlFVvaKQBguqvPhw-ieoH9mAkHbQQ.cache +1 -0
  366. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/pEhaat2KBd5SrT7szC_8R1_6hK17FTpvoRFkmCRSD3M.cache +0 -0
  367. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/pSu5LnLEpj6V7FhekaIzJ2IqzRZo0Ez4ZENr0VAe7TI.cache +1 -0
  368. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/pcaV3zSe0X--5yc8sSWV79jvBtMWBE8wQa-qWdHCVxE.cache +1 -0
  369. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/pfpeQRAl8pvI-oF3tjHTK0DO1xmDYrOBNahm32WF9k8.cache +3 -0
  370. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/pnW3u_1AN48ig6ngefI89y96xoSlvnJurx-e3J-leoE.cache +2 -0
  371. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/pyglm4tF6LyPZb7zZ4zXxFkSJNqS7k6t2EfdGyK4nEs.cache +2 -0
  372. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/qHufjeN07K5cjvundz8j9byD1bx0_zHs8RVtt8CPelc.cache +1 -0
  373. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/qRbG64Am2J0VJubIAD6GsUncqHCDtXdp7GpeITfNk40.cache +1 -0
  374. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/qapMpzLzmfsKUVfx8heiDDl_aM2eDpgGIgMOFmGDzgc.cache +0 -0
  375. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ql-oqp5mf_wnLFbkuDE5LgWxgPTkowkRERBa9J1Ufz4.cache +3 -0
  376. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/qp_pHvhopL_R2ArATeOwTF5IuErK2mmfscIjmi0du9I.cache +2 -0
  377. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/qr43tN6jxdx2nBuZzVh0W482kex6JzpRT_Jlg76vs4w.cache +1 -0
  378. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/qz280481u2bUSM15O8fjWQh8hRz2x9qLLz9yoJ11N_U.cache +3 -0
  379. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/r-s_eJx0epqP7zZY6vKtRB-IX2wsSvsotT_p-p3r0kA.cache +0 -0
  380. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rHmecJHt_CBXvz20fbtsdk8OgoC9kzNTumxJ9P9syMk.cache +1 -0
  381. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rx120TUndw4AbM88UBSGpYJDA-eXMy3CXjIepvputuo.cache +1 -0
  382. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/sHQrRWJLOYIiRDclrVXPviF4RjD612SRu8kt77SUiHY.cache +1 -0
  383. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/sLvNEi7VzgmnhJQZR2jc22RIAUd4IZUEhz-ZF3L0s0I.cache +3 -0
  384. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/sV7IPxJP0BDm_iFz5Ye0I5GUbqToWPGafxxHzruqn4o.cache +3 -0
  385. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/sgTRuK6vzO49r6Qci597WQXim5wOcnfMY8b3Wj9WT54.cache +1 -0
  386. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/sgxkvOxkALoZe-Fr8m9-ZlEmRI4Dki2eR9-L4NxZs9g.cache +2 -0
  387. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/slMNWTYxn6-pY7ZoQgwD7OirDZ-_JNhoINpkhSM8JpU.cache +1 -0
  388. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/snCjf2nATp16sbihKkc3WmJKwrM-Nf6uyHD4lvkhYBI.cache +0 -0
  389. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ssS2x0Wl67rwXHaVHsh6CO7ayn9fQ5saIwATKN6O-nI.cache +2 -0
  390. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/t7tlINbMNG_NUzXHBaszeCQI2VRXov1jsG8gGGFGjK8.cache +1 -0
  391. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/tQFwNvTvB7WSc1MNrrrlR2npWEGH6-4H9ZQBt53ihrk.cache +1 -0
  392. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/tYFbDrMNElXwgmisit50aNXJvRU2zlIFk5g-EJ1CQTc.cache +3 -0
  393. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/tbmMu3ukwKaE0BjbtkJhphibnWbw_syO40zEfULJcwQ.cache +0 -0
  394. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/tiEnLwHMkjzRHoNu0gppx2GSTp6HvRuMkp-2Oqbe1ZQ.cache +0 -0
  395. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/tlN7GHZ8yK48bJWEK_4Cweb3dif5L4wN7NnoOKHL5ro.cache +1 -0
  396. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/tu3RdLHCMPI-LywuuixWPMSuKUR4--X_j4TI_rdV760.cache +3 -0
  397. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/uAmF6E3JpcBzFORYg5hyetm0KtLM3wLjBGuU17UWlv0.cache +0 -0
  398. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/uyBTtu4gN_KBmzSxbVUtmM-v9o5B5gccXFhLYlhZLrc.cache +3 -0
  399. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/uzCihE-AR8X_6E7z1wNEtuLj-cVjaFBTqADSON-tTQk.cache +1 -0
  400. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/vGc3WFFBAviuYcm6LJ5gcu5NtbU8muNyHCOvpZyU2SQ.cache +2 -0
  401. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/vQMIiaadoH60k_hYUYeiCYJjRLpHKm-gG7uHD1wqPfo.cache +2 -0
  402. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/vd1KC6jswqrOuvnRtTRD89GERlj2Yip2SZaLZBndMWc.cache +0 -0
  403. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/vrpQ-4TWh71cU-S0YXR-Z_GHzbQdmQML6DcHOlDxFs8.cache +0 -0
  404. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/w1UmGVnv7CKA4yH1W1WrIvOM5Mg5CKAwMhkDa9H-wGk.cache +1 -0
  405. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wJQv5wdvs9wuczaJi6QdbPilkpGYi_NfQwtTC0LfKBM.cache +0 -0
  406. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wNVcsMnZLVVRwxoib0AL-Pss7tzB-1stHUlDrzpQceU.cache +1 -0
  407. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wOrRYBx4PnokGHsz8brJHk3CsBA_R5QtMxcXGacWx08.cache +0 -0
  408. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wR0ZldWRUBI76kaGAshsJ_ExZYfvGUIofuzRJHhsXsA.cache +0 -0
  409. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wRDw4YT27lmkKhaxdAnGp9pC4Z3qjiGcDuvoRNK8R1I.cache +1 -0
  410. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wTNryqjmrX_JP9rznKzF2y2a2YrSyzzgma8K9FG3-O0.cache +1 -0
  411. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wkb-pWvPH2suUNI4gli3yDzco5HXEof-eMU1KvildcI.cache +2 -0
  412. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wnUKZCI4IN78eoQeCsmk_i1KICUeR5377bgTIteGP80.cache +0 -0
  413. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/x6XzpqRQR0k33t_wGetXxFR4RNnG6mrp0FOBKcl4jb4.cache +1 -0
  414. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xBgeZhWxNu0MxtqsstirphbvHYba8SKFl6iWeFh92rE.cache +0 -0
  415. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xBn8xD9ZqQS3Ny4c1qGktFCWWCBs5TZ2T8NGu-mA3co.cache +0 -0
  416. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xFaJO3VyqCmZEFPdJ-P4DXsHfFcZvUjgM7CtiN81zyo.cache +1 -0
  417. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xK2dbjxrVzOePTatsreZ4nnh3ClthCqnPSehyBuO2ZI.cache +0 -0
  418. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xN9mBpSlxZ4JLyc0q561T_SLLvqnIpXprtk4baJpCjs.cache +0 -0
  419. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xgMGrsGgELUI1JBrlpZ6cAciwQgg2K2RHVNWfTJplqU.cache +1 -0
  420. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xoKDo_P83JYN3961boUtbDxcu7sgJI75E3jrJuVLsMs.cache +0 -0
  421. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xtTEgatYUqNva-IT6ZqzWf5TESvI6ZpZtdqApKObz00.cache +3 -0
  422. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yJKiLlva8DyyyKYTNUpTFJpylQoL56pi_IW4vZkyqj8.cache +2 -0
  423. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yJnRPnw0vpepiXdtY3aVTpcLkpLuy8-6OSfuxlXDIqI.cache +0 -0
  424. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yTq_Kw6ZznYtfUwEVQcnwQcZMvk8LG97iLYfiu6G0So.cache +2 -0
  425. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yYWy53efsOhst-Z42foBwjtw0if-f9D7G48WxIxl29M.cache +0 -0
  426. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/y_iYPVLd6X40_N5VUuMQ9_her8ChEG_3389tfIkdXAg.cache +0 -0
  427. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yiCGj-7Lcf3QQiNEWZvEGKPvEYmeDOVICqO9RxNFuY8.cache +3 -0
  428. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ypbYZxdZm4IRZUBKtmDkBCX-uK7cb5LTzau4qMdbn-Y.cache +1 -0
  429. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yqRpn4nfsiyFK9SduAt_6SvG5oxNX4yGdAkuLWQIMF4.cache +0 -0
  430. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yxZppbEFzuw0ceHGlPraaFSyHauQhC-W27YkpGOat4g.cache +1 -0
  431. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yzDL94QvKghx1HWV0_j4knxWP50emPZz5acLQPAFkyk.cache +3 -0
  432. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/z5MJ3dGP-oEQ4OicSFvpF6LC2Hiu_N5X4OXUvTcEkJQ.cache +1 -0
  433. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zCHY3Px9vEvHp49LVEcJwirmOzwBRmXHVAuhJZekyEA.cache +2 -0
  434. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zUgR8-T7pENJvFOubVNhutku2rwfui6pbfr7P6hUf70.cache +1 -0
  435. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zW-P8B7lOQSeQCGunKH30LiXn0QwGPBZGKGmUed-6QI.cache +3 -0
  436. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zXbpClElJq8zwSwvf6-afJPNib2fisrkygDE8IsFQ6g.cache +0 -0
  437. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zXeO3OESUCMsMCtlCty57A32WQ-yiiDDC_keencK8JE.cache +1 -0
  438. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zXnjRyD6hCOEmKVRwgAUzbSSUOtnw7fkIPr_pmAPu6I.cache +1 -0
  439. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zcVf7iNuAXXr2uTNmOFUONY0W_n__zGDC7y924dOd7Q.cache +1 -0
  440. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zdaei-ObMqKCqfd60KURUHbIOgzJB9tcnY3bQxNiBj8.cache +1 -0
  441. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zq3uZtzIUcUfsdw7NltjSkoNhDYP0_tt36dmJH6DPPw.cache +1 -0
  442. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zttbDN8QAQl58qoFYUOMY429NdXLuS7mSN3tLlL1GTc.cache +1 -0
  443. data/test/dummy/tmp/pids/passenger.3000.pid.lock +0 -0
  444. data/test/formalizer_test.rb +59 -0
  445. data/test/models/form_field_test.rb +127 -0
  446. data/test/models/form_test.rb +117 -0
  447. data/test/models/formalizer_config_test.rb +35 -0
  448. data/test/models/formalizer_form_field_test.rb +39 -0
  449. data/test/models/formalizer_form_test.rb +34 -0
  450. data/test/models/utils_test.rb +30 -0
  451. data/test/test_helper.rb +20 -0
  452. metadata +991 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 94b90630cb3140399143eeefbeeee946382188fe
4
+ data.tar.gz: df814abe6674add20dcd7a0b714e7467d86b9338
5
+ SHA512:
6
+ metadata.gz: d7484667ad6f4d7a8da81e311397a336c6911e7e88c78884cecfba91daf5146d3e58205ac06c89b7573f6ed78f7f6d2f2f77f2e2dc4f32cdedcf9f9e8b126dbf
7
+ data.tar.gz: 6ec3c25163f40a963dc05ca2225fb203d4e756ffec4cac155191d4f0e3c578403e1a43760e5bc627a96c2c38f988932663edef25df532282344783c5b72a5901
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2015 Tal Yaniv
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/README.rdoc ADDED
@@ -0,0 +1,207 @@
1
+ = Formalizer
2
+
3
+ {<img src="https://badge.fury.io/gh/talyaniv%2Fformalizer.svg" alt="GitHub version" />}[https://badge.fury.io/gh/talyaniv%2Fformalizer]
4
+
5
+ {<img src="https://raw.githubusercontent.com/talyaniv/formalizer/master/test/dummy/app/assets/images/formalizer.png" alt="Formalizer flow scheme" />}[https://raw.githubusercontent.com/talyaniv/formalizer/master/test/dummy/app/assets/images/formalizer.png]
6
+
7
+ == About
8
+
9
+
10
+ Formalizer is an open-source gem for simplifying HTML-form filling and exporting:
11
+
12
+ * Store blank contracts, agreements, disclosure sheets etc. as HTML templates.
13
+ * In form templates, wrap blank data with <formalizer> tags:
14
+ * *before:* <code>name: ________</code>
15
+ * *after:* <code>name: <formalizer id="name">________</formalizer></code>
16
+ * Get user data from any source, or simply let Formalizer generate user-input forms for you.
17
+ * Formalizer will replace the template <formalizer> tags with user data:
18
+ name: <formalizer id="name">John D.</formalizer>
19
+ * Filled forms can be exported to PDF using {Wicked PDF gem}[https://github.com/mileszs/wicked_pdf], or to raw html, for additional styling.
20
+
21
+ == Install
22
+ gem install 'formalizer'
23
+ or add to your Gemfile:
24
+ gem 'formalizer'
25
+
26
+ == Demo
27
+
28
+ Clone this repo, edit the root Gemfile and uncomment the last two lines:
29
+ gem 'wicked_pdf'
30
+ gem 'wkhtmltopdf-binary'
31
+
32
+ Start the demo:
33
+ $ cd test/dummy
34
+ $ bundle install
35
+ $ rails server
36
+ $ open http://localhost:3000
37
+
38
+ == Usage
39
+
40
+ === Configuration
41
+
42
+ Formalizer looks for +formalizer.yml+ YAML file in config directory. If exists, it will load the configuration, otherwise, it can be configured programatically.
43
+
44
+ === Very basic example
45
+
46
+ # config/formalizer.yml
47
+ form_fields:
48
+ name:
49
+ name: Your full name
50
+ gender:
51
+ name: Your gender
52
+ field_type: enum
53
+ enumeration:
54
+ - Male
55
+ - Female
56
+ - Irellevant
57
+ default_value: 2
58
+ forms:
59
+ simple_form_example:
60
+ path: 'An HTML template that requires a name:<formalizer id="name" required>_____ (required)</formalizer>, and an optional gender:<formalizer id="gender">[male, female, irrelevant] (optional)</formalizer>'
61
+
62
+ To fill the (only) form template, we need user input for name and gender. Here is a quick flow from user data to filled PDF file:
63
+
64
+ formalizer = Formalizer.new # will load YAML configuration
65
+
66
+ # Filling fields with values, regardless to the template form, so they can be reusable to another template form. Since we configured gender to be enum (zero based), a Female value is 1 (0 - Male, 1 - Female, 2 - Irrelevant):
67
+ formalizer.fill_fields({name: 'Michelle Markus', gender: 1})
68
+
69
+ # Exporting to PDF:
70
+ pdf_file = formalizer.export_form_to_pdf(:simple_form_example)
71
+
72
+ # Inside a controller, you can push the result to user:
73
+ send_data pdf_file, {filename: 'simple_form_example.pdf', disposition: 'attachment'}
74
+
75
+
76
+ == Under the hood
77
+ === Forms, Form Fields and tags
78
+ Let's say we have three different form templates:
79
+ 1. Cover Page
80
+ 2. NDA
81
+ 3. Purchase Agreement
82
+
83
+ All three forms require personal user input: Full name and address. NDA and Purchase agreement also require recipient's full name and address. We end up with four fields:
84
+ 1. Full name
85
+ 2. Address
86
+ 3. Recipient's Full name
87
+ 4. Recipient's Address
88
+
89
+ By having user input for all four fields, we can fill the three templates altogether and export as filled PDF or HTML files.
90
+
91
+ Since Cover Page doesn't require recipient fields, we can group our forms and fields in tags:
92
+ * *with_recipient:* forms 2 and 3, fields 3 and 4
93
+ * *without_recipient:* form 1, fields 1 and 2
94
+ Now, if we only fill the cover page, we don't need to pass all the fields:
95
+ pdf_file = formalizer.export_form_to_pdf(:cover_page, 'without_recipient')
96
+ This will make the call more efficient, as it will pass only 'without_recipient' fields.
97
+
98
+ === Form Fields
99
+ In YAML configuration:
100
+ form_fields:
101
+ [field_unique_id]:
102
+ name: (required) Text that will be displayed to user when generating an input form.
103
+ field_type: (optional) One of the following: text, boolean, number, enum or multiple. Default - text
104
+ tags: (optional) one or more tag that this field belongs to, e.g. 'without_recipient'
105
+ default_value: (optional) default value for filling templates without user input. Boolean field_type: true/false. Enum field_type: the selected value, zero-based.
106
+ enumeration: (required if field_type is enum) a list of at least two options
107
+
108
+ forms:
109
+ [form_unique_id]:
110
+ path: (required) a file path to the form, or actual form html. The file path can be absolute or relative to config directory.
111
+ tags: (optional) one or more tags that this form belongs to, e.g. 'without_recipient'
112
+
113
+ Localization:
114
+ form_field name and enumeration can have localized version. If not stated, Formalizer will use Application's locale (+I18n.locale+). Otherwise, use this syntax:
115
+ form_fields
116
+ gender:
117
+ name:
118
+ en: gender
119
+ es: género
120
+ field_type: enum
121
+ enumeration:
122
+ en:
123
+ - Male
124
+ - Female
125
+ - Irrelevant
126
+ es:
127
+ - Masculino
128
+ - Feminino
129
+ - Irrelevante
130
+
131
+ == Generating user details form
132
+
133
+ In the above example, we had four fields to be filled with user data. We can generate an html form for receiving input data:
134
+ # Creating a Formalizer instance
135
+ formalizer = Formalizer.new
136
+
137
+ # Formalizer::generate_fields_form locale = I18n.locale, form_action = '', tag = nil
138
+ simple_form = formalizer.generate_fields_form
139
+ # this will create a <form> with all four fields
140
+
141
+ # more specific versions:
142
+ localized_form = formalizer.generate_fields_form(:es)
143
+ form_with_action = formalizer.generate_fields_form(I18n.locale, 'post_fields')
144
+ partial_form = formalizer.generate_fields_form(I18n.locale, '', 'without_recipient')
145
+
146
+
147
+ == HTML images and styles
148
+
149
+ Binding happens at the server, so we need absolute file paths to images and css files. See the demo for specific code examples. Basically your html can look like this:
150
+ <!DOCTYPE html>
151
+ <html>
152
+ <head>
153
+ <title>Cover Page</title>
154
+ <link rel="stylesheet" type="text/css" href="/assets/form.css">
155
+ <meta charset="UTF-8" />
156
+ </head>
157
+ <body>
158
+ <div>
159
+ <img src='/assets/acme_logo.jpg' />
160
+ <img src='https://raw.githubusercontent.com/talyaniv/formalizer/master/test/dummy/app/assets/images/acme_logo.jpg' />
161
+ <h1>Cover Page</h1>
162
+ Name: <formalizer id="recipient" required>______________________________</formalizer>
163
+ </div>
164
+ </body>
165
+ </html>
166
+
167
+ Formalizer will know how to use external URLs or find files (css and images) inside your app's assets directory. If your files reside elsewhere, you will need to give an absolute file:// link. Formalizer <b>does not</b> convert style/css url()s in the current version.
168
+
169
+ == Advanced: Using Formalizer programatically
170
+
171
+ So you want to skip the config file and DIY:
172
+
173
+ # Creating a Formalizer instance
174
+ formalizer = Formalizer.new
175
+
176
+ # adding a form from a file, located in config directory
177
+ # Formalizer::add_form (symbol) id, (hash) details
178
+ formalizer.add_form(:form1, {path: 'form1.html'})
179
+
180
+ # creating a field
181
+ # Formalizer::add_form_field (hash) details
182
+ formalizer.add_form_field({id: :field1, name: 'email'})
183
+
184
+ # filling the template with user input
185
+ # Formalizer::field_field (Symbol) field_id, field_value
186
+ formalizer.fill_field :field1, 'john@doe.com'
187
+
188
+ # Exporting
189
+ formalizer.export_form_to_pdf(:form1)
190
+
191
+ == Contributing to Formazlizer
192
+ * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
193
+ * Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
194
+ * Fork the project
195
+ * Start a feature/bugfix branch
196
+ * Commit and push until you are happy with your contribution
197
+ * Make sure to add tests for it. Tests are important for future stability! Run tests before pushing.
198
+ * If you uncommented the root Gemfile, remember to comment it again.
199
+ * Feel free to email and report issues!
200
+
201
+ == TODO:
202
+ * Parse style/css url() directives
203
+ * Sign documents with external API, e.g. Docusign
204
+
205
+ == Copyright
206
+
207
+ Copyright (c) 2015 Tal Yaniv. See MIT-LICENSE for further details.
data/Rakefile ADDED
@@ -0,0 +1,34 @@
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 = 'Formalizer'
12
+ rdoc.options << '--line-numbers'
13
+ rdoc.rdoc_files.include('README.rdoc')
14
+ rdoc.rdoc_files.include('lib/**/*.rb')
15
+ end
16
+
17
+
18
+
19
+
20
+
21
+
22
+ Bundler::GemHelper.install_tasks
23
+
24
+ require 'rake/testtask'
25
+
26
+ Rake::TestTask.new(:test) do |t|
27
+ t.libs << 'lib'
28
+ t.libs << 'test'
29
+ t.pattern = 'test/**/*_test.rb'
30
+ t.verbose = false
31
+ end
32
+
33
+
34
+ task default: :test
@@ -0,0 +1,15 @@
1
+ class Formalizer
2
+ class FormFieldParamMissing < StandardError; end
3
+ class NotUniqueId < StandardError; end
4
+ class WrongValueClass < StandardError; end
5
+ class WrongValue < StandardError; end
6
+ class FileNotFound < StandardError; end
7
+ class WrongFileContent < StandardError; end
8
+ class WrongFormTemplate < StandardError; end
9
+ class FormFillError < StandardError; end
10
+ class RequiredField < StandardError; end
11
+ class FormTemplateError < StandardError; end
12
+ class ConfigError < StandardError; end
13
+ class PathOrHtmlRequired < StandardError; end
14
+ class FieldNotFound < StandardError; end
15
+ end
@@ -0,0 +1,127 @@
1
+ class Formalizer
2
+
3
+
4
+ # Holds a single form template and its binding
5
+
6
+ class Form
7
+
8
+ # Constructor
9
+ # * +id+ - Unique textal identifier for the form
10
+ # * +path_or_html+ - Either a path to a template html file, or a raw html
11
+
12
+ def initialize id, path_or_html
13
+ validate id, path_or_html
14
+ parse(path_or_html)
15
+ validate_template
16
+ @id = id
17
+ end
18
+
19
+
20
+ # Binds fields to a template
21
+ # * +fields+ - Hash of id => FormField object. Fields that do not exist in the form will be ignored.
22
+ # * Raises an error if a required field is not present in the fields param,
23
+ # or if it is present but doesn't have a value.
24
+
25
+ def fill fields
26
+ raise TypeError unless fields.is_a?(Hash)
27
+
28
+ @html_template.css('formalizer').each do |html_field|
29
+ field_id = html_field.attributes['id'].value
30
+ form_field = fields[field_id.to_sym]
31
+
32
+ # raising error if field is required but not found in fields param, otherwise skipping this field
33
+ if form_field.nil?
34
+ required_attribute = html_field.attributes['required']
35
+ field_required = !required_attribute.nil? && (required_attribute.value == '' || required_attribute.value == 'true')
36
+ raise RequiredField, "field #{field_id} is required" if field_required
37
+ next
38
+ end
39
+
40
+ # field found in field params, so we don't care if it's required or not
41
+ html_field.content = form_field.value
42
+
43
+ end
44
+ end
45
+
46
+
47
+ # Exports the filled form into a PDF file uwing Wicked PDF gem
48
+
49
+ def export_to_pdf filename = 'pdf'
50
+ # replacing html image tags with wicked_pdf tags
51
+ html = @html_template.to_s
52
+ @html_template.css('img').each do |image_tag|
53
+ html.gsub!(image_tag.to_s, replace_tag(image_tag, 'src'))
54
+ end
55
+ @html_template.css('link').each do |rel_tag|
56
+ html.gsub!(rel_tag.to_s, replace_tag(rel_tag, 'href'))
57
+ end
58
+ WickedPdf.new.pdf_from_string(html)
59
+ end
60
+
61
+
62
+ # Exports the filled form into a raw html string
63
+
64
+ def export_to_html
65
+ @html_template.to_s
66
+ end
67
+
68
+
69
+ # Private methods
70
+
71
+ private
72
+
73
+
74
+ # Validates initializer.
75
+ # Raises errors if cannot initialize form from path or raw html
76
+ # * +id+ - Unique textal identifier for the form
77
+ # * +path_or_html+ - Either a path to a template html file, or a raw html
78
+
79
+ def validate id, path_or_html
80
+ unless (id.is_a?String) || (id.is_a?Symbol)
81
+ raise WrongValueClass, 'form id should be a String or Symbol'
82
+ end
83
+ raise WrongValueClass, 'path/html should be a String' unless path_or_html.is_a?String
84
+ end
85
+
86
+
87
+ # Parses the path/html into a final html template,
88
+ # Creates and fills @html_template variable for further binding.
89
+ # * +path_or_html+ - Either a path to a template html file, or a raw html
90
+
91
+ def parse path_or_html
92
+ # trying HTML first
93
+ @html_template = Nokogiri::HTML(path_or_html)
94
+ return if @html_template.css('formalizer').length > 0 # html indeed, parsed.
95
+
96
+ # not html, trying path
97
+ error_message = 'not a file and not valid html with <formalizer> tag/s'
98
+ html_file_content = Utils::find_file(path_or_html)
99
+ @html_template = Nokogiri::HTML(html_file_content)
100
+ return if @html_template.css('formalizer').length > 0 # file opened, parsed.
101
+
102
+ raise WrongFormTemplate, error_message
103
+ end
104
+
105
+
106
+ # Validates that the html template is usable
107
+ # Raises errors if <formalizer> tags don't contain id attribute
108
+
109
+ def validate_template
110
+ @html_template.css('formalizer').each do |html_field|
111
+ raise FormTemplateError if html_field.attributes['id'].nil?
112
+ end
113
+ end
114
+
115
+
116
+ # replacing html references/assets references with absolute file paths for PDF export
117
+
118
+ def replace_tag tag, attribute
119
+ final_path = Utils::final_path(tag[attribute])
120
+ return '' if final_path.empty?
121
+ tag[attribute] = final_path
122
+ return tag.to_s
123
+ end
124
+
125
+ end
126
+
127
+ end