awesome_translations 0.0.24 → 0.0.25

Sign up to get free protection for your applications and to get access to all the features.
Files changed (592) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/app/assets/javascripts/awesome_translations/application.js.coffee +15 -0
  4. data/app/assets/stylesheets/awesome_translations/layout.css.scss +19 -0
  5. data/app/controllers/awesome_translations/caches_controller.rb +12 -0
  6. data/app/controllers/awesome_translations/groups_controller.rb +14 -4
  7. data/app/controllers/awesome_translations/handlers_controller.rb +22 -4
  8. data/app/controllers/awesome_translations/migrations_controller.rb +26 -0
  9. data/app/controllers/awesome_translations/translate_migrations_controller.rb +10 -0
  10. data/app/helpers/awesome_translations/application_helper.rb +9 -1
  11. data/app/models/awesome_translations/group.rb +9 -10
  12. data/app/models/awesome_translations/translated_value.rb +12 -15
  13. data/app/models/awesome_translations/translation.rb +17 -23
  14. data/app/views/awesome_translations/caches/index.html.haml +3 -0
  15. data/app/views/awesome_translations/groups/show.html.haml +3 -2
  16. data/app/views/awesome_translations/handlers/index.html.haml +3 -2
  17. data/app/views/awesome_translations/handlers/show.html.haml +8 -7
  18. data/app/views/awesome_translations/migrations/new.html.haml +21 -0
  19. data/app/views/layouts/awesome_translations/application.html.haml +11 -0
  20. data/config/initializers/cache_models.rb +1 -0
  21. data/config/routes.rb +10 -1
  22. data/db/baza_translations_migrations/20150902155200_create_translation_keys.rb +14 -0
  23. data/db/baza_translations_migrations/20150907070909_create_groups.rb +13 -0
  24. data/db/baza_translations_migrations/20150907090900_create_handlers.rb +11 -0
  25. data/db/baza_translations_migrations/20150908085500_create_translation_values.rb +14 -0
  26. data/db/baza_translations_migrations/20150908090800_create_handler_translations.rb +21 -0
  27. data/lib/awesome_translations/cache_database_generator/group.rb +16 -0
  28. data/lib/awesome_translations/cache_database_generator/handler.rb +9 -0
  29. data/lib/awesome_translations/cache_database_generator/handler_translation.rb +43 -0
  30. data/lib/awesome_translations/cache_database_generator/translation_key.rb +13 -0
  31. data/lib/awesome_translations/cache_database_generator/translation_value.rb +24 -0
  32. data/lib/awesome_translations/cache_database_generator.rb +266 -0
  33. data/lib/awesome_translations/engine.rb +4 -0
  34. data/lib/awesome_translations/erb_inspector.rb +2 -3
  35. data/lib/awesome_translations/handlers/erb_handler.rb +7 -3
  36. data/lib/awesome_translations/handlers/library_handler.rb +7 -3
  37. data/lib/awesome_translations/handlers/model_handler.rb +14 -0
  38. data/lib/awesome_translations/handlers.rb +18 -17
  39. data/lib/awesome_translations/model_inspector.rb +9 -1
  40. data/lib/awesome_translations/translation_migrator.rb +94 -0
  41. data/lib/awesome_translations/version.rb +1 -1
  42. data/lib/awesome_translations.rb +3 -10
  43. data/spec/controllers/groups_controller_spec.rb +9 -7
  44. data/spec/controllers/handlers_controller_spec.rb +6 -4
  45. data/spec/controllers/users_controller_spec.rb +2 -2
  46. data/spec/dummy/app/models/role.rb +2 -0
  47. data/spec/dummy/config/environments/production.rb +1 -1
  48. data/spec/dummy/config/environments/test.rb +1 -1
  49. data/spec/dummy/db/awesome_translations.sqlite3 +0 -0
  50. data/spec/dummy/db/development.sqlite3 +0 -0
  51. data/spec/dummy/db/schema.rb +2 -2
  52. data/spec/dummy/db/test.sqlite3 +0 -0
  53. data/spec/dummy/log/development.log +43850 -338
  54. data/spec/dummy/log/test.log +19608 -2632
  55. data/spec/dummy/tmp/cache/assets/development/sass/79bc6a1530be4e47bb2bf0dda4943bc0e439789f/application.css.scssc +0 -0
  56. data/spec/dummy/tmp/cache/assets/development/sass/79bc6a1530be4e47bb2bf0dda4943bc0e439789f/groups.css.scssc +0 -0
  57. data/spec/dummy/tmp/cache/assets/{test/sass/cd5c2e50cf21c8dd5320bc76db0c28d83e16429a → development/sass/79bc6a1530be4e47bb2bf0dda4943bc0e439789f}/layout.css.scssc +0 -0
  58. data/spec/dummy/tmp/cache/assets/development/sprockets/0cc5658eb161251c8bd64e1cf25e2191 +0 -0
  59. data/spec/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  60. data/spec/dummy/tmp/cache/assets/development/sprockets/1dfc909a73e53e47b341f67cfd8a3fc3 +0 -0
  61. data/spec/dummy/tmp/cache/assets/development/sprockets/2128d293dc8ef13115c1f5d64b5acfc9 +0 -0
  62. data/spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  63. data/spec/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  64. data/spec/dummy/tmp/cache/assets/development/sprockets/3bd5629974bb1919d009bcb1da7a7e49 +0 -0
  65. data/spec/dummy/tmp/cache/assets/development/sprockets/50b9bcf05a8718d9cb5b99276f154ea9 +0 -0
  66. data/spec/dummy/tmp/cache/assets/development/sprockets/5316fc0620afefc2ba81b690c8e2c34d +0 -0
  67. data/spec/dummy/tmp/cache/assets/development/sprockets/538966109f3bbd58bfb717ad57a37096 +0 -0
  68. data/spec/dummy/tmp/cache/assets/development/sprockets/58b9ed99ad62ba462ca6a9272b96bef3 +0 -0
  69. data/spec/dummy/tmp/cache/assets/development/sprockets/697d977cf9fc7e54534f5e29b0832836 +0 -0
  70. data/spec/dummy/tmp/cache/assets/development/sprockets/6aab60b365535cc305f37a738e75868b +0 -0
  71. data/spec/dummy/tmp/cache/assets/development/sprockets/6db8498274efddac6691248cc9afe855 +0 -0
  72. data/spec/dummy/tmp/cache/assets/development/sprockets/81ab882fef1228d654a7c697f2324309 +0 -0
  73. data/spec/dummy/tmp/cache/assets/development/sprockets/908bf508cc68079cab720d6b9c36cb95 +0 -0
  74. data/spec/dummy/tmp/cache/assets/development/sprockets/91090eda0f104056144ac17a4fcae91c +0 -0
  75. data/spec/dummy/tmp/cache/assets/development/sprockets/a3c8104e5830cd7047c6a3a1c1e2ba32 +0 -0
  76. data/spec/dummy/tmp/cache/assets/development/sprockets/b512f2b016bd3aef8c28fa661e01308c +0 -0
  77. data/spec/dummy/tmp/cache/assets/development/sprockets/bd49bb0a6f5dfd284a750fb9cab40d85 +0 -0
  78. data/spec/dummy/tmp/cache/assets/development/sprockets/c39fce5fa19b758734af29527d4185ca +0 -0
  79. data/spec/dummy/tmp/cache/assets/development/sprockets/c8ecba0dbc7774cd6db79cb7fbe1ef3e +0 -0
  80. data/spec/dummy/tmp/cache/assets/development/sprockets/cb595904fcf7acdedf2b95571442fc59 +0 -0
  81. data/spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  82. data/spec/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  83. data/spec/dummy/tmp/cache/assets/development/sprockets/eb9ed717a7ef467bf260b11dfc8451eb +0 -0
  84. data/spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  85. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/{y6orTmm6rk6jn-CJIAXeQ8rOaHkBHFtbPogJm-3dNqE.cache → -xIdrBXI3YmhV41txPWqpBSY9pK3nOlnMf_tEoH7N-M.cache} +0 -0
  86. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/02teWmG5FUrSxYp4EBhuAaUnXqnsISgcO-LycLGpFbM.cache +1 -0
  87. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/04FzsaInr2Y6sYN2mm0rgOiwo6tir7gbY728nGUWLFo.cache +0 -0
  88. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/1MfGMlhkcQJLAqhOxhzXPzb6wmOprrh7a-l9yWtOScU.cache +0 -0
  89. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/1qsmk1lf7TX1GNRePYEZoKSDWfCwA7pyv7myARLkaQk.cache +1 -0
  90. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/27rVAWHKm1euKlP5X3k8hjTP2_SGINmXD4AvAP0iUHI.cache +0 -0
  91. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/2S3FXevY1QIhpSWf8Q_wLVVed6OE4MwIoCWF1nNjvdw.cache +1 -0
  92. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/2Y5j519dvD5rv2J_EZcPtgwb0o991nq0w7MHJY9dXiA.cache +0 -0
  93. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/2p155H920Y76tD9Gj4HuvSeyKPX48gW2EeT0uJ-qDC4.cache +0 -0
  94. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/{KI5ikH1EhRt8UcY_TnNsPFctrbR_XR870QmQiiS_LWY.cache → 43gZGjerqoa1zga5lxEIyNzzsg8lUdtia5hEgwc6jcM.cache} +1 -1
  95. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/4wrAyfUn-EK6EXn7W8gD4gVVVWlabjkGULZy1VWAz48.cache +1 -0
  96. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/{2E1pK4UD0p2JhztN3ZkvvMpu6_XhIhetM_kYdv3qIkI.cache → 50fOcYI8btz2Ua8cJrAGfh7uxPgsxbmCU9_ElJsZR10.cache} +0 -0
  97. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/538vExYOkMNZRnO7OlQ0txTlhoZmpPVIYbcXJ4ZdM_c.cache +2 -0
  98. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/5HoGxXKxoOX3AIQe7mpvJ8HkWoGDGVITn12A-AS39bI.cache +1 -0
  99. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/5zUDnyGW8pnqn9eoHvW4fOBfVbTt9L83VTsjTN_emmo.cache +1 -0
  100. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/6AKSuLQ7-rmru8z6X93bpAnu7f-pBhVaPqrLnlZEEr4.cache +0 -0
  101. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/6COttfT2lr_OcQNS6FWwoe5Dckyn9GyLcG838tntSrI.cache +0 -0
  102. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/6ISWS0E-NUDxPhl5eE0vGMmOPleI0-CevJF8RF2OPYU.cache +0 -0
  103. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/7EHTFFToRZu5VrDhHFvA9gEfhiAOmIFb0DQuWcbN7jk.cache +0 -0
  104. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/7QKZ7V7qzDK3EtnZ695pi2UHVib9nj_W6crYsRXdL3k.cache +0 -0
  105. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/{kyxMBV6uZkWe3IRCYC22nz50pqdEvoUf29oOIKfqnLY.cache → 7gTxlHmDCoe0pK3toG5j6HVAgPWLlbnmsma34AAdLMU.cache} +0 -0
  106. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/7mMQxkOhjl5031v2H0ph_IlED4MLWMNwd2I6_KxpZQ4.cache +1 -0
  107. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/82mDK5EuiC_GzB4yyEoPfz9v9_L8evvA_udvVHi7Yl0.cache +2 -0
  108. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/8EmhvumFd57Y2fDDpbaI6iqvzp7CFbJ2FSz2tmflk4Y.cache +0 -0
  109. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/8g8-QNcNu5t3peDVtV3YsKlN1FsBOc2jNk2jgleD4C8.cache +0 -0
  110. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/8zUJR8yWUhGZJYABZTaSKnZxRKvu9k-IHW09ioTZ7a0.cache +1 -0
  111. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/9-uXC7aGfKHVFy15SG4b1OndX8BYynotk-w9ZbwU9Jg.cache +1 -0
  112. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/{6Tt3BohHWhW0VmHcKYyX9vLJY8ZGHF9XKASbNndcriw.cache → 9FtH8_zmw6vl-JBtl2mpWPTu1SZtJkwq7va6MsSuCK0.cache} +0 -0
  113. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/9iQKiA8r9gbiEbHy1D1kb0hv-tqaFT6Jyw1b4P9flos.cache +0 -0
  114. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/A6S10ECyYptuKTWDZZN7cIr-I4C-q4ORpR9D29OjhVY.cache +0 -0
  115. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/Aa731Now-rZO4Zqg2IJ-lRwvJ41mB1mdj4anCSr3e3U.cache +0 -0
  116. data/spec/dummy/tmp/cache/assets/{test/sprockets/v3.0/NUXfrEMOpZC-cEYk4A5fOzcdS9dgYDG4NXp6-Ixcyj0.cache → development/sprockets/v3.0/AdM4bSpxF-V3SVialcxcS5JaSV3t0miIFEegjuwBWlA.cache} +0 -0
  117. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/{m0Ed6UHlyVF0HkWQFgMHYw21q7KL7ChRRX7kJOLOd4A.cache → Ap5o3Ju8LsP2SlQJ8q_CubJ6eGCjAvxtNiF4FaDTyn8.cache} +0 -0
  118. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/AwkOC2gVDWMkSj54qADI_lu4Sfz9TS2FLAl0uAnoDkk.cache +0 -0
  119. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/AyNPDW3Dgg140bGx7uc2Fyehos3xkt6fL-jfJkv6-qU.cache +0 -0
  120. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/{3IscdSBVlh2QpX_V8gWbAdJn0CwOi3CtjBf841bLw90.cache → BKzNyYOdP2xGdM8ta2UTFAVjZqG0hO3xxwRLRo0ZL7Y.cache} +0 -0
  121. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/BqSxK66luvGfGwhrmjSzAjcUtnbFa4PV1TSOnK9W24g.cache +1 -0
  122. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/BrDzTsxp9UnHHzHEX28hHrcLUZv2vC-CcToUdBmjgHo.cache +0 -0
  123. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/{GEBEpe470v7Q9mkDELNzG8WQfzdSL--qJ5JGJ8sG40w.cache → CZF_u2ho2W4C9GkGNOOBIMpdt2dTrBk2i1D2K-lhJmU.cache} +0 -0
  124. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/D-3iJYFRFCszoXQb3LfIC0LafCPRp34fERWGoFHCueo.cache +1 -0
  125. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/Djbxy1KquM-6j8h3CjkQTLl0Cw8V7MdugxWs1la8Yy4.cache +1 -0
  126. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/EWfamfuyaQxRui6HTk7sy39pc-i01LRgB2rlhjjgpo4.cache +1 -0
  127. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/{oN2LUbJ3UjOO--J2XELuQnD2XIq80Oa2bc5WYwhDK3c.cache → FBwAuPK6BCbMbGWYxYwBMw3DoucwiFMce9YeNnwsQ0Q.cache} +0 -0
  128. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/FISrzzqV6nw4c_2DA8Tg71sc8Q659AxidZIq2SVqkF0.cache +0 -0
  129. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/G-hwUFEyAthBnfsHKphfODGjS9Z2evLE2utZF1fTslY.cache +1 -0
  130. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/GDzC1chWWGmhgF3fUvOghjlCyrUvZCCVC_YH1oldtsM.cache +0 -0
  131. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/GRQfvgaDsDUKHASi4puh7dBhLH6Y4VM9yZpt1aKK8lQ.cache +0 -0
  132. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/H2lEwhgwd2SbRoXcQ64jUm4dpG1CJGZYMpYGWvXVam4.cache +0 -0
  133. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/HhP7z_-jM7ieRF_udBe4MjM25_qz8cYdxXBHe3CF3cY.cache +0 -0
  134. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/HxyrnSU7mRWWyTD4be5FrFnaPcu4FrWEIOFoLOb4ERg.cache +1 -0
  135. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/I3qWFD0JQGDf7yOGQVxlK6CNM7LNsZfiSsf3IW_vP9s.cache +1 -0
  136. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/IANLfG9pasfKSn3jfOtNoftMpg1xuANLJOullYmgiAs.cache +1 -0
  137. data/spec/dummy/tmp/cache/assets/{test/sprockets/v3.0/RGjTK3RDBaOmKnTmOPeJ9tCG6VORw6H3Nys1Mf6obLY.cache → development/sprockets/v3.0/ICWn4xffNF1HNqIMLVH45031SRVzi1bReaei0ppXuOM.cache} +0 -0
  138. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/J3lZJz-f0JUtj23SzhkvvYdfctkjcZAe5OfVVskUDZc.cache +1 -0
  139. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/JU1edprYccFyRmg3oGL-MRuknvcB2_pQYTG5o63Ag8Q.cache +0 -0
  140. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/L0AV6BEMf52JcHA55hmNVo2VHUKjVW8ZVuTIx27sRa4.cache +0 -0
  141. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/LAprG4VocNonottPjxuFFCww48n4YCtJJiYDk1iDL9o.cache +0 -0
  142. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/LtuKwRcTWtNm0-9U116mcMNSEOapgDhyZaj926hhVPs.cache +0 -0
  143. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/LxCu0Ai0YmyMfbxevEdZhanmjma4PyZ7Eq7rv94gXOw.cache +0 -0
  144. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/M3XEcuxCqxMMW0e5WaCPvJMmOxPysDdRmb6b66xTyUw.cache +1 -0
  145. data/spec/dummy/tmp/cache/assets/{test/sprockets/v3.0/SfbWITNxcX0m3U1KfitpAvO-ZFRA0Uw_ceFcmoiXSMM.cache → development/sprockets/v3.0/MV7nSlI_EawYLxAmzz363K2T_6_DRSgG7pikMLxcKFE.cache} +0 -0
  146. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/MzYsi2S393224patsQC_5aJpDwq4F97WspZCPEXC2Q0.cache +0 -0
  147. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/OKtVHXgCUmgeLEfHFHApLha4IRibCyCkw3GqBocxoSo.cache +1 -0
  148. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/OyCoB5S7rvcqr3qwvwWDgrjoDFbBnkH7-GzYkPgxCKM.cache +0 -0
  149. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/PamLXmiOyVwyw3ftfD8aDs2TwFsBjAz97G7SDPGSdmQ.cache +0 -0
  150. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/QFzQ2KIDt_SMO7fZENHlO8gKKSagceUdQlcIL16Geq0.cache +1 -0
  151. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/Q_4489lWyuro8VI0w2abEep_5SKtImHW34j5ExXsaA8.cache +0 -0
  152. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/QbJd9uihGphd-h3qb5FEbRTdtdQGL_rCzK7fh3kwBFU.cache +0 -0
  153. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/RY1d2UOoZt5yxZu7puy80TP2dXC2bdi8U0068vwgx5M.cache +5 -0
  154. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/Rhafj2GpRZtp-MvV8OPk2PMmp5ovrXMGbfkfJDC5rJk.cache +0 -0
  155. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/SMah6xBmkbU_8e-9Ys77k0Vx4Ut7TXwr494LZGp7BY0.cache +0 -0
  156. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/SXxXRkRgjskVUJ0LrBW9zy-LfqShvT6Ov24OMW7z-k8.cache +1 -0
  157. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/SxXSiMbfHsLGQtJ6g0pP_Krucx-JXVkuR2sYf5xAKac.cache +1 -0
  158. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/T7-ktcoZK9XVmYk74-QFlUBoFrIqfWZDYZHF9QsO1KQ.cache +0 -0
  159. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/TMQdzYiLouXIt5E5YfAQG0CuYeJn9z0X-uG5N0kJfm0.cache +1 -0
  160. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/{chB-Km9txyW42AEZsCObxy_RTOKPUaXoueiIl-pu3UU.cache → UMznzQq-uwbslH-8M6pmrNrruRcrHtfOwclv5rh-yVc.cache} +0 -0
  161. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/{KK-iVi_zk3sBOAMMmX8qOKilgTXSJ6VR7ev4cCt-xiw.cache → UpB_Ha9hbMTiPjLPu74wM2oQeFksqnwGf1o8ywDJ4Ek.cache} +0 -0
  162. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/WMh1h61W3qe8BKNos-TfAdH2h4em6r5jOlvLbn2bhLU.cache +1 -0
  163. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/WeQCJImMwn-KYaVBOwO907qE7MXJN8q4lsLV_HnIDYw.cache +1 -0
  164. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/WyLdqMqQlKkaN4Q-7OsT-01hYlq3cmhy19iZV5OI8rs.cache +1 -0
  165. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/XDp5IrJTrbOIP56Gu9bzLt0yaG20Rdmiyg103ObDGCQ.cache +1 -0
  166. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/XIsfeF8V1Ex9yuFFp8Zk5T-ATcbur5FxzjtFj3c4cy0.cache +1 -0
  167. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/XPNlp1vwcqIhTGA7wkrIIjvXIdzKIeaza0bZ79KrMVw.cache +0 -0
  168. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/XXVgQaXIqeZePB8w3OojaKBepeay8N8Dht-pY9-BzYc.cache +0 -0
  169. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/XZjx7CmFiHJLBuEjL1x3tf-EbtquAzc8PHLb8OKXDbA.cache +0 -0
  170. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/YeUs3vJiPOiW0ze9DAFqEBU8WdoE6CPE1vE4Q_rumCk.cache +0 -0
  171. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/{K9eViHXJLIL05Z-rEIFPZ1ey9Y7iEnaM1nQjV6xUjvw.cache → Z5VgXfY1cjJEduExiSr8_ktt5Kg1a3QZnkcVeXRPEMo.cache} +1 -1
  172. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/Z7cJT4khXXaJlNejuQEilorWDtDQXPqC-tGQ3_7DdDU.cache +1 -0
  173. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/_PpajQAGkY2kgApOogJiNXFWtAxvxZQeL0WfuYdCg4s.cache +1 -0
  174. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/a8zRTXmGI4EOik4D8x6S1OJGcr3oKvUM9jNHim0xGio.cache +1 -0
  175. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/bQf8Bl1plRb1lQeH1FZAIa-0CyIecQpZeIeYwFK3Y_w.cache +2 -0
  176. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/bq4ayPBoJ3P2twJ_AfUk_9dSy5v_LZuEeQY2Dg4bQmk.cache +1 -0
  177. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/c0YjrLcAVuu4Gst9_SDVxh5gQTirnG__fMCJEHfVrrg.cache +2 -0
  178. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/cJv40Fan-pg5Y-y_mofDZ4STjsyQKnzp5-vfU-0AIgU.cache +5 -0
  179. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/cOXMK7MxV-0kpqhref1ZLeAlAp5QySd4ek1ULfzqt5s.cache +0 -0
  180. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/cYjXxgR5Fmd8q2zA6AUG0rySvKiATskfxta1HqYt-GY.cache +1 -0
  181. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/ctR7CyZiQ_H9JUQ82aXvfhPEiYw_9biQFi1t0ODt19k.cache +0 -0
  182. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/dMFeGxOIVkOd4tx60u_-2_Wdao-Kg0waBf9NHDBqUAI.cache +0 -0
  183. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/diUCwnrnAqP09ITWwzJqFv3pdkHx0DNdSAfRVgCl-Ho.cache +1 -0
  184. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/dsowXS2P8nrhf0XGypbLCJcmQyYvGiQY-mJaKVB3YSM.cache +0 -0
  185. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/{ABmSicIQVooWccPPNziw-INMNKnC2fTrf0gZOo4D-Uo.cache → dv-t_-azYNWr2Fxh4xuYgZ5IJHOubVDYbcaFQKwW5-k.cache} +0 -0
  186. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/eB4rtnh6CHhj84gj2Pr06A1_zEE7R7fg1QZ0V-CBK04.cache +0 -0
  187. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/eNBcyVIS4PNh9lfbPupF-BdIC0evfo6BlGMHxcwCYtU.cache +0 -0
  188. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/fWODqdcD6W4SaXwXF4E8J89o5feSXX46fDGzx_c5lR8.cache +0 -0
  189. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/g-ZxNGhO3AYxBp5Lv2cnE9BI_9Grfo1f3oKuMRbHq18.cache +2 -0
  190. data/spec/dummy/tmp/cache/assets/{test/sprockets/v3.0/pWcm0nXiEzE71J4J0GO5dG-VdjitVJuSYLKikiGiMMM.cache → development/sprockets/v3.0/gg9k3Z7hedEOKE3TitDeSpuh19j2yNXWtGyM9JXXpIA.cache} +0 -0
  191. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/h3J_pYLfdz1Av15w30FaaeRnLymzyHZshvkwhq5J_cM.cache +2 -0
  192. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/hA7aBF-f5PrPHDCU4_rX8RGuqSnI9NCgyCuUqdLhDrM.cache +1 -0
  193. data/spec/dummy/tmp/cache/assets/{test/sprockets/v3.0/2E1pK4UD0p2JhztN3ZkvvMpu6_XhIhetM_kYdv3qIkI.cache → development/sprockets/v3.0/hE57lfaKnD48I3tztHpqD31RAulKLClEv6NUUJT_UIg.cache} +0 -0
  194. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/{noLGhxn9iGEF7BDE8GTG2LLTuFPgxT-yM1F0obB5nGM.cache → hZ88W4bAHtCwBVig-JsakmHNwpIfGIfixvKJ1b876Qw.cache} +0 -0
  195. data/spec/dummy/tmp/cache/assets/{test/sprockets/v3.0/noLGhxn9iGEF7BDE8GTG2LLTuFPgxT-yM1F0obB5nGM.cache → development/sprockets/v3.0/hfQFBPPxJtPDdthOO3rJKlri_i3Ho3EluFmoAqR_bYg.cache} +0 -0
  196. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/hw8AiVkuV0Jb1MqnlKOmPV7OzCf0ggO2-FpwNNDX7rA.cache +0 -0
  197. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/i86GHirKPk5F2FgVVKH3xQvACxb6pMWe6jY8pRbqgAg.cache +1 -0
  198. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/iSaKW0hEtM90CRW6RrUEvNNUINgV2B5Q5Z5A2S-Y3fI.cache +1 -0
  199. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/ioHTiBF-8-6CURnZ7YlpQrSyfHbnQEoAncw3Hkpc-fI.cache +0 -0
  200. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/j37QdssGLyplpw3MkRWBHmlSdZhCR8FTGWzXfxfqgeI.cache +0 -0
  201. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/jP9zZQjroxUOZZkI8Fu4jl7u2ksMMGKDpixzk119Zic.cache +1 -0
  202. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/js_-GbuvJQ4VGhFUV6QutWkBN2J467qAxjx2Yf91Eak.cache +0 -0
  203. data/spec/dummy/tmp/cache/assets/{test/sprockets/v3.0/vpjV1mhOB3Rlc8UbhAJZj0rL_yHEWAeP-YJlXs720Gg.cache → development/sprockets/v3.0/kCGpSXjVHLbwe04B7WxFFD21HfXCYpg3LC3PEky9sZI.cache} +0 -0
  204. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/kYXemjpBFknH9kzOhifClhhOaHlRaYc04eAnYvnO3VA.cache +1 -0
  205. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/l-bgijhXWRzAN5h6f5vU0ebr_gLLx7q0OqAelZ88pBM.cache +1 -0
  206. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/lBXKiv2k-ODSn6dfiYEUn3l_EDOu0ge79iuhn-DAqZk.cache +0 -0
  207. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/lYCH7zVb6ECpax-WuyKXHfMlu2Lim5XVE8jQKgqPurY.cache +1 -0
  208. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/luNSeFt-kFkFmbWnLPI-Td9g1m6FkZOlE8AGFhB1Mbw.cache +0 -0
  209. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/lw2zQNROUdFTa_sR2kQ9LivXX3Ba0c8FY2kBW3g4FFE.cache +1 -0
  210. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/m5OlpJob5tjaptN4pTxj8HQQa7HWhMHwXsUcTBLpE_4.cache +1 -0
  211. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/mFbF4IvBWjgt_vwp7v7rFY1bGKbqGkGnONfS6HnsKnM.cache +1 -0
  212. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/nHHgYQwKCJDU6sJhdCFspLo132x7T0KEbaIRYasTn9o.cache +1 -0
  213. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/np7vCotlZb_49GCIrdudEv90Iq3xv3TGSeFPtYhykxA.cache +2 -0
  214. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/oeoruRfay2nWaCJz9JfDCRe8MtGJ_DUsK4k9OQ7U07M.cache +0 -0
  215. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/{k8M9V_ClpoQ0s1OMUJHaJfk4qPcAYqeJQ5GcRTqQSA8.cache → ov3EDe0iKlpPkgh1KjahCK1OVL8uWYQ1cVNUaiGmlG0.cache} +0 -0
  216. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/phIQW48Q0n1CsJdv3q1i99z4u2fbmN5rNtYkV4wKvTQ.cache +0 -0
  217. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/pj7Zt9BnWoEsYKpKqDUVTbdupv2Oqe4oRmyzyzwuJas.cache +1 -0
  218. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/qeJ2RaBHZkRM-mPrW6qCLdSi-iiJFmRiTjfDbVP66uw.cache +0 -0
  219. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/s7x5_coI4aGfED9cLsTL7o8vGLSX2oA61zI9K50O2a4.cache +0 -0
  220. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/sAoD9cau6N18VgHQZk5Lodk7vhwP5rO6vgKOuh4Fa1E.cache +2 -0
  221. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/tAG3ILvje5Ldk4QK_XED38PXirtc745_9jwIzmlTdkY.cache +1 -0
  222. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/tIQSpYE9c-PiToBFBJOsSmd0V3AjOl72qo6jJRoc7_0.cache +0 -0
  223. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/to0hv94NV7oHIzMlNM7ecTlB2Eb5wbu7vTaqEiOriK4.cache +0 -0
  224. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/{Vp5XbjUwVj8XafOL_dOz2pN9bIF-biEbxFPY3KTemjY.cache → u0jNXsg3M7MVjfjMUd35w_z7eJTwugxonLvMEwJRNXE.cache} +0 -0
  225. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/upcnXbukMqcMbxXpDLFBr2SnYGoCqc6d5mMfrwuoVSc.cache +0 -0
  226. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/utClJJbwBBC5xUHT5ZNxOYTVRnE-Mb1Og0rPIPNqi0Q.cache +0 -0
  227. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/vg7YZAtUIKxon4DPUdCac22lnxPs0NyOjlXpbdFDgaQ.cache +1 -0
  228. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/vlWxgBVBSTI0wY3TZw7lWnop3zBCeSBsWksOmuscto8.cache +1 -0
  229. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/{RpvlWDvKjlJIn18TwRI_mqrAq5fq3ZKBoIZ7j6J0VS8.cache → w2WWeg633cG8q01-uNSRUMZw3s-S1ZVq3xO-1x_6F98.cache} +0 -0
  230. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/x38Hslo9uhZ5JJmEG-emEJE12q4Kdd3OdHw6je6KEjw.cache +1 -0
  231. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/zAufR9LGwZtFZ4Xg1YUodFJ_ii54gkhBkdmE8wDrexQ.cache +1 -0
  232. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/zLIiPZHKBB7dMguv8917pHsofobSuT1C_bkatR1QRPw.cache +0 -0
  233. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/{MvZLakajvgchZhakOLhaUlcPKa04GDMcx4Cb79n77l8.cache → ziuIMdFPkGTyTbAtDx8B7YubNSIvQdzkDOVXUwo7NIE.cache} +0 -0
  234. data/spec/dummy/tmp/cache/assets/test/sass/{cd5c2e50cf21c8dd5320bc76db0c28d83e16429a → 79bc6a1530be4e47bb2bf0dda4943bc0e439789f}/application.css.scssc +0 -0
  235. data/spec/dummy/tmp/cache/assets/test/sass/79bc6a1530be4e47bb2bf0dda4943bc0e439789f/groups.css.scssc +0 -0
  236. data/spec/dummy/tmp/cache/assets/test/sass/79bc6a1530be4e47bb2bf0dda4943bc0e439789f/layout.css.scssc +0 -0
  237. data/spec/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  238. data/spec/dummy/tmp/cache/assets/test/sprockets/{0e1e2425282f6439838f0c8d9072d789 → 1b2a7d537faf315ae13485445854a5ef} +0 -0
  239. data/spec/dummy/tmp/cache/assets/test/sprockets/2128d293dc8ef13115c1f5d64b5acfc9 +0 -0
  240. data/spec/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  241. data/spec/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  242. data/spec/dummy/tmp/cache/assets/test/sprockets/3a98370f571a26666587622ab8526b31 +0 -0
  243. data/spec/dummy/tmp/cache/assets/test/sprockets/50b9bcf05a8718d9cb5b99276f154ea9 +0 -0
  244. data/spec/dummy/tmp/cache/assets/test/sprockets/5316fc0620afefc2ba81b690c8e2c34d +0 -0
  245. data/spec/dummy/tmp/cache/assets/test/sprockets/538966109f3bbd58bfb717ad57a37096 +0 -0
  246. data/spec/dummy/tmp/cache/assets/test/sprockets/58b9ed99ad62ba462ca6a9272b96bef3 +0 -0
  247. data/spec/dummy/tmp/cache/assets/test/sprockets/{30d1b0dcdf4b100d1d37280a124f042c → 697d977cf9fc7e54534f5e29b0832836} +0 -0
  248. data/spec/dummy/tmp/cache/assets/test/sprockets/{5205e0ea4a81c07931d76f6621419f1b → 6aab60b365535cc305f37a738e75868b} +0 -0
  249. data/spec/dummy/tmp/cache/assets/test/sprockets/6db8498274efddac6691248cc9afe855 +0 -0
  250. data/spec/dummy/tmp/cache/assets/test/sprockets/81ab882fef1228d654a7c697f2324309 +0 -0
  251. data/spec/dummy/tmp/cache/assets/test/sprockets/908bf508cc68079cab720d6b9c36cb95 +0 -0
  252. data/spec/dummy/tmp/cache/assets/test/sprockets/{8d153aa951c8833e3f6d3bd223e75f47 → 91090eda0f104056144ac17a4fcae91c} +0 -0
  253. data/spec/dummy/tmp/cache/assets/test/sprockets/{3fe48a470d9b6e4ceed3bd4302a3ead5 → 91406f9a3422285f8475d13d5093271b} +0 -0
  254. data/spec/dummy/tmp/cache/assets/test/sprockets/a3c8104e5830cd7047c6a3a1c1e2ba32 +0 -0
  255. data/spec/dummy/tmp/cache/assets/test/sprockets/{c2353b9baa836d259e56664b79ac4efc → b512f2b016bd3aef8c28fa661e01308c} +0 -0
  256. data/spec/dummy/tmp/cache/assets/test/sprockets/bd49bb0a6f5dfd284a750fb9cab40d85 +0 -0
  257. data/spec/dummy/tmp/cache/assets/test/sprockets/c1092209770ff950c5697ec886327353 +0 -0
  258. data/spec/dummy/tmp/cache/assets/test/sprockets/c2fda0b675f9f971e9328c76254e44b6 +0 -0
  259. data/spec/dummy/tmp/cache/assets/test/sprockets/c39fce5fa19b758734af29527d4185ca +0 -0
  260. data/spec/dummy/tmp/cache/assets/test/sprockets/{aaa784da6c59545e6178b0adc661aafe → c6de7a48a0cb4668cc20ebe89d235b10} +0 -0
  261. data/spec/dummy/tmp/cache/assets/test/sprockets/cb595904fcf7acdedf2b95571442fc59 +0 -0
  262. data/spec/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  263. data/spec/dummy/tmp/cache/assets/test/sprockets/d748e38dac6a003cac60f346aaaf324f +0 -0
  264. data/spec/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  265. data/spec/dummy/tmp/cache/assets/test/sprockets/{b9426c2a279a937b82fa062bbb75af13 → dcd0b2d0aaa104a4e915d7d4a046436d} +0 -0
  266. data/spec/dummy/tmp/cache/assets/test/sprockets/eb9ed717a7ef467bf260b11dfc8451eb +0 -0
  267. data/spec/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  268. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/-9LnoNK9_y7lZLswQisHkJ2UgRiThUygUF2k-lwJ_ls.cache +2 -0
  269. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/-lmreWIhEDs2xHrcsFhR0u9C3oVKfRpkFWBRwj-_4wQ.cache +0 -0
  270. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/{y6orTmm6rk6jn-CJIAXeQ8rOaHkBHFtbPogJm-3dNqE.cache → -xIdrBXI3YmhV41txPWqpBSY9pK3nOlnMf_tEoH7N-M.cache} +0 -0
  271. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/1A8wQ-ifsy7jBs9T0QABiYGCpJWneLF2UPFgWl32mxU.cache +1 -0
  272. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/1_-JUCvSVavx-NN-k01IXbauv2OthGh5YXWkYKn06DY.cache +1 -0
  273. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/2ePvf7uuSi9IWydA-7YBn6gj5GDS_VftHJp3LDT2EMk.cache +0 -0
  274. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/2p155H920Y76tD9Gj4HuvSeyKPX48gW2EeT0uJ-qDC4.cache +0 -0
  275. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/39nGyUnuGwDymSESW1DL-_ZP5z2KXgoqPQbO_PmFLVc.cache +0 -0
  276. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/{3IscdSBVlh2QpX_V8gWbAdJn0CwOi3CtjBf841bLw90.cache → 48qiMefw2dDLpAoHV6Kusj-e9hqqxyv_py-md-r7qs8.cache} +0 -0
  277. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/4OUP5o8K327jlkg3E5HZSf42f-ZF2K1A4PLjWOulYIM.cache +1 -0
  278. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/{6Tt3BohHWhW0VmHcKYyX9vLJY8ZGHF9XKASbNndcriw.cache → 4u-mbvL8xSJueyB4f0yDPryNRy7ujO7sMlpPaRt2qZQ.cache} +0 -0
  279. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/5154fwnuK_3Md7cMy15EvOV7ga2yxeSoBQPQKxAhh1M.cache +1 -0
  280. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/5EhPqCCQIQFoScisShCE4ycSdOEv98U0hL0SoZYK5p4.cache +0 -0
  281. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/6AKSuLQ7-rmru8z6X93bpAnu7f-pBhVaPqrLnlZEEr4.cache +0 -0
  282. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/6Xy9vg683-3OBFxLXdgZ668wV5vN_tjC9gHN-5rPPYQ.cache +1 -0
  283. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/6ZydpogL4gO4wlwf40vzZLyPUgQNOqmRzzKY6VtWSFs.cache +1 -0
  284. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/7EHTFFToRZu5VrDhHFvA9gEfhiAOmIFb0DQuWcbN7jk.cache +0 -0
  285. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/7QKZ7V7qzDK3EtnZ695pi2UHVib9nj_W6crYsRXdL3k.cache +0 -0
  286. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/{kyxMBV6uZkWe3IRCYC22nz50pqdEvoUf29oOIKfqnLY.cache → 7gTxlHmDCoe0pK3toG5j6HVAgPWLlbnmsma34AAdLMU.cache} +0 -0
  287. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/7szNZZ1-2OAX8mpYY8lAU3hLJOzEOcvWWc12QNlD8jI.cache +0 -0
  288. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/7vocXMrImF5hz9rJvs2FpZjIhNQ5rk9XCPYcycMJAk4.cache +0 -0
  289. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/8_uElLvRDJemsXDDPUeqoeF53xlcDIDJHLm6xQc_pv8.cache +1 -0
  290. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/{ABmSicIQVooWccPPNziw-INMNKnC2fTrf0gZOo4D-Uo.cache → 9FtH8_zmw6vl-JBtl2mpWPTu1SZtJkwq7va6MsSuCK0.cache} +0 -0
  291. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/9R6OcN8KqdiXmhWvyXEpXpKfQoXfutf567g9Cdxsf0k.cache +1 -0
  292. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/{m0Ed6UHlyVF0HkWQFgMHYw21q7KL7ChRRX7kJOLOd4A.cache → Ap5o3Ju8LsP2SlQJ8q_CubJ6eGCjAvxtNiF4FaDTyn8.cache} +0 -0
  293. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/AwkOC2gVDWMkSj54qADI_lu4Sfz9TS2FLAl0uAnoDkk.cache +0 -0
  294. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/AyNPDW3Dgg140bGx7uc2Fyehos3xkt6fL-jfJkv6-qU.cache +0 -0
  295. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/BKzNyYOdP2xGdM8ta2UTFAVjZqG0hO3xxwRLRo0ZL7Y.cache +0 -0
  296. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/BrDzTsxp9UnHHzHEX28hHrcLUZv2vC-CcToUdBmjgHo.cache +0 -0
  297. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/CHIXLHDYbpAVxG1wakYkNI0QxxGh_dOrwBZDDO6SqtU.cache +0 -0
  298. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/CJRwlja0TMfytjVQklM865NY8SrvDdLuyDk0q0Zhfds.cache +1 -0
  299. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/{GEBEpe470v7Q9mkDELNzG8WQfzdSL--qJ5JGJ8sG40w.cache → CZF_u2ho2W4C9GkGNOOBIMpdt2dTrBk2i1D2K-lhJmU.cache} +0 -0
  300. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/{qPYNb4CZQFP0VwugOG64zXZndZfxBV9N8Kin-wXY2Uc.cache → CoTd33v9gkcqVl0gfcR4-uFjVkWeEdLi-KSv7GGA8nM.cache} +0 -0
  301. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/EKGnDPxrorMgQp0c5zDa3OatEmQ0XCIhzgHCvQjBB-A.cache +3 -0
  302. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/{oN2LUbJ3UjOO--J2XELuQnD2XIq80Oa2bc5WYwhDK3c.cache → FBwAuPK6BCbMbGWYxYwBMw3DoucwiFMce9YeNnwsQ0Q.cache} +0 -0
  303. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/GDzC1chWWGmhgF3fUvOghjlCyrUvZCCVC_YH1oldtsM.cache +0 -0
  304. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/GYYF0YA4aRQirmTZh4-Zz72l1yXNBwv_Nf1IyUSnm0s.cache +0 -0
  305. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/GYYh9bV34kWHaEdZHJ3Vj5NJf7gHSaYdqsxbAMUmOQU.cache +1 -0
  306. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/GmMcDXgKRsei6oKvfxfRw4r78YTBSDbn7tJ44VRHq8M.cache +2 -0
  307. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/HUkunAxe9Fh8y2t11XZEpJnpvhHM_UKRHA6txWiKy8E.cache +1 -0
  308. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/I4f1QHxKGH_mYiYPkvYSLJdD0hu3KgATxH7js4TBWQ8.cache +1 -0
  309. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/I547NVZ9qsZYQ-NWg80sYZBlUjIn-f82SF24UxZdOAE.cache +2 -0
  310. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/ICWn4xffNF1HNqIMLVH45031SRVzi1bReaei0ppXuOM.cache +2 -0
  311. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/{KK-iVi_zk3sBOAMMmX8qOKilgTXSJ6VR7ev4cCt-xiw.cache → IKDoGwyiGlH1CTrcfd99TIJyg7356azTB6_K-Wfa5EU.cache} +0 -0
  312. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/JOgVNi_2ZnabkY8ZA1S4A9dolCAYe2eN7N5wgGAize8.cache +0 -0
  313. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/K6dcmv3rL2-a64bGvjvlt3V40jZoespDpJI43ozVwx4.cache +0 -0
  314. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/KNToCYP5EmOnK5v4rawfGKj7hX_btIG52S_i7DyL5nI.cache +0 -0
  315. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/L0AV6BEMf52JcHA55hmNVo2VHUKjVW8ZVuTIx27sRa4.cache +0 -0
  316. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/LmxkfpwC41PgyGjIYCA7x9YPSD-6s8B4Mi4hqdbYzw4.cache +1 -0
  317. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/Lra_lUnCq3UxcsTplESpDJMjC0aR8xhaqEQJZNQmOlc.cache +0 -0
  318. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/LtuKwRcTWtNm0-9U116mcMNSEOapgDhyZaj926hhVPs.cache +0 -0
  319. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/MR1NqdyKxCHe9jA_fNZHSfQJOaeHmav2vv8iUg1H9d4.cache +0 -0
  320. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/MzYsi2S393224patsQC_5aJpDwq4F97WspZCPEXC2Q0.cache +0 -0
  321. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/{k8M9V_ClpoQ0s1OMUJHaJfk4qPcAYqeJQ5GcRTqQSA8.cache → N2vRYi3uyzvn5jNG3gJq3Gk9n_aLie8gtNNarCUS9ik.cache} +0 -0
  322. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/NY5z3cpix2h7B64lLs5m2CArxRqzjesaGZx6Xt8si5A.cache +1 -0
  323. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/ORVhra49kAzimJHvx3UwnqHHYy9OyK3bWPoktyC2_Tk.cache +1 -0
  324. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/OnRq-dwbTzBXS4XQuBUpuBul105QTof7HWmejDG-up8.cache +1 -0
  325. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/PamLXmiOyVwyw3ftfD8aDs2TwFsBjAz97G7SDPGSdmQ.cache +0 -0
  326. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/QJhx6O5qwBBsHLR8azlUd1fZ1sYMbBTG9omqzSrsl8U.cache +1 -0
  327. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/Qz3aXVOQV-hb4VezgZnvkWV5_puuCLP1XPzASTgwJoA.cache +1 -0
  328. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/Rhafj2GpRZtp-MvV8OPk2PMmp5ovrXMGbfkfJDC5rJk.cache +0 -0
  329. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/SC5sq7fcHC8EQjMVaWqfJJa8-Ff-BSjj15cfWDBDyCI.cache +2 -0
  330. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/TjkgdowR9zeQYAxXXiimCu5UpfkrWpLSnLUi6p6WfZI.cache +1 -0
  331. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/TuA-1z5QC0DZ3Dwx7EFw4J4i3erwa-jspsxfAbRVqCU.cache +1 -0
  332. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/UMznzQq-uwbslH-8M6pmrNrruRcrHtfOwclv5rh-yVc.cache +0 -0
  333. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/{RpvlWDvKjlJIn18TwRI_mqrAq5fq3ZKBoIZ7j6J0VS8.cache → UpB_Ha9hbMTiPjLPu74wM2oQeFksqnwGf1o8ywDJ4Ek.cache} +0 -0
  334. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/VtjBUD7vGoYLG8W3JVW_vNWW_N5elhbf0e4RTee-7Ow.cache +1 -0
  335. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/Y4iDD3MyOCiGzA41LM0_WoPPUrSQ3b-ebQODC2X88mo.cache +0 -0
  336. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/YGZWmzflAg_kBxwD40tFjxBiHAvFMLGFhMYk6Wkhv3I.cache +2 -0
  337. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/Yi8I2PINpzaFSJWwVocKfpueusL8M1_5nrMx5lHIKTQ.cache +0 -0
  338. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/{lZQALQvALn540pbQBlXRfZ5u2Qx72YCsxdh2rICQfTo.cache → Zc7jGNCk6mFb05cRvvwBM-Qds541yngGy7rrHKmVU6s.cache} +0 -0
  339. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/Zn1XhXMXJwsSCOKjkot9hZawN5qjOrMHbtjfEh1SpKg.cache +1 -0
  340. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/ZyXvJ1KeAXVlJBuT5sKFHxbJDggotGHSIfePjxLj6p0.cache +1 -0
  341. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/_3yNG_7ETpXbBK7hSr2P6Kgm_drWvRRJc0nD2iXzz8s.cache +0 -0
  342. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/_WENBZwkqGTaFYstUKX48sfgNrhWhmeWPU61v_xJigM.cache +1 -0
  343. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/_fza5_g_S6qIdQahDpw4v5TxMgyfxRedZ2jaFX7GCiM.cache +1 -0
  344. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/a9ISJNTjcVsfdRCG5tgPZynUMkf1JoNJYmuLkkchBdA.cache +0 -0
  345. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/aXOjXMlDumwozMg7Bj2qMtgljMKEvB3HXOIl9j-TBDw.cache +0 -0
  346. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/ac3id3tXT5UPTMmwAxnrNu59bzPIqeRr6KAEQmot3gg.cache +0 -0
  347. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/beO0Qn92CeJxa2_L2yaiuZq7Jx5ZNMKEBPMDNR7SCJM.cache +2 -0
  348. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/cIGnbFf0j5QUf_wBKIMm5S3IN4Ubwgt3vkMFFSS6A3I.cache +1 -0
  349. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/dbwoXGGpZ7O1xOhIg7hBjyuHSHmV1jzbmAFEI-wHgyI.cache +0 -0
  350. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/dlwht47WcGsAYCBzPzjh0dzefLsDaNM32a1j9HMCrPU.cache +1 -0
  351. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/dv-t_-azYNWr2Fxh4xuYgZ5IJHOubVDYbcaFQKwW5-k.cache +0 -0
  352. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/eiwrdLSIsd72v5prvcHC-3MpRvhvezsksaWgUmy6_Mg.cache +0 -0
  353. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/fWKHFFtukMfTyIHgfEpvZmzmkpu5MCnjkxoe_ipJLZw.cache +0 -0
  354. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/fbdG78s4uopDHNZqVoq_xLWsWWp4zoNnHO5la05KIVE.cache +1 -0
  355. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/fwKKlfcpOcUQO-ptN7675VsRr9FMNX4TAo7pC979CZo.cache +1 -0
  356. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/gTN-wmzz9QVnNJ2Ss4t6n37Gk7ixuoiNbTxESwT8-3o.cache +1 -0
  357. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/gUG99SIJAJtfXBhDQhetAIrO_baTzx_a5SSjHw4PufY.cache +0 -0
  358. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/gg9k3Z7hedEOKE3TitDeSpuh19j2yNXWtGyM9JXXpIA.cache +2 -0
  359. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/hE57lfaKnD48I3tztHpqD31RAulKLClEv6NUUJT_UIg.cache +1 -0
  360. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/hM39IQa4fw3m9qQN2pfEBGJE2T1bTMz5-wpUScGeFCE.cache +0 -0
  361. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/hfQFBPPxJtPDdthOO3rJKlri_i3Ho3EluFmoAqR_bYg.cache +1 -0
  362. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/hn9Bk3J9k1TapZ8zPFBoq99mj0LsVDAM6ZEfIaM6EbA.cache +0 -0
  363. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/ioHTiBF-8-6CURnZ7YlpQrSyfHbnQEoAncw3Hkpc-fI.cache +0 -0
  364. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/js_-GbuvJQ4VGhFUV6QutWkBN2J467qAxjx2Yf91Eak.cache +0 -0
  365. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/kCGpSXjVHLbwe04B7WxFFD21HfXCYpg3LC3PEky9sZI.cache +2 -0
  366. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/kaLZDshWwYOSPRIJmXCOdtnceyyqf3s2lpd1rd2jtsM.cache +0 -0
  367. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/khZymZd6HrT91ZukScOLmxMgJqFSWZaPA6CkQuEBzuA.cache +1 -0
  368. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/ki7_b0l-ufJ8CKQdElm0k-2OyOcMQy6_yu72MVDka4s.cache +1 -0
  369. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/kpvMjOghMFzyC-GGH1hyZYp6seOMyTvwNee7K2gZ_Co.cache +0 -0
  370. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/lBXKiv2k-ODSn6dfiYEUn3l_EDOu0ge79iuhn-DAqZk.cache +0 -0
  371. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/lYCH7zVb6ECpax-WuyKXHfMlu2Lim5XVE8jQKgqPurY.cache +1 -0
  372. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/n5Nok1YwPgyBiS2xW0dnDxT4fZzGmPZAbGbgdl0HgHk.cache +1 -0
  373. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/{Vp5XbjUwVj8XafOL_dOz2pN9bIF-biEbxFPY3KTemjY.cache → nVb2i1iKycFjiMR6U-8IrKlKumiSLBIMDOgsb1Sw51g.cache} +0 -0
  374. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/naeeUXJcvbOPtRddkG0HY8EBueijTTAVcak5IKubQ-U.cache +0 -0
  375. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/o3OPTr3pf07qCW0LsK5iuRMcsNy3q7BXmPyebfbayH4.cache +1 -0
  376. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/ov3EDe0iKlpPkgh1KjahCK1OVL8uWYQ1cVNUaiGmlG0.cache +1 -0
  377. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/q6BYa32YJF11eGVapO4ouNl6gayPIsARgMavlzZmoi0.cache +3 -0
  378. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/qtez3V5RoYAjFDOGqeMvg6p5zWk6WamsIOO5dYrFpNc.cache +0 -0
  379. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/qxyZeiCw3SuP9VNB-n9e40llvaOAZeFoRc4e6kpbexg.cache +0 -0
  380. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/rKg3R8vuaGev7uePt7maDTseyYtLYHF1afFa6rMZvos.cache +2 -0
  381. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/rwnfxTyQ5JDjuDtIBdhI_NTqtQ9mls38vnGCvGUhjAU.cache +1 -0
  382. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/sqnal_QFHldgZCbm7ElwpcD7FN730fRy5FFbJgUvViU.cache +1 -0
  383. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/szKErilCkFe_reHZ-dGGc0YC7BCBGpaX2NtZwR-IX1g.cache +0 -0
  384. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/tDyWfi6loGDH2VY6sIDeRy4ELlPce1d72GBFRDu0eoA.cache +0 -0
  385. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/tfGFfOAYiI9wS251EOcY9iJd8BeHDP7lUING5ER7J5U.cache +0 -0
  386. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/thLSQ418CeASZojHPAZyVxmvcgzZwahQ-qdVhO9QT7o.cache +0 -0
  387. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/u0jNXsg3M7MVjfjMUd35w_z7eJTwugxonLvMEwJRNXE.cache +1 -0
  388. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/uGfYe65nf6oLDhvNjo0QDBaXCCiFXJJSl02xRRjwpfA.cache +1 -0
  389. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/ujMpOMkHKO6nLCblqGWOXPwfhwwOj8Nk32JRPvxP9Ew.cache +1 -0
  390. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/vg7YZAtUIKxon4DPUdCac22lnxPs0NyOjlXpbdFDgaQ.cache +1 -0
  391. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/vxwwk_1slj4fcevNvfqES3BdOztJrJQ231TaeFLFUOQ.cache +0 -0
  392. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/w-moWH2uaJxkP0iAQmPypxZoAJoOtMVVkeQ_3ucccFg.cache +1 -0
  393. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/w2WWeg633cG8q01-uNSRUMZw3s-S1ZVq3xO-1x_6F98.cache +1 -0
  394. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/wEjIcbsVwfQq53aYJymEBRcssP4JwNgpFkmBiQ8D-lM.cache +1 -0
  395. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/wq6K0Ic7fB8nucETNMt20PQHhpwfiLKbfj2QduEzC14.cache +2 -0
  396. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/x7KkTV3ibfIEysLB_ug5bfmnn2VLV_BldukPR3EoPBk.cache +2 -0
  397. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/xA9FzLWicT29nRLj1mPCxt0DTBK4FzfVMFc7lQPdDwo.cache +0 -0
  398. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/xoSaAGdIEiGSuQOIsR7F32U5bfhjw8_daxc8TyKjldw.cache +0 -0
  399. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/xy3fFnoc6Xy7PSk5kS4PsCuxjy87qImwogOEBzkAZFo.cache +2 -0
  400. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/{eO30598lqiH4E0poxi-So-sioK59p0nH1fHHWZNmnwI.cache → zLIiPZHKBB7dMguv8917pHsofobSuT1C_bkatR1QRPw.cache} +0 -0
  401. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/{MvZLakajvgchZhakOLhaUlcPKa04GDMcx4Cb79n77l8.cache → ziuIMdFPkGTyTbAtDx8B7YubNSIvQdzkDOVXUwo7NIE.cache} +0 -0
  402. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/zlCU95ZKx1nGy3M7EaPFIwTJhFr1vzLHQHieB7J1ZkY.cache +2 -0
  403. data/spec/dummy/tmp/cache/sprockets/v3.0/-9LnoNK9_y7lZLswQisHkJ2UgRiThUygUF2k-lwJ_ls.cache +2 -0
  404. data/spec/dummy/tmp/cache/sprockets/v3.0/48qiMefw2dDLpAoHV6Kusj-e9hqqxyv_py-md-r7qs8.cache +0 -0
  405. data/spec/dummy/tmp/cache/sprockets/v3.0/4u-mbvL8xSJueyB4f0yDPryNRy7ujO7sMlpPaRt2qZQ.cache +0 -0
  406. data/spec/dummy/tmp/cache/sprockets/v3.0/5_nSG9TBIvMgszKAxBx25DX1UMeAx8rMSm49ueQQSMM.cache +0 -0
  407. data/spec/dummy/tmp/cache/sprockets/v3.0/74tAiXC06dXA2iPIBm1-eCfpeuio0OToj5iTt9tPyto.cache +2 -0
  408. data/spec/dummy/tmp/cache/sprockets/v3.0/9QotU0qOMaLGwkr2ILQw4cAKg3keMOAElOgDz_RCUMk.cache +1 -0
  409. data/spec/dummy/tmp/cache/sprockets/v3.0/AxEbrM3BRhmUkzQtXKiCTXaYe5upIJNcnt4a4c3AE4E.cache +2 -0
  410. data/spec/dummy/tmp/cache/sprockets/v3.0/AyNPDW3Dgg140bGx7uc2Fyehos3xkt6fL-jfJkv6-qU.cache +0 -0
  411. data/spec/dummy/tmp/cache/sprockets/v3.0/BBUVlPCRDAvIDkyTMTbAjLu0NaOcNvuVWDblSRgHdRA.cache +0 -0
  412. data/spec/dummy/tmp/cache/sprockets/v3.0/BMx_mGEhC82GSWpMx5n_9M3nBGJ00mxCagP27OhALxQ.cache +1 -0
  413. data/spec/dummy/tmp/cache/sprockets/v3.0/D83E4Per-mHDSoRX-flfs-kIeiJSbBYBWLG2x2yHApg.cache +1 -0
  414. data/spec/dummy/tmp/cache/sprockets/v3.0/EOvyouzB8DrrPlNPaKpH70xSWp53AuBYt3otbnf8cU8.cache +2 -0
  415. data/spec/dummy/tmp/cache/sprockets/v3.0/EzNrNwbPX9eM9D_EVtSkr9hJTiiZH6bTnnEyHjzES7c.cache +1 -0
  416. data/spec/dummy/tmp/cache/sprockets/v3.0/FBwAuPK6BCbMbGWYxYwBMw3DoucwiFMce9YeNnwsQ0Q.cache +1 -0
  417. data/spec/dummy/tmp/cache/sprockets/v3.0/GmMcDXgKRsei6oKvfxfRw4r78YTBSDbn7tJ44VRHq8M.cache +2 -0
  418. data/spec/dummy/tmp/cache/sprockets/v3.0/IKDoGwyiGlH1CTrcfd99TIJyg7356azTB6_K-Wfa5EU.cache +1 -0
  419. data/spec/dummy/tmp/cache/sprockets/v3.0/Ie6AlT56YJfPmDu6dtQj2Bx3XhPpUiThgbZPB9c07oE.cache +1 -0
  420. data/spec/dummy/tmp/cache/sprockets/v3.0/JVP47rgGgFq4dwvqKpw18smN739021OE_Ozja18GyTQ.cache +1 -0
  421. data/spec/dummy/tmp/cache/sprockets/v3.0/JViua-5wbABAAW1qlkprCRV-DnHe4bcUE5rkotS3cc8.cache +2 -0
  422. data/spec/dummy/tmp/cache/sprockets/v3.0/JmBfuzuBoLF0VreQFOdaTnc4xSm0OXdrmBJlugAn6jc.cache +0 -0
  423. data/spec/dummy/tmp/cache/sprockets/v3.0/L0AV6BEMf52JcHA55hmNVo2VHUKjVW8ZVuTIx27sRa4.cache +0 -0
  424. data/spec/dummy/tmp/cache/sprockets/v3.0/L98VcBAUgxfW0weHV0rmQt66OWZTgw89odjUs8zQ__s.cache +1 -0
  425. data/spec/dummy/tmp/cache/sprockets/v3.0/MchkdoLPiWM-PeWVK9Mr_dLW6vd012xH6S8OrMm5G5U.cache +2 -0
  426. data/spec/dummy/tmp/cache/sprockets/v3.0/N2vRYi3uyzvn5jNG3gJq3Gk9n_aLie8gtNNarCUS9ik.cache +1 -0
  427. data/spec/dummy/tmp/cache/sprockets/v3.0/R3JPY4PITnCWQQJX1LpfNkBfonnvB528091JUN0vwBM.cache +1 -0
  428. data/spec/dummy/tmp/cache/sprockets/v3.0/RUSBdTxYCcfmEWQS_Htp3RX9QJFViQzNTXqy5yZFS4Q.cache +1 -0
  429. data/spec/dummy/tmp/cache/sprockets/v3.0/SC5sq7fcHC8EQjMVaWqfJJa8-Ff-BSjj15cfWDBDyCI.cache +2 -0
  430. data/spec/dummy/tmp/cache/sprockets/v3.0/TFQTEXZH_rYt7TSr3CaLhncUDntRmg56Cav7Yd4_ws8.cache +1 -0
  431. data/spec/dummy/tmp/cache/sprockets/v3.0/UMznzQq-uwbslH-8M6pmrNrruRcrHtfOwclv5rh-yVc.cache +0 -0
  432. data/spec/dummy/tmp/cache/sprockets/v3.0/UPg13tlgINb98l5GldPTfwZ3VB6EbiXTMUn9UxHtRRU.cache +1 -0
  433. data/spec/dummy/tmp/cache/sprockets/v3.0/XrAbX0bQEs3izzo3nys2tp1hvURioz-jvhAi7tynj98.cache +1 -0
  434. data/spec/dummy/tmp/cache/sprockets/v3.0/YGZWmzflAg_kBxwD40tFjxBiHAvFMLGFhMYk6Wkhv3I.cache +2 -0
  435. data/spec/dummy/tmp/cache/sprockets/v3.0/YZRbE5JJxjdznKkK0nB0jKYHkncr5VU_4yvUiFZHGKU.cache +1 -0
  436. data/spec/dummy/tmp/cache/sprockets/v3.0/a7Y4PKBfB2AQXAyqqpDRrUHy4fg-IpYT1-nkP_hbeOw.cache +1 -0
  437. data/spec/dummy/tmp/cache/sprockets/v3.0/apaTkB3M4wgG4_T8gXHg_SR-8jDp4-_LrzFL6LAMTX4.cache +2 -0
  438. data/spec/dummy/tmp/cache/sprockets/v3.0/b-65bDZSjbekqSrrLuwLD1Ml-jj_AzF8YejdDxi_UG4.cache +0 -0
  439. data/spec/dummy/tmp/cache/sprockets/v3.0/b83zPZuEfOujV15J61Ckp5A9P1vKtES5wD-xk4MvxuM.cache +2 -0
  440. data/spec/dummy/tmp/cache/sprockets/v3.0/bE7Fk2YsHFINIzaxEBqHKZEPOnWuDgn6wnveaWBRE7s.cache +5 -0
  441. data/spec/dummy/tmp/cache/sprockets/v3.0/ctxBG6gXblVY9FkhYs5QbIOgXWYOSF4kdjt-9ctJ7ac.cache +0 -0
  442. data/spec/dummy/tmp/cache/sprockets/v3.0/gg9k3Z7hedEOKE3TitDeSpuh19j2yNXWtGyM9JXXpIA.cache +2 -0
  443. data/spec/dummy/tmp/cache/sprockets/v3.0/ggNvi1qkBKpk7L6Z6-v3XwGaHRKbJKx4b2680DtLr3s.cache +2 -0
  444. data/spec/dummy/tmp/cache/sprockets/v3.0/hE57lfaKnD48I3tztHpqD31RAulKLClEv6NUUJT_UIg.cache +1 -0
  445. data/spec/dummy/tmp/cache/sprockets/v3.0/kCGpSXjVHLbwe04B7WxFFD21HfXCYpg3LC3PEky9sZI.cache +2 -0
  446. data/spec/dummy/tmp/cache/sprockets/v3.0/ki7_b0l-ufJ8CKQdElm0k-2OyOcMQy6_yu72MVDka4s.cache +1 -0
  447. data/spec/dummy/tmp/cache/sprockets/v3.0/lBf006ysc3epjL29Xp6OUVwkFOUw4-BvkeZ9finrXWE.cache +0 -0
  448. data/spec/dummy/tmp/cache/sprockets/v3.0/om3JiByz3unQifhOQiLt27UT7HksXFeVO4qfNsthOHU.cache +0 -0
  449. data/spec/dummy/tmp/cache/sprockets/v3.0/pI478Vvwg0pHxj-dhfCk5KCfrDF5OLfn82xGuB9sHP8.cache +0 -0
  450. data/spec/dummy/tmp/cache/sprockets/v3.0/pfm-bBY110CiXJ2s3jliq7NYFyiCc8rdr9-pjUqke-Q.cache +0 -0
  451. data/spec/dummy/tmp/cache/sprockets/v3.0/q6BYa32YJF11eGVapO4ouNl6gayPIsARgMavlzZmoi0.cache +3 -0
  452. data/spec/dummy/tmp/cache/sprockets/v3.0/rKg3R8vuaGev7uePt7maDTseyYtLYHF1afFa6rMZvos.cache +2 -0
  453. data/spec/dummy/tmp/cache/sprockets/v3.0/sosebjpVvVpu5liYgrN3yYUvmOIbzGa_DkN1ys5ynLY.cache +2 -0
  454. data/spec/dummy/tmp/cache/sprockets/v3.0/w2WWeg633cG8q01-uNSRUMZw3s-S1ZVq3xO-1x_6F98.cache +1 -0
  455. data/spec/dummy/tmp/cache/sprockets/v3.0/x7KkTV3ibfIEysLB_ug5bfmnn2VLV_BldukPR3EoPBk.cache +2 -0
  456. data/spec/dummy/tmp/cache/sprockets/v3.0/ykyuEWh36Jpfk4yS5fNqKWJEppGpRgwTjYPZiQH8fdw.cache +0 -0
  457. data/spec/dummy/tmp/cache/sprockets/v3.0/ytFt8ooOS5_nQl7q7XZQtJmP6O14DWCZ9czXZFntSR8.cache +0 -0
  458. data/spec/dummy/tmp/cache/sprockets/v3.0/yzaB4RdG-8HojwQlJSrZxjPJv04IF3CmJ2a-1acv3RU.cache +0 -0
  459. data/spec/dummy/tmp/cache/sprockets/v3.0/zWptTwOIzsuU9l8ehs15qN7A6lio_cypAHL-erdyHS4.cache +1 -0
  460. data/spec/dummy/tmp/cache/sprockets/v3.0/zpPT_wmGGvuW4P86PDFxYfFL5bQgMZflJfnHbazO9YM.cache +1 -0
  461. data/spec/factories/group.rb +8 -0
  462. data/spec/factories/handler.rb +6 -0
  463. data/spec/factories/handler_translation.rb +13 -0
  464. data/spec/factories/translation_key.rb +8 -0
  465. data/spec/factories/translation_value.rb +9 -0
  466. data/spec/handlers/erb_handler_spec.rb +9 -9
  467. data/spec/handlers/global_handler_spec.rb +3 -3
  468. data/spec/handlers/library_handler_spec.rb +3 -3
  469. data/spec/handlers/model_handler_spec.rb +11 -7
  470. data/spec/handlers/validations_handler_spec.rb +4 -4
  471. data/spec/handlers_spec.rb +1 -1
  472. data/spec/lib/cache_database_generator_spec.rb +58 -0
  473. data/spec/lib/erb_inspector/file_inspector_spec.rb +1 -1
  474. data/spec/lib/erb_inspector/translation_inspector_spec.rb +3 -3
  475. data/spec/lib/erb_inspector_spec.rb +3 -3
  476. data/spec/lib/model_inspector/attribute_spec.rb +3 -3
  477. data/spec/lib/model_inspector_spec.rb +9 -9
  478. data/spec/lib/object_extensions_spec.rb +1 -1
  479. data/spec/lib/translation_migrator_spec.rb +43 -0
  480. data/spec/models/awesome_translations/handler_spec.rb +1 -1
  481. data/spec/models/awesome_translations/translated_value_spec.rb +2 -2
  482. data/spec/spec_helper.rb +24 -4
  483. metadata +997 -397
  484. data/app/assets/javascripts/awesome_translations/application.js +0 -13
  485. data/spec/dummy/config/locales/awesome_translations/models/role/da.yml +0 -6
  486. data/spec/dummy/config/locales/awesome_translations/models/role/de.yml +0 -6
  487. data/spec/dummy/config/locales/awesome_translations/models/role/en.yml +0 -6
  488. data/spec/dummy/config/locales/awesome_translations/models/user/da.yml +0 -6
  489. data/spec/dummy/config/locales/awesome_translations/models/user/de.yml +0 -6
  490. data/spec/dummy/config/locales/awesome_translations/models/user/en.yml +0 -6
  491. data/spec/dummy/config/locales/en.yml +0 -23
  492. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/1qKcXfkG8CKi7q4pCEHnvwfcPx1E_x2I7eSOQBHGPPY.cache +0 -2
  493. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/1vIoFrjnL-WYo6h0P4YR6R8em3JmI3g-ordATsUyh60.cache +0 -3
  494. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/3UCczbToeiY2ykHpeDqRi9GK-6t_Elikr8hOWGdAUzk.cache +0 -0
  495. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/5wfdkfw9Q56zdQjDm46Dd76F-Bh_TXOMtg-yo9qWK-4.cache +0 -2
  496. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/6VoVHZXlkZRSXoEKqnyAKlNmd0nYvRv4gysdIYMMPO0.cache +0 -0
  497. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/FMw8p0XzZq8ibZDT5V9xwtSvsD4kE6KUFZ757QLIaaA.cache +0 -1
  498. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/GApQ59e5HgUPx8vhnO4eQLAaEDRattds4frtXbteIKU.cache +0 -1
  499. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/I2mbvQlKAUa_sKfXDn60m_2SHHDJg5d0q0A-D82H5CU.cache +0 -1
  500. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/KA2Lwg2NNgt_oqtKVifbp_KCzBYpUOESd_vhyofiHuM.cache +0 -1
  501. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/KUMOTC_lyk0EVRIY2QOPuyhGxA5lBKWZk2g6dsB_GFk.cache +0 -0
  502. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/LJY_42VtPPzKbYI_08t0RibCYO6Pk7h_D5LVUqMUf08.cache +0 -2
  503. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/MIEij_krgXGgx1NoadOVjN0zUctja-Ju8dW9X1BrIZc.cache +0 -2
  504. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/Mb5rz8ZE56o6DQO3S0TzatTW70GbYDOj6TGqPtaiR4E.cache +0 -2
  505. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/NAVJvwEfjb_iCvtQZ87F4LttFQX1ELd2TGRMzda1YTM.cache +0 -1
  506. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/UezSt2l9DKvGH5FTKMGncQA2frZcqiwBpjNNGY5YxJE.cache +0 -2
  507. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/Up99B1IcqjCl5pX4oDOUjBRH7MlGkanhw2U4jblusws.cache +0 -3
  508. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/ZotICrlgxuCoyrHNZjO5OdWgcDSnUFNtW3XFWiNrmZI.cache +0 -2
  509. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/_3WzdzBWQ6Aal-8jujuXrujK4QhMa397rqUYFLR-NQM.cache +0 -1
  510. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/_8zNerD1S8oKB2XaiZXtPXacVT50V1pzgDmwm1T0FYg.cache +0 -1
  511. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/awwp95szKjLN7ecKC_knYGqSFX7fSIUN6aZfZSoK4go.cache +0 -2
  512. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/bCh19eCSHzJLYGCtRk1UwrrR1H5sQGXneb7YXxFB2rM.cache +0 -0
  513. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/d0dz_SPKXqz2hMYTGWtbe15XFuke1sEBI_1X_O_P7ZY.cache +0 -0
  514. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/dFQ4Q3hp4VwfHzoh2lVeOsYsY87Li26plRX4uWWDISs.cache +0 -0
  515. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/db4IzdQ8LsevZeJT0IY5KrjEko5oPwd9zNfqUHrO6sA.cache +0 -0
  516. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/hFeUW0u2l1yvMNYKs8aTAjGPox_WiHs3sWdpviW8j8g.cache +0 -0
  517. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/hTX85qeo1RVM_iwikMQZrzHAqrP6Z8jFf-KH_GgsSwo.cache +0 -1
  518. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/k7ZFNEy7rPvT30E_q2ktyQj9ZbIMivSf-QxyW9TA5xw.cache +0 -0
  519. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/kExbfVgvjJlXnJKkTOLOYYVvm9RnXiAXbtxmHx7oQV8.cache +0 -1
  520. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/kXZ5SNrnAE-T54v1b_KddSictfSfwOSoj7H4i5-6f8g.cache +0 -0
  521. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/kp77YxQaf2YTdZ8WZlB3LYnulhMMhGfSRhqeA9qaffQ.cache +0 -1
  522. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/l32RrzgTsAGwpwA3LGrqcKRHthaL681N18TiyrJ3goM.cache +0 -1
  523. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/nACk4K2RvtLpl83m8PVDPJx8O5oW197e1COjCELFQkE.cache +0 -0
  524. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/osR7Wt_1B7LezjwxH6ANK96EPg1Jy808ubXAfIYat6k.cache +0 -0
  525. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/uXmtB4n5IxofIKBQSzzHvvz7XJj3y6ul-AW0B5F_Fis.cache +0 -0
  526. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/w6gYjUBGcix9jkTtmox9zOg5RMDExUrt0LeoOEU49Ww.cache +0 -1
  527. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/zPWQ3Dit7vGxRBJDr0Y6060syWEljgLfPpBSwT_awWo.cache +0 -0
  528. data/spec/dummy/tmp/cache/assets/test/sass/cd5c2e50cf21c8dd5320bc76db0c28d83e16429a/groups.css.scssc +0 -0
  529. data/spec/dummy/tmp/cache/assets/test/sprockets/40c039851f1e9c7652e79559d5f0eb57 +0 -0
  530. data/spec/dummy/tmp/cache/assets/test/sprockets/476b87a00813499bb0c5994cfb1617fe +0 -0
  531. data/spec/dummy/tmp/cache/assets/test/sprockets/4eaa569e863732fc01883e425e991e3b +0 -0
  532. data/spec/dummy/tmp/cache/assets/test/sprockets/6f26f574ff8dfe3727a8b37e0eb78e89 +0 -0
  533. data/spec/dummy/tmp/cache/assets/test/sprockets/8277106af358b15d5d9ea5f25e6c16b9 +0 -0
  534. data/spec/dummy/tmp/cache/assets/test/sprockets/d242c6bd6f900ddf1e2da56629ea4214 +0 -0
  535. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/1qKcXfkG8CKi7q4pCEHnvwfcPx1E_x2I7eSOQBHGPPY.cache +0 -0
  536. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/1vIoFrjnL-WYo6h0P4YR6R8em3JmI3g-ordATsUyh60.cache +0 -0
  537. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/2Y51mkloF7jGf6jJOhYJo4PMUd7lKoSWKoWuIuy8E-I.cache +0 -1
  538. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/3UeKrejci9nQqBEO0KCdbTpuf99rs1vT6stnFy56JPc.cache +0 -1
  539. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/5wfdkfw9Q56zdQjDm46Dd76F-Bh_TXOMtg-yo9qWK-4.cache +0 -0
  540. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/8aWhDShsX3EbC0z6Dn79WDzDzVf7t-kcer0VpnZSqaY.cache +0 -1
  541. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/8czjR9XP3pFX_FNR7qF_9SeVc1Yj7A12MyK72kZY1bo.cache +0 -1
  542. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/DUSZZlZQuWujlkFkNjfuQxlTguMdZU32gf16ONUQMko.cache +0 -1
  543. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/G6Jcc3vhf1YLvzhxkaWlWMehBma5J6iOxEr6jjESpHQ.cache +0 -0
  544. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/GACQZAbqcPvI9bBQMLAsQMnvJE28_BMnK2dZoeOYWHc.cache +0 -0
  545. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/GEvxlVx6YSVMSJXTAP0yuU-FdjyFNJ5FuzCNewJprHo.cache +0 -0
  546. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/JYcXWKlVLveQjTTknvMcw2tISpq7DrGD3oKhaCNNKjI.cache +0 -0
  547. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/K9eViHXJLIL05Z-rEIFPZ1ey9Y7iEnaM1nQjV6xUjvw.cache +0 -0
  548. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/KI5ikH1EhRt8UcY_TnNsPFctrbR_XR870QmQiiS_LWY.cache +0 -0
  549. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/KmqFolaKe5LMeZsqS_jGZlABf19Dcd5_TsfbGh67QkI.cache +0 -1
  550. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/LJY_42VtPPzKbYI_08t0RibCYO6Pk7h_D5LVUqMUf08.cache +0 -0
  551. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/L_Aq41PvTqk5x8GD5sP8ZMtfycJ367ycJEBnoje_cWw.cache +0 -0
  552. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/MIEij_krgXGgx1NoadOVjN0zUctja-Ju8dW9X1BrIZc.cache +0 -0
  553. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/Mb5rz8ZE56o6DQO3S0TzatTW70GbYDOj6TGqPtaiR4E.cache +0 -0
  554. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/PAmGm1DKK2Dvho9TcgVcep0PFmCn_kGnrOomgBoyjBs.cache +0 -1
  555. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/PrDVHlVFAS6-V06qVa3OmB-P-6bfykdUm1rqeGHug1k.cache +0 -1
  556. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/Rc1jAj5cU5Hbaz4c7NZzG6dbdZBuvVOo0Tszd0bnxVY.cache +0 -1
  557. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/T-mINTYPXfmZNlsyxiiGfM5xKOEfM9RgGZGeQfo6qH0.cache +0 -1
  558. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/UezSt2l9DKvGH5FTKMGncQA2frZcqiwBpjNNGY5YxJE.cache +0 -0
  559. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/Up99B1IcqjCl5pX4oDOUjBRH7MlGkanhw2U4jblusws.cache +0 -0
  560. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/V00ApaHioHU8Bp5JaHKnVM1fZfkKYXTrcmjAnvhcfmI.cache +0 -0
  561. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/V7rc7wpaGoB5SKH6CGzE9xzTvFYTdvEyDna1nfjx8fc.cache +0 -0
  562. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/WSXOWUqMl_i_hIJkFR1IsLCpxnpmMaoKGyBfcPiB8N0.cache +0 -1
  563. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/XeCG5oXvjEamfACNt_kGwPzVcikaTw65ehnAVYlZRiY.cache +0 -0
  564. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/ZotICrlgxuCoyrHNZjO5OdWgcDSnUFNtW3XFWiNrmZI.cache +0 -0
  565. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/_E51q8pgzm6ujV7Ohw9GxZCUt8bzcuFbXAZmw6IFT5U.cache +0 -0
  566. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/aZdVKedgigfZ_XzuE0rO9brhaL4bR16cT4LDR4-5f8U.cache +0 -0
  567. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/awwp95szKjLN7ecKC_knYGqSFX7fSIUN6aZfZSoK4go.cache +0 -0
  568. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/eig6G1BJ-j9pGq5RPVMS9Cmvn7nakwaVXPq90vUHgKs.cache +0 -0
  569. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/fQiwSLHPGLt9xUsMdzBglecADfd5SGATxEKOUDxePOo.cache +0 -0
  570. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/i3N0DSXGvRRg0BF1YoJJd_52rtjmqO5Zy_WJHhCK_SU.cache +0 -0
  571. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/ifp6TJcnElIgAgoEnzp7h173vAPS2b_hV99iT3bIaeg.cache +0 -1
  572. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/ig4TdWe55SjdcxcthsOWcxW6pD5p5T5yvoI9UZk4tzo.cache +0 -1
  573. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/itUCfrh3_d5Stb30DlzPyp8xBez_ihj3HSjsBz_buj0.cache +0 -1
  574. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/jjBiQML_-zapUosiuN4R7E-v2MGXi3cSgqgu44cSboI.cache +0 -1
  575. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/kJJHbTAj0gfHTHe7SwyrDde9c6Wz20jyjpICW1lQXVI.cache +0 -1
  576. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/mQUdgT-kaSCiyzjlt_DjQlQLcdTeVR_UwGTfj6RyUhw.cache +0 -0
  577. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/mhppkHYKedw1D45pTSIgAaK8aPwa-61oK6VU1yv7mlU.cache +0 -1
  578. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/nCA8yu9Sf4QC4K-18I_0jII5fONXaFRlWhNDI52RA4U.cache +0 -0
  579. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/nXXG62qHvWbFPSgpcxpQ_VWcIu-BXR9P4zA54KD_fHY.cache +0 -1
  580. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/ndllAoNfPEEfReDwVClrYXSdHpBmbi8Hyoa8TVtp_nw.cache +0 -1
  581. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/ovktwT4Z3LJ42X2PtvmuE8WzJclW1pydtXK5Icnjapw.cache +0 -1
  582. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/qMpFwkpP4pxaIPmEQA8PjZKJAnd8_aZf101xb5KgG-c.cache +0 -1
  583. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/ra0wYmmMO_cVvD0F1_bd5Jk2OtOw30a-V5EUKMAhVIs.cache +0 -1
  584. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/rcxZsgqkP6uHpfByzSlM8MYKyvYYNC3GTKQEVcH88qI.cache +0 -0
  585. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/snLYw6JqpKRTvfqS8uC_CpxgO5ICMRl6yMQ3JhkkXqg.cache +0 -0
  586. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/t6x0P0LXTZlmYmAC9Zb68VAvfVCbdCXowqZ31EZ7MMc.cache +0 -0
  587. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/tJ1hZitr9E7tU2fBXHa1XY1Qn0Xu32tvtWBNHTWRs2k.cache +0 -0
  588. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/uhng0EJ9KNc7C0F3tjkN2sRG60CTdeYYFLvEkNEPN8Q.cache +0 -0
  589. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/wjGQ83eLLyfwUKfmEo2150b_UXSlpjawbM9RWuJjYjo.cache +0 -1
  590. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/wqjwU5FaMCT0BHLpOZkSxg8xjY6dXfHPecYuTADlq34.cache +0 -0
  591. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/yV0IvTZoNHsT6GqHF29v9GfAHmeBS-2coAxSUyPgan8.cache +0 -0
  592. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/zX93aE_0W-BXHDy1Df1dnercScDqeqxi103TIzHJ6TQ.cache +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1b767303de03d7364fb0c7212a3e6904a76cd248
4
- data.tar.gz: cd3acf8f7db3af66c9d94b503b398004a329bc65
3
+ metadata.gz: 1e38f021130a42dcbfd6a8c4b1086e0b72b31d02
4
+ data.tar.gz: dbc8589d666e8d0c23a1205e30c7f4ecd5b2be0c
5
5
  SHA512:
6
- metadata.gz: a763bd92feb3e84d48da83086a1b0535a3c986ea38968a99711a315a149b045d89de41a43901537f28d136c92407d3780f7981aafdc016383811b7ee9f8e9d1f
7
- data.tar.gz: ba665effaa13e98405710640ff9cb6a22193127428a73d1f6a9c92f61e93ed12da92144ccd60bb2407024a4bdb757817fa2de0244e50ac53339f9d92bb19d288
6
+ metadata.gz: 79b1753082fd74b2339619fdf0e02d4235a2e562969c3dc9c3868475ad881ba31acc381761e6603101261ccebf7e6385f85d9df5787a3befbdf410e8b969e49c
7
+ data.tar.gz: f8d5168cd39a568a2ca103ede459e3cf4039824de56d15e4380cf82936ebd2e0fc2e62a098bb50354d0260a01f1a287f5284b31eca68d7f4f64760389156ee7f
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
- [![Build Status](https://api.shippable.com/projects/544232fcb904a4b21567a417/badge?branchName=master)](https://app.shippable.com/projects/544232fcb904a4b21567a417/builds/latest)
2
1
  [![Code Climate](https://codeclimate.com/github/kaspernj/awesome_translations/badges/gpa.svg)](https://codeclimate.com/github/kaspernj/awesome_translations)
3
2
  [![Test Coverage](https://codeclimate.com/github/kaspernj/awesome_translations/badges/coverage.svg)](https://codeclimate.com/github/kaspernj/awesome_translations)
3
+ [![Build Status](https://img.shields.io/shippable/544232fcb904a4b21567a417.svg)](https://app.shippable.com/projects/544232fcb904a4b21567a417/builds/latest)
4
4
 
5
5
  # AwesomeTranslations
6
6
 
@@ -0,0 +1,15 @@
1
+ # This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ # listed below.
3
+ #
4
+ # Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ # or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
6
+ #
7
+ # It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ # compiled file.
9
+ #
10
+ # Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
11
+ # about supported directives.
12
+ #
13
+ #= require jquery
14
+ #= require jquery_ujs
15
+ #= require_tree .
@@ -37,6 +37,11 @@ table.main-table {
37
37
  border-top: 1px solid black;
38
38
  border-bottom: 1px solid black;
39
39
  padding: 10px;
40
+
41
+ .menu-item {
42
+ float: left;
43
+ margin-right: 12px;
44
+ }
40
45
  }
41
46
 
42
47
  td.main-content {
@@ -49,3 +54,17 @@ table.main-table {
49
54
  table > thead > tr > th {
50
55
  text-align: left;
51
56
  }
57
+
58
+ .button {
59
+ padding: 10px;
60
+ background-color: lightgrey;
61
+ border: 1px solid black;
62
+ border-radius: 5px;
63
+ color: black;
64
+ text-decoration: none;
65
+
66
+ &:link, &:visited, &:hover, &:active {
67
+ color: black;
68
+ text-decoration: none;
69
+ }
70
+ }
@@ -0,0 +1,12 @@
1
+ class AwesomeTranslations::CachesController < AwesomeTranslations::ApplicationController
2
+ def index
3
+ end
4
+
5
+ def create
6
+ cache_db_generator = AwesomeTranslations::CacheDatabaseGenerator.new(debug: false)
7
+ cache_db_generator.cache_translations
8
+
9
+ flash[:notice] = "The cache was updated"
10
+ redirect_to caches_path
11
+ end
12
+ end
@@ -6,11 +6,11 @@ class AwesomeTranslations::GroupsController < AwesomeTranslations::ApplicationCo
6
6
  end
7
7
 
8
8
  def show
9
- @translations = @group.translations
9
+ @translations = @group.handler_translations
10
10
  end
11
11
 
12
12
  def update
13
- @group.translations.each do |translation|
13
+ @group.handler_translations.each do |translation|
14
14
  if translation.array_translation?
15
15
  next unless params[:t].key?(translation.array_key)
16
16
  values = params[:t][translation.array_key][translation.array_no.to_s]
@@ -31,13 +31,23 @@ class AwesomeTranslations::GroupsController < AwesomeTranslations::ApplicationCo
31
31
  redirect_to handler_group_path(@handler, @group)
32
32
  end
33
33
 
34
+ def update_translations_cache
35
+ handler = AwesomeTranslations::Handler.find(@handler.identifier)
36
+ group = AwesomeTranslations::Group.find_by_handler_and_id(handler, @group.identifier)
37
+
38
+ generator = AwesomeTranslations::CacheDatabaseGenerator.current
39
+ generator.update_translations_for_group(@handler, group, @group)
40
+
41
+ redirect_to handler_group_path(@handler.identifier, @group.identifier)
42
+ end
43
+
34
44
  private
35
45
 
36
46
  def set_handler
37
- @handler = AwesomeTranslations::Handler.find(params[:handler_id])
47
+ @handler = AwesomeTranslations::CacheDatabaseGenerator::Handler.find_by(identifier: params[:handler_id])
38
48
  end
39
49
 
40
50
  def set_group
41
- @group = AwesomeTranslations::Group.find_by_handler_and_id(@handler, params[:id])
51
+ @group = @handler.groups.find_by(identifier: params[:id])
42
52
  end
43
53
  end
@@ -1,17 +1,35 @@
1
1
  class AwesomeTranslations::HandlersController < AwesomeTranslations::ApplicationController
2
- before_filter :set_handler
2
+ before_filter :set_handler, only: [:show, :update_groups_cache]
3
3
 
4
4
  def index
5
- @handlers = AwesomeTranslations::Handler.all
5
+ @handlers = AwesomeTranslations::CacheDatabaseGenerator::Handler.order(:name)
6
+ end
7
+
8
+ def update_cache
9
+ generator = AwesomeTranslations::CacheDatabaseGenerator.current
10
+ generator.update_handlers
11
+
12
+ redirect_to handlers_path
13
+ end
14
+
15
+ def update_groups_cache
16
+ generator = AwesomeTranslations::CacheDatabaseGenerator.current
17
+ generator.update_handlers do |handler, handler_model|
18
+ next unless handler_model.identifier == @handler.identifier
19
+ generator.update_groups_for_handler(handler, handler_model)
20
+ end
21
+
22
+ redirect_to handler_path(@handler.identifier)
6
23
  end
7
24
 
8
25
  def show
9
- @groups = @handler.groups
26
+ @groups = @handler.groups.order(:name)
10
27
  end
11
28
 
12
29
  private
13
30
 
14
31
  def set_handler
15
- @handler = AwesomeTranslations::Handler.find(params[:id]) if params[:id]
32
+ @handler = AwesomeTranslations::CacheDatabaseGenerator::Handler.find_by(identifier: params[:id])
33
+ raise "No such handler: #{params[:id]}" unless @handler
16
34
  end
17
35
  end
@@ -0,0 +1,26 @@
1
+ class AwesomeTranslations::MigrationsController < AwesomeTranslations::ApplicationController
2
+ def new
3
+ end
4
+
5
+ def create
6
+ params[:m].each do |translation_value_id, check_value|
7
+ next unless check_value == "1"
8
+
9
+ translation_value = AwesomeTranslations::CacheDatabaseGenerator::TranslationValue.find(translation_value_id)
10
+ translation_value.migrate_to_awesome_translations_namespace!
11
+ end
12
+
13
+ redirect_to new_migration_path
14
+ end
15
+
16
+ private
17
+
18
+ helper_method :translations_to_migrate
19
+ def translations_to_migrate
20
+ @translations_to_migrate ||= AwesomeTranslations::CacheDatabaseGenerator::TranslationValue
21
+ .joins(:translation_key)
22
+ .includes(:translation_key)
23
+ .joins("INNER JOIN handler_translations ON handler_translations.translation_key_id = translation_keys.id")
24
+ .where("translation_values.file_path NOT LIKE '%/config/locales/awesome_translations/%'")
25
+ end
26
+ end
@@ -0,0 +1,10 @@
1
+ class AwesomeTranslations::TranslateMigrationsController < AwesomeTranslations::BaseController
2
+ def index
3
+ end
4
+
5
+ def show
6
+ end
7
+
8
+ def udpate
9
+ end
10
+ end
@@ -1,5 +1,13 @@
1
1
  module AwesomeTranslations::ApplicationHelper
2
2
  def helper_t(key, args = {})
3
- AwesomeTranslations::GlobalTranslator.translate(key, caller_number: 1, translation_args: [args])
3
+ AwesomeTranslations::GlobalTranslator.translate(key, helper: true, caller_number: 1, translation_args: [args])
4
+ end
5
+
6
+ def path_without_root(path)
7
+ path.gsub(/\A#{Regexp.escape(Rails.root.to_s)}(\/|)/, "")
8
+ end
9
+
10
+ def path_without_root_or_locales(path)
11
+ path_without_root(path).gsub(/\Aconfig\/locales(\/|)/, "")
4
12
  end
5
13
  end
@@ -10,7 +10,10 @@ class AwesomeTranslations::Group
10
10
  end
11
11
 
12
12
  def initialize(args)
13
- @handler, @id, @data = args[:handler], args[:id], args[:data]
13
+ @handler = args.fetch(:handler)
14
+ @id = args.fetch(:id)
15
+ @data = args[:data] || {}
16
+ raise "Invalid ID: #{@id}" unless @id.present?
14
17
  end
15
18
 
16
19
  def translations(args = {})
@@ -18,21 +21,21 @@ class AwesomeTranslations::Group
18
21
 
19
22
  args.each do |key, value|
20
23
  if key == :finished
21
- translations_list = translations_list.select { |translation| translation.finished? } if value
24
+ translations_list = translations_list.select(&:finished?) if value
22
25
  elsif key == :unfinished
23
- translations_list = translations_list.select { |translation| translation.unfinished? } if value
26
+ translations_list = translations_list.select(&:unfinished?) if value
24
27
  else
25
28
  raise "Unknown key: #{key}"
26
29
  end
27
30
  end
28
31
 
29
- return translations_list
32
+ translations_list
30
33
  end
31
34
 
32
35
  def translations_count(args = {})
33
36
  count = 0
34
37
  translations(args).each { count += 1 }
35
- return count
38
+ count
36
39
  end
37
40
 
38
41
  def to_param
@@ -44,11 +47,7 @@ class AwesomeTranslations::Group
44
47
  end
45
48
 
46
49
  def name
47
- if @data && @data[:name].present?
48
- return @data[:name].presence
49
- end
50
-
51
- return id
50
+ @data[:name].presence || id.presence
52
51
  end
53
52
 
54
53
  def to_s
@@ -4,13 +4,18 @@ class AwesomeTranslations::TranslatedValue
4
4
  attr_accessor :file, :locale, :key, :value
5
5
 
6
6
  def initialize(data)
7
- @file, @locale, @key, @value = data[:file], data[:locale], data[:key], data[:value]
7
+ @file = data.fetch(:file)
8
+ @locale = data.fetch(:locale)
9
+ @key = data.fetch(:key)
10
+ @value = data.fetch(:value)
8
11
  end
9
12
 
10
13
  def to_s
11
14
  "<AwesomeTranslations::TranslatedValue file=\"#{@file}\" locale=\"#{@locale}\" key=\"#{@key}\" value=\"#{@value}\">"
12
15
  end
13
16
 
17
+ alias inspect to_s
18
+
14
19
  def array_translation?
15
20
  if @key.match(/\[(\d+)\]\Z/)
16
21
  return true
@@ -20,27 +25,19 @@ class AwesomeTranslations::TranslatedValue
20
25
  end
21
26
 
22
27
  def array_key
23
- if match = @key.match(/\A(.+)\[(\d+)\]\Z/)
24
- return match[1]
25
- end
26
-
27
- return nil
28
+ return unless (match = @key.match(/\A(.+)\[(\d+)\]\Z/))
29
+ match[1]
28
30
  end
29
31
 
30
32
  def array_no
31
- if match = @key.match(/\A(.+)\[(\d+)\]\Z/)
32
- return match[2].to_i
33
- end
34
-
35
- return nil
33
+ return unless (match = @key.match(/\A(.+)\[(\d+)\]\Z/))
34
+ match[2].to_i
36
35
  end
37
36
 
38
- alias inspect to_s
39
-
40
37
  def save!
41
38
  dir = File.dirname(@file)
42
- FileUtils.mkdir_p(dir) unless File.exists?(dir)
43
- File.open(@file, "w") { |fp| fp.write("#{@locale}:\n") } unless File.exists?(@file)
39
+ FileUtils.mkdir_p(dir) unless File.exist?(dir)
40
+ File.open(@file, "w") { |fp| fp.write("#{@locale}:\n") } unless File.exist?(@file)
44
41
 
45
42
  translations = YAML.load(File.read(@file))
46
43
  translations ||= {}
@@ -1,10 +1,14 @@
1
1
  class AwesomeTranslations::Translation
2
- attr_reader :default, :dir, :key, :file_path, :line_no
2
+ attr_reader :default, :dir, :key, :key_show, :file_path, :line_no, :full_path
3
3
 
4
4
  def initialize(data)
5
5
  @data = data
6
- @dir, @file_path, @full_path, @line_no = data[:dir], data[:file_path], data[:full_path], data[:line_no]
7
- @key, @key_show = data[:key], data[:key_show]
6
+ @dir = data[:dir]
7
+ @file_path = data[:file_path]
8
+ @full_path = data[:full_path]
9
+ @line_no = data[:line_no]
10
+ @key = data[:key]
11
+ @key_show = data[:key_show]
8
12
  @default = data[:default]
9
13
 
10
14
  raise "Dir wasn't valid: '#{@dir}'." unless @dir.present?
@@ -27,23 +31,13 @@ class AwesomeTranslations::Translation
27
31
  end
28
32
 
29
33
  def array_key
30
- if match = @key.match(/\A(.+)\[(\d+)\]\Z/)
31
- return match[1]
32
- end
33
-
34
- return nil
34
+ return unless (match = @key.match(/\A(.+)\[(\d+)\]\Z/))
35
+ match[1]
35
36
  end
36
37
 
37
38
  def array_no
38
- if match = @key.match(/\A(.+)\[(\d+)\]\Z/)
39
- return match[2].to_i
40
- end
41
-
42
- return nil
43
- end
44
-
45
- def id
46
- raise "stub!"
39
+ return unless (match = @key.match(/\A(.+)\[(\d+)\]\Z/))
40
+ match[2].to_i
47
41
  end
48
42
 
49
43
  def to_param
@@ -68,7 +62,7 @@ class AwesomeTranslations::Translation
68
62
  )
69
63
  end
70
64
 
71
- return result
65
+ result
72
66
  end
73
67
 
74
68
  def finished?
@@ -77,7 +71,7 @@ class AwesomeTranslations::Translation
77
71
  return false
78
72
  end
79
73
 
80
- return true
74
+ true
81
75
  end
82
76
 
83
77
  def unfinished?
@@ -95,9 +89,9 @@ class AwesomeTranslations::Translation
95
89
 
96
90
  def value_for?(locale)
97
91
  if array_translation?
98
- I18n.with_locale(locale) { return I18n.exists?(array_key) && I18n.t(array_key)[array_no].present? }
92
+ I18n.with_locale(locale) { I18n.exists?(array_key) && I18n.t(array_key)[array_no].present? }
99
93
  else
100
- I18n.with_locale(locale) { return I18n.exists?(@key) }
94
+ I18n.with_locale(locale) { I18n.exists?(@key) }
101
95
  end
102
96
  end
103
97
 
@@ -107,9 +101,9 @@ class AwesomeTranslations::Translation
107
101
  return nil unless value_for?(locale)
108
102
 
109
103
  if array_translation?
110
- I18n.with_locale(locale) { return I18n.t(array_key)[array_no] }
104
+ I18n.with_locale(locale) { I18n.t(array_key)[array_no] }
111
105
  else
112
- I18n.with_locale(locale) { return I18n.t(@key) }
106
+ I18n.with_locale(locale) { I18n.t(@key) }
113
107
  end
114
108
  end
115
109
 
@@ -0,0 +1,3 @@
1
+ %h1 Cache
2
+
3
+ = link_to "Update cache", caches_path, method: :post, data: {confirm: "Are you sure?"}, class: "button"
@@ -1,4 +1,5 @@
1
- %h1= "Show group: #{@group.name}"
1
+ - content_for(:header_title) { "Show group: #{@group.name}" }
2
+ - content_for(:header_right) { link_to "Update translations", update_translations_cache_handler_group_path(@handler.identifier, @group.identifier), method: :post, class: "button", data: {confirm: "Are you sure?"} }
2
3
 
3
4
  = form_for :group, url: handler_group_path(@handler, @group), method: :put do |f|
4
5
  %table.translations
@@ -13,7 +14,7 @@
13
14
  .translation-key-text= translation.key_show_with_fallback
14
15
 
15
16
  - I18n.available_locales.each do |locale|
16
- %td.translation= text_field "t", "#{translation.key}[#{locale}]", class: "translation-input", lang: locale, value: translation.value(locale: locale)
17
+ %td.translation= text_field "t", "#{translation.key}[#{locale}]", class: "translation-input", lang: locale, value: translation.translation_value(locale: locale)
17
18
 
18
19
  - if translation.file_line_content? || translation.default.present?
19
20
  %tr.line-content-row
@@ -1,4 +1,5 @@
1
- %h1 Handlers
1
+ - content_for(:header_title) { Handlers }
2
+ - content_for(:header_right) { link_to "Update", update_cache_handlers_path, method: :post, class: "button", data: {confirm: "Are you sure?"} }
2
3
 
3
4
  %table
4
5
  %thead
@@ -7,7 +8,7 @@
7
8
  %tbody
8
9
  - @handlers.each do |handler|
9
10
  %tr
10
- %td= link_to handler.name, handler_path(handler)
11
+ %td= link_to handler.name, handler_path(handler.identifier)
11
12
  - if @handlers.empty?
12
13
  %tr
13
14
  %td.error{colspan: 1} No handlers were found.
@@ -1,4 +1,5 @@
1
- %h1= "Show handler: #{@handler.name}"
1
+ - content_for(:header_title) { "Show handler: #{@handler.name}" }
2
+ - content_for(:header_right) { link_to "Update groups", update_groups_cache_handler_path(@handler.identifier), method: :post, class: "button", data: {confirm: "Are you sure?"} }
2
3
 
3
4
  %table
4
5
  %thead
@@ -7,12 +8,12 @@
7
8
  %th Finished
8
9
  %th Unfinished
9
10
  %tbody
10
- - @groups.each do |group|
11
+ - @groups.includes(handler_translations: :translation_key).each do |group|
11
12
  %tr
12
- %td= link_to group.name, handler_group_path(@handler, group)
13
- %td= group.translations_count
14
- %td= group.translations_count(finished: true)
15
- %td= group.translations_count(unfinished: true)
13
+ %td= link_to group.name, handler_group_path(@handler.identifier, group.identifier)
14
+ %td= group.handler_translations.count
15
+ %td= group.handler_translations.select(&:finished?).length
16
+ %td= group.handler_translations.select(&:unfinished?).length
16
17
  - if @groups.empty?
17
18
  %tr
18
- %td.error{colspan: 2} No groups were found.
19
+ %td.error{colspan: 4} No groups were found.
@@ -0,0 +1,21 @@
1
+ - content_for(:header_title) { "Migrate translations into AwesomeTranslations" }
2
+
3
+ = form_for :migration, url: migrations_path do |f|
4
+ %table
5
+ %thead
6
+ %tr
7
+ %th{colspan: 2} Key
8
+ %th File
9
+ %th New file
10
+ %tbody
11
+ - translations_to_migrate.each do |translation|
12
+ %tr
13
+ %td= check_box_tag("m[#{translation.id}]", 1, true)
14
+ %td= translation.key
15
+ %td= path_without_root_or_locales(translation.file_path)
16
+ %td= path_without_root_or_locales(translation.calculated_translation_file_path)
17
+ - if translations_to_migrate.empty?
18
+ %tr
19
+ %td{colspan: 4} No translations were found
20
+
21
+ = f.submit "Migrate"
@@ -19,6 +19,17 @@
19
19
  %tr
20
20
  %td.main-menu
21
21
  .menu-item= link_to "Handlers", handlers_path
22
+ .menu-item= link_to "Migrate", new_migration_path
23
+ .menu-item= link_to "Cache", caches_path
22
24
  %tr
23
25
  %td.main-content
26
+ %table{width: "100%"}
27
+ %tbody
28
+ %tr
29
+ %td
30
+ - if content_for(:header_title)
31
+ %h1= content_for(:header_title)
32
+ %td{align: "right", width: "170px"}
33
+ = content_for(:header_right)
34
+
24
35
  = yield
@@ -0,0 +1 @@
1
+ AwesomeTranslations::CacheDatabaseGenerator.new.init_database
data/config/routes.rb CHANGED
@@ -1,7 +1,16 @@
1
1
  AwesomeTranslations::Engine.routes.draw do
2
+ resources :caches
3
+
2
4
  resources :handlers, only: [:index, :show] do
3
- resources :groups, only: [:show, :update]
5
+ post :update_cache, on: :collection
6
+ post :update_groups_cache, on: :member
7
+
8
+ resources :groups, only: [:show, :update] do
9
+ post :update_translations_cache, on: :member
10
+ end
4
11
  end
5
12
 
13
+ resources :migrations, only: [:new, :create]
14
+
6
15
  root to: "handlers#index"
7
16
  end
@@ -0,0 +1,14 @@
1
+ class CreateTranslationKeys < BazaMigrations::Migration
2
+ def change
3
+ create_table :translation_keys do |t|
4
+ t.belongs_to :handler
5
+ t.belongs_to :group
6
+ t.string :key
7
+ t.timestamps
8
+ end
9
+
10
+ add_index :translation_keys, :key
11
+ add_index :translation_keys, :group_id
12
+ add_index :translation_keys, :handler_id
13
+ end
14
+ end
@@ -0,0 +1,13 @@
1
+ class CreateGroups < BazaMigrations::Migration
2
+ def change
3
+ create_table :groups do |t|
4
+ t.belongs_to :handler
5
+ t.string :identifier
6
+ t.string :name
7
+ t.timestamps
8
+ end
9
+
10
+ add_index :groups, :identifier
11
+ add_index :groups, :handler_id
12
+ end
13
+ end
@@ -0,0 +1,11 @@
1
+ class CreateHandlers < BazaMigrations::Migration
2
+ def change
3
+ create_table :handlers do |t|
4
+ t.string :identifier
5
+ t.string :name
6
+ t.timestamps
7
+ end
8
+
9
+ add_index :handlers, :identifier
10
+ end
11
+ end
@@ -0,0 +1,14 @@
1
+ class CreateTranslationValues < BazaMigrations::Migration
2
+ def change
3
+ create_table :translation_values do |t|
4
+ t.belongs_to :translation_key
5
+ t.string :file_path
6
+ t.string :locale
7
+ t.string :value
8
+ t.timestamps
9
+ end
10
+
11
+ add_index :translation_values, :translation_key_id
12
+ add_index :translation_values, :locale
13
+ end
14
+ end
@@ -0,0 +1,21 @@
1
+ class CreateHandlerTranslations < BazaMigrations::Migration
2
+ def change
3
+ create_table :handler_translations do |t|
4
+ t.belongs_to :handler
5
+ t.belongs_to :translation_key
6
+ t.belongs_to :group
7
+ t.string :key_show
8
+ t.string :file_path
9
+ t.integer :line_no
10
+ t.string :full_path
11
+ t.string :dir
12
+ t.string :default
13
+ t.timestamps
14
+ end
15
+
16
+ add_index :handler_translations, :handler_id
17
+ add_index :handler_translations, :translation_key_id
18
+ add_index :handler_translations, :group_id
19
+ add_index :handler_translations, :file_path
20
+ end
21
+ end
@@ -0,0 +1,16 @@
1
+ class AwesomeTranslations::CacheDatabaseGenerator::Group < BazaModels::Model
2
+ belongs_to :handler, class_name: "AwesomeTranslations::CacheDatabaseGenerator::Handler"
3
+
4
+ has_many :handler_translations, dependent: :destroy, foreign_key: "group_id", class_name: "AwesomeTranslations::CacheDatabaseGenerator::HandlerTranslation"
5
+ has_many :translation_keys, dependent: :destroy, foreign_key: "group_id", class_name: "AwesomeTranslations::CacheDatabaseGenerator::TranslationKey"
6
+
7
+ validates_presence_of :name, :handler
8
+
9
+ def at_handler
10
+ @at_handler ||= handler.at_handler
11
+ end
12
+
13
+ def at_group
14
+ @at_group ||= AwesomeTranslations::Group.find_by_handler_and_id(at_handler, identifier)
15
+ end
16
+ end
@@ -0,0 +1,9 @@
1
+ class AwesomeTranslations::CacheDatabaseGenerator::Handler < BazaModels::Model
2
+ has_many :groups, dependent: :destroy, foreign_key: "handler_id", class_name: "AwesomeTranslations::CacheDatabaseGenerator::Group"
3
+
4
+ validates_presence_of :name
5
+
6
+ def at_handler
7
+ @at_handler ||= AwesomeTranslations::Handler.find(identifier)
8
+ end
9
+ end