ceo 0.1.7 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (449) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +135 -0
  3. data/app/assets/stylesheets/admin/application.sass +59 -0
  4. data/app/assets/stylesheets/admin/base/forms.sass +138 -0
  5. data/app/assets/stylesheets/admin/base/layout.sass +6 -0
  6. data/app/assets/stylesheets/admin/base/lists.sass +14 -0
  7. data/app/assets/stylesheets/admin/base/scale.sass +8 -0
  8. data/app/assets/stylesheets/admin/base/svg.sass +9 -0
  9. data/app/assets/stylesheets/admin/base/tables.sass +32 -0
  10. data/app/assets/stylesheets/admin/base/type.sass +120 -0
  11. data/app/assets/stylesheets/admin/components/content.sass +13 -0
  12. data/app/assets/stylesheets/admin/components/filters.sass +145 -0
  13. data/app/assets/stylesheets/admin/components/forms.sass +5 -0
  14. data/app/assets/stylesheets/admin/components/header.sass +21 -0
  15. data/app/assets/stylesheets/admin/components/links.sass +5 -0
  16. data/app/assets/stylesheets/admin/components/nav.sass +112 -0
  17. data/app/assets/stylesheets/admin/components/notifier.sass +5 -0
  18. data/app/assets/stylesheets/admin/components/sidebar.sass +10 -0
  19. data/app/assets/stylesheets/admin/components/user.sass +11 -0
  20. data/app/assets/stylesheets/admin/generic/reset.sass +35 -0
  21. data/app/assets/stylesheets/admin/objects/avatar.sass +11 -0
  22. data/app/assets/stylesheets/admin/objects/cart.sass +12 -0
  23. data/app/assets/stylesheets/admin/objects/layout.sass +19 -0
  24. data/app/assets/stylesheets/admin/objects/lists.sass +26 -0
  25. data/app/assets/stylesheets/admin/objects/logo.sass +3 -0
  26. data/app/assets/stylesheets/admin/objects/nav.sass +38 -0
  27. data/app/assets/stylesheets/admin/objects/panels.sass +42 -0
  28. data/app/assets/stylesheets/admin/objects/search.sass +25 -0
  29. data/app/assets/stylesheets/admin/objects/tables.sass +85 -0
  30. data/app/assets/stylesheets/admin/objects/titles.sass +43 -0
  31. data/app/assets/stylesheets/admin/overrides/forms.sass +10 -0
  32. data/app/assets/stylesheets/admin/overrides/jquery-ui.sass +177 -0
  33. data/app/assets/stylesheets/admin/settings/backgrounds.sass +6 -0
  34. data/app/assets/stylesheets/admin/settings/borders.sass +14 -0
  35. data/app/assets/stylesheets/admin/settings/colors.sass +34 -0
  36. data/app/assets/stylesheets/admin/settings/forms.sass +9 -0
  37. data/app/assets/stylesheets/admin/settings/global.sass +50 -0
  38. data/app/assets/stylesheets/admin/settings/header.sass +6 -0
  39. data/app/assets/stylesheets/admin/settings/media-queries.sass +21 -0
  40. data/app/assets/stylesheets/admin/settings/tables.sass +16 -0
  41. data/app/assets/stylesheets/admin/settings/type.sass +42 -0
  42. data/app/assets/stylesheets/admin/tools/button-generator.sass +50 -0
  43. data/app/assets/stylesheets/admin/tools/clearfix.sass +5 -0
  44. data/app/assets/stylesheets/admin/tools/dynamic-text-lightness.sass +5 -0
  45. data/app/assets/stylesheets/admin/tools/ellipsize.sass +4 -0
  46. data/app/assets/stylesheets/admin/tools/greyscale.sass +16 -0
  47. data/app/assets/stylesheets/admin/tools/link-generator.sass +18 -0
  48. data/app/assets/stylesheets/admin/tools/notifier-generator.sass +27 -0
  49. data/app/assets/stylesheets/admin/tools/panel-generator.sass +13 -0
  50. data/app/assets/stylesheets/admin/tools/placeholder.sass +5 -0
  51. data/app/assets/stylesheets/admin/tools/space-generator.sass +17 -0
  52. data/app/assets/svg/admin/eye.svg +1 -0
  53. data/app/assets/svg/admin/hamburger.svg +1 -0
  54. data/app/assets/svg/admin/pencil.svg +1 -0
  55. data/app/assets/svg/admin/search.svg +1 -0
  56. data/app/controllers/admin/admin_controller.rb +18 -219
  57. data/app/controllers/admin/ceo_controller.rb +235 -0
  58. data/app/views/admin/dashboard.html.erb +0 -0
  59. data/app/views/admin/edit.html.erb +9 -4
  60. data/app/views/admin/index.html.erb +50 -47
  61. data/app/views/admin/new.html.erb +9 -5
  62. data/app/views/admin/show.html.erb +10 -6
  63. data/app/views/admin/styleguide.html.erb +779 -0
  64. data/app/views/layouts/admin/_header.html.erb +38 -0
  65. data/app/views/layouts/admin/application.html.erb +22 -0
  66. data/config/initializers/simple_form.rb +223 -0
  67. data/config/routes.rb +7 -0
  68. data/lib/ceo.rb +2 -0
  69. data/lib/ceo/engine.rb +1 -0
  70. data/lib/ceo/iterator.rb +2 -4
  71. data/lib/ceo/version.rb +1 -1
  72. data/lib/generators/admin/admin_generator.rb +4 -1
  73. data/lib/generators/admin/templates/admin_page_controller.rb.erb +3 -2
  74. data/test/ceo/authenticate_admin_test.rb +47 -0
  75. data/test/ceo/edit_apple_test.rb +3 -3
  76. data/test/ceo/index_apple_test.rb +52 -56
  77. data/test/ceo/namespaced_assets_test.rb +19 -0
  78. data/test/ceo/new_apple_test.rb +1 -1
  79. data/test/controllers/admin/oranges_controller_test.rb +21 -0
  80. data/test/dummy/app/assets/stylesheets/custom.css +3 -0
  81. data/test/dummy/app/controllers/admin/apples_controller.rb +1 -1
  82. data/test/dummy/app/controllers/admin/bananas_controller.rb +1 -1
  83. data/test/dummy/app/controllers/admin/oranges_controller.rb +7 -0
  84. data/test/dummy/app/controllers/admin/other_controller.rb +1 -1
  85. data/test/dummy/app/controllers/application_controller.rb +1 -0
  86. data/test/dummy/app/controllers/home_controller.rb +5 -0
  87. data/test/dummy/app/views/admin/apples/_form.html.erb +1 -1
  88. data/test/dummy/app/views/admin/bananas/_form.html.erb +1 -1
  89. data/test/dummy/app/views/admin/dashboard.html.erb +0 -0
  90. data/test/dummy/app/views/admin/oranges/_form.html.erb +1 -0
  91. data/test/dummy/app/views/admin/oranges/index.html.erb +1 -0
  92. data/test/dummy/app/views/home/index.html.erb +7 -0
  93. data/test/dummy/app/views/layouts/application.html.erb +1 -1
  94. data/test/dummy/config/initializers/simple_form.rb +165 -0
  95. data/test/dummy/config/locales/simple_form.en.yml +31 -0
  96. data/test/dummy/config/routes.rb +4 -0
  97. data/test/dummy/lib/templates/erb/scaffold/_form.html.erb +13 -0
  98. data/test/dummy/log/development.log +25 -0
  99. data/test/dummy/log/test.log +29749 -0
  100. data/test/dummy/tmp/cache/assets/sprockets/v3.0/-1/-1M_pwyyGbsyeljxUSsT3Rt1Betbddr_9mOSBO_-oC0.cache +1 -0
  101. data/test/dummy/tmp/cache/assets/sprockets/v3.0/-Y/-YNE6OzapSny_gpGHx5vNEykkNqZ_4ljcIHCNboOBIo.cache +1 -0
  102. data/test/dummy/tmp/cache/assets/sprockets/v3.0/-v/-vrNxEnoe8NZLRx73fD33W5Yke08zUQSjiI8ZY8E5LY.cache +1 -0
  103. data/test/dummy/tmp/cache/assets/sprockets/v3.0/0o/0o7O5liMX_XX-mP4Y5UVeMY7MW0r6spshlVxKHoea2o.cache +0 -0
  104. data/test/dummy/tmp/cache/assets/sprockets/v3.0/0z/0zSAa2iL_IpyvpPxlwboBp-0NpghhId6ZpuziOuRxR4.cache +0 -0
  105. data/test/dummy/tmp/cache/assets/sprockets/v3.0/1K/1KEUY-lGNZshn0gR1dDVHzLBvs8AWMA9M4uAs0_WAWY.cache +1 -0
  106. data/test/dummy/tmp/cache/assets/sprockets/v3.0/1K/1knxFSqGMS9aYm_k9-3PDxj1UnlRm4tSMohZ6cRIw3E.cache +1 -0
  107. data/test/dummy/tmp/cache/assets/sprockets/v3.0/1Q/1Q1MfPlwhWJAhFmMd9I-wvk-TuDUkaK7OMD__8ioXHk.cache +1 -0
  108. data/test/dummy/tmp/cache/assets/sprockets/v3.0/1e/1eTGRphLGa0HF0H_F0P-TzKaLs3sOIPHt2k4MOk2eMk.cache +0 -0
  109. data/test/dummy/tmp/cache/assets/sprockets/v3.0/1p/1puFHG5TEj2f59zveWzoSlQTHogaYMaGTqky-q-rLNs.cache +0 -0
  110. data/test/dummy/tmp/cache/assets/sprockets/v3.0/1u/1uOptr8shgZwrphvPXIIJSam-n3b_OIARoBL5Yf3HZc.cache +1 -0
  111. data/test/dummy/tmp/cache/assets/sprockets/v3.0/1y/1yv-YS-mZn1aEPR8UgW_DsQwEtIhbNszS_lRzbsn_Y4.cache +0 -0
  112. data/test/dummy/tmp/cache/assets/sprockets/v3.0/23/23vTsHOViNUzfKkoXbCQQfP2lG-Z-pu5UYHRR-wc14U.cache +1 -0
  113. data/test/dummy/tmp/cache/assets/sprockets/v3.0/2A/2AO6gB-jh98gOscSkC4a5VSOpRa4GHMAgFZR6OeTuPY.cache +1 -0
  114. data/test/dummy/tmp/cache/assets/sprockets/v3.0/2K/2KOZAY0AXwCArs_b7yhyo_fhP4jsT7rEs2lOjRtInYE.cache +1 -0
  115. data/test/dummy/tmp/cache/assets/sprockets/v3.0/2Q/2QwSDH31hwbW6saxcjxe4VtngcynzzLKAiFUufVz1RI.cache +0 -0
  116. data/test/dummy/tmp/cache/assets/sprockets/v3.0/2S/2Su-ySa2vInMbIwnLEDJoFlBW0JmskGUtOkGtO59Lfs.cache +1 -0
  117. data/test/dummy/tmp/cache/assets/sprockets/v3.0/2b/2beMX9FYifTR4HRNCxhijapYEtVOEEbsqISHulX7FI4.cache +0 -0
  118. data/test/dummy/tmp/cache/assets/sprockets/v3.0/39/39Ly2a5XQPgzdI0NwMxAzUjhrnP22cOi4skqz1t-W5I.cache +1 -0
  119. data/test/dummy/tmp/cache/assets/sprockets/v3.0/4B/4Br-exmbWXpAbbUL57wwDiDJ3STJ9FLOb-NKRAJ3gxA.cache +1 -0
  120. data/test/dummy/tmp/cache/assets/sprockets/v3.0/4D/4DPweSP0g4sgIjH0D4kdw9ZVo4aHeYYvflCeV9aAxwE.cache +0 -0
  121. data/test/dummy/tmp/cache/assets/sprockets/v3.0/4D/4DuW9uF1rTeQ2M_8oBIhGhtUcSsVuRJ7rVPfz1q5-No.cache +1 -0
  122. data/test/dummy/tmp/cache/assets/sprockets/v3.0/4Q/4QD_DoXWL8DpVbI6aVB8e1aFpNwO9fyIE__LOMjk9Sg.cache +3 -0
  123. data/test/dummy/tmp/cache/assets/sprockets/v3.0/4S/4SYcGDHQNAIS2UMd7vvRqzGByI7dMgPtadSkxp5g-hA.cache +1 -0
  124. data/test/dummy/tmp/cache/assets/sprockets/v3.0/4V/4Vm2vRc1fj79xCggJkbHDJF2Kpm_o-pNLOleLmn6j_Q.cache +1 -0
  125. data/test/dummy/tmp/cache/assets/sprockets/v3.0/4V/4VtHr1qUpG88ad-8AARLkBYn1sgigr1tx6ZdySKcgig.cache +1 -0
  126. data/test/dummy/tmp/cache/assets/sprockets/v3.0/55/55fBZFrS3nuYLBlr20opsD3-FD9pzvJtDzE_YwIKPVk.cache +1 -0
  127. data/test/dummy/tmp/cache/assets/sprockets/v3.0/5L/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache +0 -0
  128. data/test/dummy/tmp/cache/assets/sprockets/v3.0/5r/5rYnFtUYDDuQPZ8gWz2DdG7ha9sgbiDcB-GHwIj9I2s.cache +1 -0
  129. data/test/dummy/tmp/cache/assets/sprockets/v3.0/61/61eVAsPlG4mzFMAkFrkVpz2_y7xAIiHeNOc2_P1gvaE.cache +1 -0
  130. data/test/dummy/tmp/cache/assets/sprockets/v3.0/6H/6H_Pfj5xpdHDpyBlWhgMLvetPt9trhJmHVau1QnJGMQ.cache +1 -0
  131. data/test/dummy/tmp/cache/assets/sprockets/v3.0/6O/6O0fxhP9cU3YHTxuPUCMe8-0iqPkfFHEcpG4EVRB6Os.cache +1 -0
  132. data/test/dummy/tmp/cache/assets/sprockets/v3.0/6U/6U9WE2Sg6FKISaT3W0NCAtvVGzCCho0AlKI_m_0n2AA.cache +0 -0
  133. data/test/dummy/tmp/cache/assets/sprockets/v3.0/6Z/6Zeg7PYIkBHoRVc4sev57X-u5-YnG4O_vvVfW5IBijw.cache +1 -0
  134. data/test/dummy/tmp/cache/assets/sprockets/v3.0/6a/6aUYLqPqK-EmQ83wxPiiBnSQzbAwl_qRg0YyOt9Z57o.cache +1 -0
  135. data/test/dummy/tmp/cache/assets/sprockets/v3.0/6c/6cP95vgo4HxbKfHvd9zIOyTKF095_bGidmHfagJMXhk.cache +0 -0
  136. data/test/dummy/tmp/cache/assets/sprockets/v3.0/6p/6p1Ve0Pi16rmvx0cPrhKN_1iIp1E8ha5q5hO0B34PQU.cache +0 -0
  137. data/test/dummy/tmp/cache/assets/sprockets/v3.0/6x/6xxMhUfl7_AEvJ2hgwUTR_JqnsqfZhPMhL4nVwmQevg.cache +1 -0
  138. data/test/dummy/tmp/cache/assets/sprockets/v3.0/7H/7HV8nA3skWSIGyhqKSdvjOZfX0rfKW3Ig5HOnnMO-RU.cache +0 -0
  139. data/test/dummy/tmp/cache/assets/sprockets/v3.0/7V/7VDCAKeHwXSQYPSqq7aRU00XWsHZDLOUj4zUDCCzf7M.cache +1 -0
  140. data/test/dummy/tmp/cache/assets/sprockets/v3.0/7i/7IkpigF44tWq0oaJOlERbC5h0DoIAVAZG14R6F1ZmZc.cache +0 -0
  141. data/test/dummy/tmp/cache/assets/sprockets/v3.0/7i/7iYcDilGdkoS4eG-JxX0s59mnMYTYsu47m45_QpPhZs.cache +1 -0
  142. data/test/dummy/tmp/cache/assets/sprockets/v3.0/8Y/8YALBwPsi_SbunPnvCjXLJR1yEgjovWBiJgradedua8.cache +1 -0
  143. data/test/dummy/tmp/cache/assets/sprockets/v3.0/8_/8_1n59aUmhfWDbPllmAQiKgahqornt4mcmeJNRLq64A.cache +1 -0
  144. data/test/dummy/tmp/cache/assets/sprockets/v3.0/8d/8duqGLzryIBQZVbh6pv8i7oa2e5TbrYK06uzYjEgmf0.cache +0 -0
  145. data/test/dummy/tmp/cache/assets/sprockets/v3.0/8x/8xI8fpBswB1U91XDXMB62FQ2wNUj30ibciqvyATKAj4.cache +0 -0
  146. data/test/dummy/tmp/cache/assets/sprockets/v3.0/96/96T3mU8EinvLtzGywlufw8DPP6Ajq2HvbX6TwV-xuv8.cache +0 -0
  147. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9C/9C4LmIwy7EHjZhEd1jCzpSz_iz3LiToI_pSEr9Bk-G8.cache +1 -0
  148. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9N/9N4OIQ2rMOe1Ozp41LFc7_O1huwpuWI3lnHjtIXqhKo.cache +0 -0
  149. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9N/9NG_ukk9M9Cs885xM3TKrTgQAXHZf7M9fLm32lHO8Pw.cache +3 -0
  150. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9N/9NdMl7nGaq-xZXsCnjrO4Mmghh7JqtUksdQWGtNc0vE.cache +0 -0
  151. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9S/9SOCnUe27lZ9zgOLZL-zGLBaEZndPW3OmTG-5eJ9CaU.cache +0 -0
  152. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9Z/9Zz8hHBQrzWjLNwcWE5lOQNmz9bgfpz-o2MkcC_6Gzk.cache +0 -0
  153. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9o/9O8EAEIuKne6-KZNYiK0ngS5YBaXnp41hUZUjw_bhdo.cache +2 -0
  154. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9o/9ooGS6mLB-FLGP3fmGd6AzUQCYmE6iQ8RT0MPnazn3g.cache +1 -0
  155. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9r/9rwXZxOaPzqcjQ27A1jnqi6qqRtN-px71irilG4nqBE.cache +0 -0
  156. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9w/9w2u-W8C9OQmPr9Q4pnFE1PndA8ND4stbpZP93badxw.cache +0 -0
  157. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9x/9xnusKycqjvc-fBrMXFueZvswntKFGpFD9P0E05y26w.cache +1 -0
  158. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9y/9yuxANWupETIud9lc6_VRAb-xTt95fwzQEvQplVmIjE.cache +2 -0
  159. data/test/dummy/tmp/cache/assets/sprockets/v3.0/A4/A4XZr8H3x9sJs-u5zYmUnNhMunNursqcIOWEFVlTJPo.cache +1 -0
  160. data/test/dummy/tmp/cache/assets/sprockets/v3.0/AB/ABMNz0mhUOELrJQTsvODX4FE5dO4qA_ZwRZlTqZaNvk.cache +0 -0
  161. data/test/dummy/tmp/cache/assets/sprockets/v3.0/AD/AD5DIX08moywNzW0FDPE-inLyAY2R9fW_oWxdNe13uc.cache +2 -0
  162. data/test/dummy/tmp/cache/assets/sprockets/v3.0/AR/ARBMtXeVFgKl7fXhVqLllu-tBEgTxmwPeZFbbMERv8o.cache +0 -0
  163. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ac/AcRrCleFNVnRawI3kPItFg8-tstOBsisEE0aFcywb70.cache +0 -0
  164. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ai/Ai-pymgLhxmZjUlTeuFnZU3zDpAF1HWT7nZI216jDTo.cache +1 -0
  165. data/test/dummy/tmp/cache/assets/sprockets/v3.0/BF/BFGGos7NpAzdOcD7B0_Jh7OY_KqFKDFDXcByK7R_-8s.cache +0 -0
  166. data/test/dummy/tmp/cache/assets/sprockets/v3.0/BN/BNqxEVmfkXCKtL5nM2_PJ04jeN69YkIqyTc9TW-WQdU.cache +1 -0
  167. data/test/dummy/tmp/cache/assets/sprockets/v3.0/BR/BRh8FwWRr5ejm8oyljLq8kbk8b6LOwHVF3VEBvInGcM.cache +1 -0
  168. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Bi/BiWSzPBpw138FsMGNMLntYkDDbgM6Waqfx_u838XxCQ.cache +1 -0
  169. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Bt/BtGT4q94Ec-6HRYqK1XsWyzF35hy9TEW8QlCLBgBhO8.cache +1 -0
  170. data/test/dummy/tmp/cache/assets/sprockets/v3.0/C9/C9CxMJ65MK0wNwR34Dg_G_vw3gOAWslAiZlkHklDm4k.cache +1 -0
  171. data/test/dummy/tmp/cache/assets/sprockets/v3.0/CS/CSA1Lc57isn9pcBM_NdYl5J_Dhn1-bOYHkFpsFjhlTY.cache +1 -0
  172. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Cc/CcZZRZUggMa5vGgVC6C4qPtQ1blDRJksWHepZtglaXk.cache +0 -0
  173. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Cd/Cd0HIdwDNN5MjMWSxQfoc1lK5G8s72OtHswMRr4mJzA.cache +0 -0
  174. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Cl/ClVGjzjCZviDQA1T_Z4b72ujprzCaUkJS0eLDzVbjdo.cache +1 -0
  175. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Cm/CmHFpuTBr5mTdCCcwGG2FUMWjFqZRQeEfoCeln_26VI.cache +0 -0
  176. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Cp/CpMojVy8CylDZK7FrinyYRBBDCc2VO2IG_7YSl39_QY.cache +0 -0
  177. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Cp/cPufbhwNI0Vkqd8FW30T9evT5kwMijlMgnKeEzezmDM.cache +1 -0
  178. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Cy/CyDQMoOGFRU0hiQclRLIdX2It0jEOXSD1KI5wfabQo8.cache +1 -0
  179. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Cz/Cz1UDttTVDOXna5gQmlH2zAYfm74g3fedR5x6J0SuJc.cache +2 -0
  180. data/test/dummy/tmp/cache/assets/sprockets/v3.0/D9/D9SVrbKxO8-jIjck7iS_kOKH5OuUQUplPrxT0_wlFCs.cache +0 -0
  181. data/test/dummy/tmp/cache/assets/sprockets/v3.0/DD/DDmAIKA7KRrgRR7ldzf7wU4-bR7eNEymmMQFQdu5DN8.cache +1 -0
  182. data/test/dummy/tmp/cache/assets/sprockets/v3.0/DO/DO4GjHPhfDaidI_0lepQghaViZpGYO1qGak_9qxXX5g.cache +1 -0
  183. data/test/dummy/tmp/cache/assets/sprockets/v3.0/D_/D_XjkYrlVpDY0HvSNH5AS3dXs-vJTD1hES7MHud1Uxg.cache +1 -0
  184. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Du/DuQt9UG7qQU7pbhDZOQwO0JZu1lY-7zWtctZGhrMhs4.cache +1 -0
  185. data/test/dummy/tmp/cache/assets/sprockets/v3.0/EJ/EJXopIbv25LgwpTIDMWMKqSL6wuKZvxSE_Jqq21CVuU.cache +0 -0
  186. data/test/dummy/tmp/cache/assets/sprockets/v3.0/EK/EKtD0w3vIVVhsYpZpIo5ZHyfuxsaAbdn-yhrS1rEBUM.cache +2 -0
  187. data/test/dummy/tmp/cache/assets/sprockets/v3.0/F9/F9nBy9BUWIUzlJeZbClBAPDOF5ufOJ0A7zxtxJPEge4.cache +1 -0
  188. data/test/dummy/tmp/cache/assets/sprockets/v3.0/FH/FHs31y9juXbRG4GOOz2iGfn9kyETkiDlbJWqxxn2Gzk.cache +0 -0
  189. data/test/dummy/tmp/cache/assets/sprockets/v3.0/FK/FK3Qvm8s4rLCqq5Qf7tTNWcNwJefirfcDrjSkpa-Fj0.cache +1 -0
  190. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Fp/FpraLF0iAFSPJFf2_lNbv-CzvigcGwrNa_jU8dRJzrQ.cache +0 -0
  191. data/test/dummy/tmp/cache/assets/sprockets/v3.0/G7/G7y5hBmT-JXkJS3jIBfn5f41NNqTTbrtcNfUxqncGVc.cache +1 -0
  192. data/test/dummy/tmp/cache/assets/sprockets/v3.0/G8/G88gAVDPz_XwjG5bc40DRbsw9FP1C2UyEdSF1ypo0AU.cache +1 -0
  193. data/test/dummy/tmp/cache/assets/sprockets/v3.0/G9/G9jENb4qPBPkzkwXaP-PBspsimVBQEUTfKWIFEVEJ8k.cache +1 -0
  194. data/test/dummy/tmp/cache/assets/sprockets/v3.0/GV/GVEKmZfkTd0Kn_nkJ0oyWZFLkmwCHt3W3zx_tpk_OC8.cache +1 -0
  195. data/test/dummy/tmp/cache/assets/sprockets/v3.0/GV/Gv4DZthaTy27j7pCLfFUaeXgn2emeknBiyp-Yjru2pw.cache +2 -0
  196. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Gi/GiUQ67SdKt-LAO9Lex8mmrMBpO_ZZ2qtOTCm47onZqY.cache +1 -0
  197. data/test/dummy/tmp/cache/assets/sprockets/v3.0/HQ/HQAkZq6I__awZd-mbL9xI10JjGry1rZSYDg2QurbArY.cache +1 -0
  198. data/test/dummy/tmp/cache/assets/sprockets/v3.0/H_/H_YcXvMs9neCbHL5uS0EY93jQdXNpkr35xRrwi7APig.cache +0 -0
  199. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Hb/HbgxhEW_ogqyOlaGeb1YJaxbCnVuM3LjCviW-PkcmSU.cache +2 -0
  200. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Hb/hb1LaW-DjnunjsU1K6QUEq8So_wSKNGqzXMbciozB6o.cache +0 -0
  201. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Hb/hbdtIQ4uncd1naO1R_xUhBeSh5nuDEb9XkSzzwRTN8I.cache +1 -0
  202. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Hj/HjM4ZwqBB7Nk-K1PKfLg1yjbTRFC0aXsrnfkiWt0ws4.cache +1 -0
  203. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Hj/HjQycNywhgVXRri0y3XHOGd2Ndhx1M5fYbs9XDydo7E.cache +1 -0
  204. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Hp/HpzvKdlVwx6trqE8DsBH0gUP2UnQY4WGj_ksiipN-uI.cache +0 -0
  205. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Hs/Hs0zBH7uiD1yutw_dl8TBGGgzmpl47NFWY1CpHbkizI.cache +0 -0
  206. data/test/dummy/tmp/cache/assets/sprockets/v3.0/IF/IFS5YDB8xAWPptr6YD3utkTKtxiV4xgRTQLBJqzcuTs.cache +1 -0
  207. data/test/dummy/tmp/cache/assets/sprockets/v3.0/IH/IHUJyJgnb-qzlh4xjjhDURxgI2ya9gCallv78_g2mSc.cache +0 -0
  208. data/test/dummy/tmp/cache/assets/sprockets/v3.0/IJ/IJpjqbBNeUqOiEZGpSi1svIDaFPzRmakYCtviwGF7Cg.cache +0 -0
  209. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ie/IeV6v7HUZ0MDRQp7TiM7GlVrYZ547nYMiG4-sctOacc.cache +0 -0
  210. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ig/IgWciSW6NE--fhaSDclwrkpJQfX_GXYyVjDG6IMXsIw.cache +0 -0
  211. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ix/IxVVEu_g4_nGKSlD3fOM1J8nn4-Mr9R9N_qFY6WJdT8.cache +1 -0
  212. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Jv/JVQlx2oYt9kZ9z6WQ18aXkyrCC2R0Ub9U22otWBkzfE.cache +2 -0
  213. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Jv/JvFPe8HwxG202a8HcYkIh7T2XIWK8auwvYosSKwbwoM.cache +1 -0
  214. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Jv/jv6yxp1qArkT7AaFWyWCIO2cr2CjDFR_So15qBUPPHc.cache +1 -0
  215. data/test/dummy/tmp/cache/assets/sprockets/v3.0/K3/K3MDaq_Ro8Nt9XABUmThPgv4G9se0CZgUzd-7EFKQVs.cache +1 -0
  216. data/test/dummy/tmp/cache/assets/sprockets/v3.0/KF/KFdbQwKY8o5lBd9FWdywrWThK_XYHdDAjMB27bRPHXk.cache +0 -0
  217. data/test/dummy/tmp/cache/assets/sprockets/v3.0/KU/KUgQEsOzwcrg0qIO_IKnnab7LXI6xzT9c36AuemIsCk.cache +1 -0
  218. data/test/dummy/tmp/cache/assets/sprockets/v3.0/KX/KXl7wvom800haotvRD51M8mqhDAKGbPwjLz1IyOlUsE.cache +1 -0
  219. data/test/dummy/tmp/cache/assets/sprockets/v3.0/KX/kX9MIPa0KicGwVnn2w1SnpKUrtkFa_qlpLv9Xb50V0s.cache +1 -0
  220. data/test/dummy/tmp/cache/assets/sprockets/v3.0/KZ/KZITHzbMosPcvoMBUNeiZK5hAQGWFnvd0DfAZA1OqPs.cache +0 -0
  221. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Kq/KqcikpZFzEmDOevvSl20SYhJpGT5EttV9TnSr6a190s.cache +1 -0
  222. data/test/dummy/tmp/cache/assets/sprockets/v3.0/L-/L-rLbD8XzRGGf8_xMiJwNaUVddfko8DD5Odu2yKkOHo.cache +1 -0
  223. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Lc/Lc6a5o_7RZcAO3qH50b23TnvX2eBQKn8SDmCiahXPyM.cache +0 -0
  224. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Lx/LxR4JOnr_8sRrSHe6BZU1Yp-ILvpWiiraEKpZIWLj34.cache +0 -0
  225. data/test/dummy/tmp/cache/assets/sprockets/v3.0/M4/M4-QnolZZ9QNEnyN-xZXmoDo7IIZdg2brtHM3cH4Tps.cache +0 -0
  226. data/test/dummy/tmp/cache/assets/sprockets/v3.0/MB/MByz9OZmbFdyofi7lAx8IZkRvDakWpFVcTMawCRtr4k.cache +1 -0
  227. data/test/dummy/tmp/cache/assets/sprockets/v3.0/MM/MMzMVZB9pKn9N-j_pMkszfDWWbh0xaBt-EFlc6vdEcc.cache +0 -0
  228. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ml/Ml5JwAeYKf0HenBURunQvIO5dj7UrFwHmDSlO4W5y_k.cache +0 -0
  229. data/test/dummy/tmp/cache/assets/sprockets/v3.0/NB/NBVFS8J9i4V5Qjvwg287ny_sUkla6uY6ybm34QPtJNs.cache +1 -0
  230. data/test/dummy/tmp/cache/assets/sprockets/v3.0/NN/NNo6W9mzx0ZElMk4rFkYMBQ0JdJKM7xR7GWeQdvFpKw.cache +1 -0
  231. data/test/dummy/tmp/cache/assets/sprockets/v3.0/NN/nNC8bF6k5KBqhwsBRHp41YQ7z0PIYhOF0JCsXbVJizA.cache +1 -0
  232. data/test/dummy/tmp/cache/assets/sprockets/v3.0/NT/NTcN7vdDpCCb-rks_UuDvalFnecYlGq6Ef2cQTOu-68.cache +0 -0
  233. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Np/Npaote0OETS7KvJACkck2sGyog8r7x0qXVLg-Fb8F9w.cache +4 -0
  234. data/test/dummy/tmp/cache/assets/sprockets/v3.0/O9/O9LuTOlyTawsb8Z-a9v2xXa58D0qG8jRPnDwDX3mjOw.cache +3 -0
  235. data/test/dummy/tmp/cache/assets/sprockets/v3.0/OA/OApz4zdyKysqaHUaTR0asc0SPTzLOKh1WPtOdfKbrxw.cache +1 -0
  236. data/test/dummy/tmp/cache/assets/sprockets/v3.0/OI/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache +0 -0
  237. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ON/ON4ujxwVRC8zBl-BI6ALArYKqsQyglvwmFsG1QsU4AQ.cache +1 -0
  238. data/test/dummy/tmp/cache/assets/sprockets/v3.0/OU/OUsur7GWiQSXKHiZfikkmaJ2tOAKjLSmek7Wa84LLlI.cache +0 -0
  239. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Oe/OeKVunLf9094gjOjYURmg3IVJQn84epg-DHjUrq3rSY.cache +1 -0
  240. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Oy/OyyGReIz7MKdIgmL_jYEP8OavJ8wp_DucM5MWvXgo0A.cache +1 -0
  241. data/test/dummy/tmp/cache/assets/sprockets/v3.0/P0/P01q_KJLEGN3sAyHP5-74irQrZ8xXOKy5KSdYpKSJQc.cache +3 -0
  242. data/test/dummy/tmp/cache/assets/sprockets/v3.0/P5/P5qhU-1rVkrKPkjBN7VFNg3tyvOUpfTwOnSuji2gmus.cache +0 -0
  243. data/test/dummy/tmp/cache/assets/sprockets/v3.0/PJ/PJYpSOEpvY6U8aMLe1Xi0sxV6lr9qSw3syCgXpzZpAw.cache +1 -0
  244. data/test/dummy/tmp/cache/assets/sprockets/v3.0/PJ/pJ6xwSVi5LvxONRWmG5QH0LsVE_u0UOYT3-GgJpmwmU.cache +1 -0
  245. data/test/dummy/tmp/cache/assets/sprockets/v3.0/PM/PMfBC8qwv2jXFZaj0p8RodpWjxoItxQaTva7gRM0MBw.cache +1 -0
  246. data/test/dummy/tmp/cache/assets/sprockets/v3.0/PY/PYsjPFyJEvAnONb-jCh8Mt-pqt1jyHFukma6_hieIiA.cache +1 -0
  247. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Pp/Ppn3EfHr6yoJEQhrerMru8q1QtV4rMNmsrDQYP9-b9c.cache +0 -0
  248. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Q5/Q5M3ZyOedu6LXnWGL1KPzP9d-m2mOgMgJ4og-3UzK3E.cache +1 -0
  249. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Q7/Q7Axrj2C5NJtqBXmrkbXZnmBfJXcEeaRvSmjVclo2vc.cache +0 -0
  250. data/test/dummy/tmp/cache/assets/sprockets/v3.0/QF/QF-wzbPPHZdEptVstSYNiuGXaAWFQHpXqQeEhHOPpZk.cache +1 -0
  251. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Qu/Qu9ufKA0-J0cE8kjpAhGgsScdkWU1-aN410sYNoXICc.cache +0 -0
  252. data/test/dummy/tmp/cache/assets/sprockets/v3.0/RC/RCBYCsmm4ccRqFRSBl5MNQDl0vlnXJRoqZAk-iUuwTQ.cache +0 -0
  253. data/test/dummy/tmp/cache/assets/sprockets/v3.0/RV/RViXp0prmsDc_34H4yrD4cfs6SVK2KNuKdB0DgtNkmI.cache +1 -0
  254. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ru/Ruvxnck9Bt5FBO8Fm4baI6pKPXLaw16Q-4Bgg0J_wdk.cache +0 -0
  255. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ru/rU8ApZ1fQvF58lqC5JwUArba-zYTxqJ_A_wXsnBKo0E.cache +1 -0
  256. data/test/dummy/tmp/cache/assets/sprockets/v3.0/S1/S1hmqmNgDJ7Vl1YtKbNshPXRyzQp8YZMqbKoQYw8PDk.cache +0 -0
  257. data/test/dummy/tmp/cache/assets/sprockets/v3.0/S1/s1KJTHkKhCNCiVfe9AEMlWxwePIdKLiLTZ3tZoyAkwo.cache +1 -0
  258. data/test/dummy/tmp/cache/assets/sprockets/v3.0/S3/S3o7er2KAcXh4qQ0RASZaU9V-9ilME4rPWJJXMD5wEc.cache +1 -0
  259. data/test/dummy/tmp/cache/assets/sprockets/v3.0/S5/S5X_DHIYTch5KbN1gVMGnpSnswHQgxK8Ru3kKpm9NQs.cache +1 -0
  260. data/test/dummy/tmp/cache/assets/sprockets/v3.0/SA/SA9beYRzgN_5laVMyWHtBPqPnO_oIhqZr8lyVUo4tUk.cache +1 -0
  261. data/test/dummy/tmp/cache/assets/sprockets/v3.0/T4/T4MOvsg1O4rFXJspXsMivng0rC6QD35xLbihVO2ATj8.cache +0 -0
  262. data/test/dummy/tmp/cache/assets/sprockets/v3.0/TH/THExDoOJ49McAHE6aT_fH1IP8gh8RZlP91mZx2hNByg.cache +1 -0
  263. data/test/dummy/tmp/cache/assets/sprockets/v3.0/TM/TMKzA4-cYXQZtgJz9Vdid9YL1ZGjlBQUOYIfmjs5xow.cache +0 -0
  264. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Te/TeU4EAthLIhLOH289fqTvmKiGxLFi1V5HExPDWKXMrU.cache +0 -0
  265. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Tt/Tt0D5LpBmHYhqgzBtOTzJv10alxtF7x1O53Kpi0oFbw.cache +1 -0
  266. data/test/dummy/tmp/cache/assets/sprockets/v3.0/U5/U5FT_DjjF-dscvzkmHdVa5uyi1Wl8Bsa2mxl30BYASk.cache +1 -0
  267. data/test/dummy/tmp/cache/assets/sprockets/v3.0/UM/UMA1HpAwOUPHhHbdihd6Iht0B8XoROj3FEKhlzSGz7c.cache +2 -0
  268. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Uf/UfN7PkBRJJumEIwXHfyVS-4-OpiuCmP_miXezzeyMdc.cache +0 -0
  269. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Uh/UhPr_dR0GPDvQUVwJis_hpg_5b1aFrAMmtcs8bjoje4.cache +1 -0
  270. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Un/UNNhnrlRiaIm8sl0m9TXdAF8mqpmwMCXckHzxkgVun0.cache +1 -0
  271. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Un/UnPb6pruLi_X9MOUDm5O0zrg0qsIyyi6JEPQDIAk2-4.cache +0 -0
  272. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ut/UtTo_u1Vbw5gvqXJvmKfgGcXYEOush9mj5A8jXQ7-Zc.cache +0 -0
  273. data/test/dummy/tmp/cache/assets/sprockets/v3.0/V3/V3NFtF0DzyQdJ_4Nhw1hA4-MRYCItlBzQqm9aABSzr0.cache +1 -0
  274. data/test/dummy/tmp/cache/assets/sprockets/v3.0/V3/v3AXorjUMhegGw-aZPY1jvP8yCOoh35JG8UiEX7ZN4M.cache +0 -0
  275. data/test/dummy/tmp/cache/assets/sprockets/v3.0/VW/VWjzy3la81pQDogvSg8P6WH6m4ZsqXC3QhJ0PwrT2cE.cache +1 -0
  276. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Vf/VfSXf9vusNYuyzKkdNziyenjblNhKxHA28CYd1NePn0.cache +1 -0
  277. data/test/dummy/tmp/cache/assets/sprockets/v3.0/W1/W1yz_uXN6zcvemNgFL-3MbqgvyXTdBVtCfxOI4ahZec.cache +0 -0
  278. data/test/dummy/tmp/cache/assets/sprockets/v3.0/WC/WCkhm3Iog5jkY48jk7P3YbK-DdGpcGSSn8NC8Dongpc.cache +1 -0
  279. data/test/dummy/tmp/cache/assets/sprockets/v3.0/WC/wCSLgI7hqdw3SN-0RBzuVHbextkww3WdQpp_rYkISgE.cache +1 -0
  280. data/test/dummy/tmp/cache/assets/sprockets/v3.0/WJ/WJPFvUl4A0X6ehXk1sExRn5LCOvmv_PUfpMPoyeHvqw.cache +1 -0
  281. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Wa/WayodFW9Z6cUn9cT25utsI7nt5iEUEwmT8lrXM07wSM.cache +1 -0
  282. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Wm/Wm7DhgjnJ2CD0YYTpn8YgAyJQ0iLrNss5y9BfZK-E_c.cache +1 -0
  283. data/test/dummy/tmp/cache/assets/sprockets/v3.0/XC/XCsO3t9MvuKvn7WFNQ8H9vQcGX7gJMK_QEdIRGUy1Pw.cache +4 -0
  284. data/test/dummy/tmp/cache/assets/sprockets/v3.0/XM/XMMPCK5N975_vdRk-juxT7hZNV-KPu-N5C4aJagJYJw.cache +0 -0
  285. data/test/dummy/tmp/cache/assets/sprockets/v3.0/XT/XTpiDwwZkgwNap954M1cqv8KZhM2NWxAct16PWqiH9E.cache +1 -0
  286. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Xh/XhAM8jUomzjHehSalCCbozfLyM3PNtIGR9YSIo6wxgk.cache +1 -0
  287. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Xh/xhd7uk8rZDIh-WU6Webw34InDVvAd8o_o0iMDBacPNk.cache +1 -0
  288. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Xl/Xlf90JTM50Gl0rJA2TqM9FfDDiQW69UCrEnaQI0ooVc.cache +2 -0
  289. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Xr/XrSET1mjEop-9pYFWzm8Z-mbiCH4_JLLsLWBuddwpvY.cache +0 -0
  290. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Y6/Y63ZPmqo5SxQ5Mh_i64drdxFNLGX5oMXDK00Z-5TPtg.cache +0 -0
  291. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Y9/Y9-P3IRKZ6fLlzjV-H9ejKPD3SUZzGeBilxIDAthugQ.cache +1 -0
  292. data/test/dummy/tmp/cache/assets/sprockets/v3.0/YF/YFr5NwVi-rAS8iLanFxbb5kjfeLX_zH6aysgD9YN3Cc.cache +2 -0
  293. data/test/dummy/tmp/cache/assets/sprockets/v3.0/YR/YR0sp_87RmmYYy_5z3GSl0dujY4V0l51yi1Ze0DYVTA.cache +1 -0
  294. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Yd/Yd9czEByqdrA4yjI_yhiui8SL7F34O4CT9F8HLny8HE.cache +1 -0
  295. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Z9/Z9sIdO4ajBUc2xhSbp9_7_TVK8n1QyzBmd6dM78m1i4.cache +0 -0
  296. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Zm/ZmTiv9eJEHLZAIW7rorIfdawdObqhvWtHBtdnQB1SC4.cache +1 -0
  297. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_5/_5Lqlz0x4iJP7cxKZqD9mq-5AuX53Cf1xw2b_MhmR4Y.cache +1 -0
  298. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_6/_6iSd7AxcMyYtYl8N7uuQ11hk8b1_c3EpPdrx2ssRDE.cache +0 -0
  299. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_J/_JEcbyAq8k23MLBtiErSYElv8TIxk2NgFebmrxCr_Vk.cache +1 -0
  300. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_N/_NgHE-jaOhlMkX9msEAdBWgq7OrpaqRTbVavZ0gm0YY.cache +1 -0
  301. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_S/_SrtfRje2aAhNdMpMSLN7hD2m1-FqgX639PXG_-jq0g.cache +3 -0
  302. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_d/_dvo_ECQj7tNZJdn9b6iXQgExzvEFcPVzXmRYyVOWZA.cache +1 -0
  303. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_g/_g5tIVGfR-DePftmhMfYOLeWGWRdeGQZSkkrZOWzE8E.cache +1 -0
  304. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_i/_i_05JN0IooeeWdhusebliQ726hLeJ_nJrR-Oh4jttA.cache +1 -0
  305. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_o/_oKkX19GdAApvk1m_kJBf9NKw2M5zuopoCMyrSy04EM.cache +0 -0
  306. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_z/_zYc0_Ox7vjuYs-y4mEOr0lHjpUJAyHAY5Gsc2BKh1Q.cache +0 -0
  307. data/test/dummy/tmp/cache/assets/sprockets/v3.0/a3/a3nEFbljo2Wozfc6x8vC7ydF52EuedegASNW7c_8ksQ.cache +0 -0
  308. data/test/dummy/tmp/cache/assets/sprockets/v3.0/a3/a3qxfwkhYWwt6EK-8nfVFtsjELgkLHbUnZcp5bRX2FU.cache +1 -0
  309. data/test/dummy/tmp/cache/assets/sprockets/v3.0/a6/a6QR-DFedzWeHfQkI7ZnBgyTkrum2IGbxAJmSFF_ZyY.cache +0 -0
  310. data/test/dummy/tmp/cache/assets/sprockets/v3.0/a9/a9eQl9fE9X_oQgLuEEw8EQm8lMsVy1RKKX6zSPze5wE.cache +0 -0
  311. data/test/dummy/tmp/cache/assets/sprockets/v3.0/aM/aM-VgyR8IO8Fe7XaLGp1L0CEqdsu9lL1yTp-XxS83Uc.cache +1 -0
  312. data/test/dummy/tmp/cache/assets/sprockets/v3.0/aM/am_gqM0tWxGqVlSOyo7pdWQa93Cqy_pxCtBPj5hl9Ic.cache +1 -0
  313. data/test/dummy/tmp/cache/assets/sprockets/v3.0/aV/aVSyjARRlbARV3i7iqyfLWYom4D0HISLTkH-9zJq3Vc.cache +1 -0
  314. data/test/dummy/tmp/cache/assets/sprockets/v3.0/aV/aVtLy9ZpC0fdfTCfede0Mxhyf376dTax-FldL-LAhb8.cache +0 -0
  315. data/test/dummy/tmp/cache/assets/sprockets/v3.0/aY/aYYCqxNKlTpzsZa9sqQht_pYiXcyv0EHHu6YPfkqbAs.cache +1 -0
  316. data/test/dummy/tmp/cache/assets/sprockets/v3.0/az/azLk_zqBlRIAgAFElTpfSext9gkewu9on2V03Xl4jxU.cache +0 -0
  317. data/test/dummy/tmp/cache/assets/sprockets/v3.0/b9/b9NCeXuw0is4JY9pYPkyT_22bVSHnYyHew1qJrQeEFU.cache +1 -0
  318. data/test/dummy/tmp/cache/assets/sprockets/v3.0/bL/bLvD_U80aJ4Hft-NW5UqC57Y4akx1dmQKVChOvhJ6nk.cache +1 -0
  319. data/test/dummy/tmp/cache/assets/sprockets/v3.0/bO/bOmpIqlXXgsiNt2GCZdrsC3fSC27CixHrZLM_SckARs.cache +1 -0
  320. data/test/dummy/tmp/cache/assets/sprockets/v3.0/bz/BZWFQhR1NUxXIw3zNKMqRIBdsfBzsZaXT2JD8xOtfuQ.cache +1 -0
  321. data/test/dummy/tmp/cache/assets/sprockets/v3.0/bz/bzzfxWiH2VzOawbcPEGH14jtTdiKvdglCFDDzzy8s5U.cache +1 -0
  322. data/test/dummy/tmp/cache/assets/sprockets/v3.0/cA/cAgfy-peGQJEYv4kXpqhVio-6j2mlipH9aPtWZdeNvk.cache +1 -0
  323. data/test/dummy/tmp/cache/assets/sprockets/v3.0/cB/cB3Ab7jyzoe0zUclV1XbICgPJ0fov5Peynmdv6bJiek.cache +0 -0
  324. data/test/dummy/tmp/cache/assets/sprockets/v3.0/cI/cIUp1Ai-BcUs5tkaLvIBX-lWOW95ZwcXOxlqeNgYJlw.cache +0 -0
  325. data/test/dummy/tmp/cache/assets/sprockets/v3.0/cI/cik6BpTFOUVPATCzKvrldwEvXwN9zB2HYddxuNtdgQE.cache +0 -0
  326. data/test/dummy/tmp/cache/assets/sprockets/v3.0/cK/cK7s29gAcSl9No56Mg-pRYJqtVnDTEqPz0Urk2Ud1CQ.cache +1 -0
  327. data/test/dummy/tmp/cache/assets/sprockets/v3.0/dA/Da3jz9BvVOxKZBA5ww3lB3ZDFv3oo-OSDmGXyhana-s.cache +1 -0
  328. data/test/dummy/tmp/cache/assets/sprockets/v3.0/dA/dA-c4NLOR2LoCw_XdgtK7Mi9IxJTiXNGyq1gOhVIg-o.cache +1 -0
  329. data/test/dummy/tmp/cache/assets/sprockets/v3.0/dF/dFOstaHSXfubtopCWnkZUadAUgNbaaRKQuF6TMma7UM.cache +1 -0
  330. data/test/dummy/tmp/cache/assets/sprockets/v3.0/dV/dVYcWQ0qmMlx6egm_U9VuPakU-cSVPuwVorwZxCRgFA.cache +1 -0
  331. data/test/dummy/tmp/cache/assets/sprockets/v3.0/dm/dmMcLLkTNu1YVhBfPp5216MTKAY20DJ_2yfXnvXZ-h4.cache +1 -0
  332. data/test/dummy/tmp/cache/assets/sprockets/v3.0/e9/E9uD_zKlgGPmeTjrd8jjlsuUgnoq7i4gC50ICifl2nA.cache +0 -0
  333. data/test/dummy/tmp/cache/assets/sprockets/v3.0/e9/e9z7UL2GcVLN3_bIvdxVp5MGls59i1UTXpzXDWTTHog.cache +0 -0
  334. data/test/dummy/tmp/cache/assets/sprockets/v3.0/eT/eTzbQD4PCvjLIvyTMPWJRFGlGdFL28k0YEdfgMcrBQE.cache +1 -0
  335. data/test/dummy/tmp/cache/assets/sprockets/v3.0/eW/eWQbPlTRXrddf0A9Q_0gzVpWRnIcI9EGEN8g4m2pEbw.cache +1 -0
  336. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ei/eixkm-DotGsg92JHKeRxMrmXhbRmLbdYIFIVmI_EWvM.cache +1 -0
  337. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ex/exWEJHi5ASZ76zx4iLvLUhvXsQTWKfM5Yz_7V8yPw50.cache +1 -0
  338. data/test/dummy/tmp/cache/assets/sprockets/v3.0/f1/f1koQn-yiZNI3sz36o_7RM0QXIxHlXBXmxKKzjdzjnw.cache +1 -0
  339. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fA/fA2cEH23afmcgadZgljh15rOb-2pdlFrSmKatJbq-34.cache +1 -0
  340. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fA/fAVsYqk4ogoJhTm8GygNL_jDG-sRso7QZTIE664hYVc.cache +0 -0
  341. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fJ/fJqv1rS9qoF1uhpdG2jzI3OiVs4x-022oeH_FiJZZhg.cache +1 -0
  342. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fM/fMz9ETGj2OQbwMaeGCPCpLMVdT57TYqIIYVyaAFEdM0.cache +0 -0
  343. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fR/fR2XVTrZMNuOJbXDhmMIfdW3b5g1LtXeGh0c7HC3gNQ.cache +1 -0
  344. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fY/fYcPA5Ewns66QItM1eTcKrNFoHdpSiyR6t2xtVnWwYg.cache +1 -0
  345. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fc/fcrQQN3Cuh28-rJYW3fYaJ7JzJb83zP9aix1WXlDk18.cache +0 -0
  346. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fs/fsypoHlza3x8sxe4FXVDazRqvBZCBLAFmP2lTW5aAIM.cache +1 -0
  347. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ga/gaandvC9kV1P3TSczVO-KDssnAXsMiwrNlPFmMwsEWM.cache +0 -0
  348. data/test/dummy/tmp/cache/assets/sprockets/v3.0/gg/ggEcxbTx5PJt4vHdWKZ6qBj4NB50w5LZbRtdgGLTla4.cache +1 -0
  349. data/test/dummy/tmp/cache/assets/sprockets/v3.0/gm/gmb1zkOL5aZCFVo73IPMzobFoheMscp66GoWlMoDZU4.cache +0 -0
  350. data/test/dummy/tmp/cache/assets/sprockets/v3.0/gq/gqNQKCLhCUC4ChgFlwq7jBAS7SLwtfLM4Vy-NAZg6e4.cache +1 -0
  351. data/test/dummy/tmp/cache/assets/sprockets/v3.0/gt/gtPtjI5N1DSB5P1bdK-bNIJqWUFvE0ehLOMVXgF2tCY.cache +1 -0
  352. data/test/dummy/tmp/cache/assets/sprockets/v3.0/gu/guzIHul2knhPL8YUnKWOCfs-X9Dq0KvqUK-WEMHzaD4.cache +0 -0
  353. data/test/dummy/tmp/cache/assets/sprockets/v3.0/hK/hKuUOawFepQqjveE7g2sVozolQcoBliNyhnunmPslsg.cache +1 -0
  354. data/test/dummy/tmp/cache/assets/sprockets/v3.0/hO/hONP4oZGnRf5CRPcpFnIxcaSZYntuQuXkt8LNmkP8MM.cache +1 -0
  355. data/test/dummy/tmp/cache/assets/sprockets/v3.0/hZ/hZi1k6tpxxCGYxRe7zY74ItcOI8gZrREOpGuA8JSpGg.cache +0 -0
  356. data/test/dummy/tmp/cache/assets/sprockets/v3.0/he/heTtS3ZFj526a9bsM6T2u0GYqvdpqWOhGdT8A-tEQgE.cache +0 -0
  357. data/test/dummy/tmp/cache/assets/sprockets/v3.0/i6/i6DHOT_Zcn_6hRHl7aNwxwy3ebGC6U5P_WGEbU-X_TQ.cache +0 -0
  358. data/test/dummy/tmp/cache/assets/sprockets/v3.0/i6/i6HNUWZH5zteCFCe1R35B3gTH9cg1M8o_hffi-uWoRM.cache +0 -0
  359. data/test/dummy/tmp/cache/assets/sprockets/v3.0/iD/iDuUWO0yUxAvq9ELEkCj4O4J42l4OkEVBbhit-o0YXc.cache +1 -0
  360. data/test/dummy/tmp/cache/assets/sprockets/v3.0/iQ/iQ_GmXix39hgy5yhxUhvc-BhzDbx6E_qhnN8hpY6k3s.cache +1 -0
  361. data/test/dummy/tmp/cache/assets/sprockets/v3.0/is/ISA9HDXLcm6f-EPZwtZ3PvvTRcY1wGGQNq_e2avktNQ.cache +1 -0
  362. data/test/dummy/tmp/cache/assets/sprockets/v3.0/is/iszlrQzjh9-37lqIcffksyWK-hoGcrVOXONdOqjjL5s.cache +0 -0
  363. data/test/dummy/tmp/cache/assets/sprockets/v3.0/iy/iym5qgUuFqEaTtoMJ4XXp2LbuLHBx76yDAha8UPqZB8.cache +0 -0
  364. data/test/dummy/tmp/cache/assets/sprockets/v3.0/jB/jB2XvHmSPEbBzF7s4P-HzdKK1VgCHj7Xs37q0B1S2iY.cache +1 -0
  365. data/test/dummy/tmp/cache/assets/sprockets/v3.0/jH/jH2YboIoaG8EdorJFbhedtxPkVZ9CN9AoiqqLJ6qWJ4.cache +2 -0
  366. data/test/dummy/tmp/cache/assets/sprockets/v3.0/je/je0OHchcJ6ofg69CiZNdjoy_gmdq_nS_hSf9EEApIxs.cache +1 -0
  367. data/test/dummy/tmp/cache/assets/sprockets/v3.0/k6/k6lvtEnXCFpENLvrJXxZiANe0MsmZcUa7-gtPaB81oM.cache +0 -0
  368. data/test/dummy/tmp/cache/assets/sprockets/v3.0/kH/kHqX3aSIRVoHMx9XD_917KDmR-XgPfPEN_KzUXkBjnM.cache +1 -0
  369. data/test/dummy/tmp/cache/assets/sprockets/v3.0/kI/kI6EjHeiOR9Y3bQap7RhQAaVBgaA-ALBFCBC0XVcq_8.cache +4 -0
  370. data/test/dummy/tmp/cache/assets/sprockets/v3.0/kT/kTDRSPgjkgsOA96MXs8Lw0mVF8EjAf3hhEWQj0UQgKs.cache +1 -0
  371. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ka/KaIv5B0hZK_DGS5phYCInEVsozlzvdBuDQDFZ8pbEE0.cache +1 -0
  372. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ka/kauR7_UXXgOAep3iqfG3aX1w5EOokj-p9pWHqpCOh8w.cache +0 -0
  373. data/test/dummy/tmp/cache/assets/sprockets/v3.0/kc/kchg-OoRYJdZqz3ELQQXZX1XCYp_ouQIol1cvjzBk90.cache +0 -0
  374. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ko/koYTd66ZXj_9IToRaMSaq5juT7JXradWzmkeanXpOTo.cache +1 -0
  375. data/test/dummy/tmp/cache/assets/sprockets/v3.0/l1/l1pF3dK2_Ht7XCN9hyMvED-Hee8vOhw8HoeGE0MVCBU.cache +1 -0
  376. data/test/dummy/tmp/cache/assets/sprockets/v3.0/l2/l2C55ez2bNOzRM7dQQUo3clI6LdrEtsYVTAgL6net9g.cache +1 -0
  377. data/test/dummy/tmp/cache/assets/sprockets/v3.0/l3/l3tAw6XmXvpbhEwFRnym3bD_r7RPPekaH0Ki6ZtoDtI.cache +1 -0
  378. data/test/dummy/tmp/cache/assets/sprockets/v3.0/lI/Li3yqj6JJKOH62Q4A62e46JlVIOnN69OzQbU0fjqxBs.cache +1 -0
  379. data/test/dummy/tmp/cache/assets/sprockets/v3.0/lI/lIFpYLORV3vlP03olbSJgC-qJtkKtw8Ufb08WH6TjTY.cache +0 -0
  380. data/test/dummy/tmp/cache/assets/sprockets/v3.0/lV/lV-w0KC-NGdZvAOndi4eI0-tfteOjxmc6orMHNZMX7k.cache +1 -0
  381. data/test/dummy/tmp/cache/assets/sprockets/v3.0/lr/lrXR7t6IGiDU95dQ6xX4wmq9stUB33EYaE2k1-Dk2R0.cache +1 -0
  382. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ls/lsGa4OIoW8IQwKLVTCdbz0rEXdTepE2VoWsBf0YEAJk.cache +1 -0
  383. data/test/dummy/tmp/cache/assets/sprockets/v3.0/mT/mTIp-1taV40mcDc6P6a-W3MshbqApeYzcMnaxuSzrgM.cache +0 -0
  384. data/test/dummy/tmp/cache/assets/sprockets/v3.0/mW/MwZXEadj6mEJJ5fIDNDDXOHXIB62tZxA2eLvcoKfUSc.cache +1 -0
  385. data/test/dummy/tmp/cache/assets/sprockets/v3.0/mW/mWXBx2uTKjhavJGG-DVkNOlyzVd1u3j9Psd4JMs5NPg.cache +0 -0
  386. data/test/dummy/tmp/cache/assets/sprockets/v3.0/m_/m_84UWrLCnvca3LjNwP9zpzUzLkyLNm8HVGZrKCcASw.cache +0 -0
  387. data/test/dummy/tmp/cache/assets/sprockets/v3.0/mo/mo6LGVvPD2VMca_kw98GpSYtLm_dBdKCLSvx8tC3FNY.cache +0 -0
  388. data/test/dummy/tmp/cache/assets/sprockets/v3.0/n9/n9gl4h4rv028P0UQ8Y7_9GA3bTPFcH2gpPtcZKV31cI.cache +1 -0
  389. data/test/dummy/tmp/cache/assets/sprockets/v3.0/na/nagcAtkTnEic3bguZ-8Lsn3iU1u-G580-a5_PDGzcLY.cache +2 -0
  390. data/test/dummy/tmp/cache/assets/sprockets/v3.0/o5/o54sA1modO6Y3X00t3XplFH-HWwgayKkd2xPk803wSM.cache +0 -0
  391. data/test/dummy/tmp/cache/assets/sprockets/v3.0/o7/o75I20QPsWT6wv-65y7VMD2P1sqTtpq_Ww2SfpMFS6A.cache +1 -0
  392. data/test/dummy/tmp/cache/assets/sprockets/v3.0/oC/oC0WlUAEOcGT1iVVLZAB9mZwWTr4UWuE6dQ_qzCXPU8.cache +0 -0
  393. data/test/dummy/tmp/cache/assets/sprockets/v3.0/oO/oOKj-T-fl4jFWtgQ7OitTLIQmgCF6U7YJOFSbp5xPN8.cache +1 -0
  394. data/test/dummy/tmp/cache/assets/sprockets/v3.0/oO/oOR47j8fCLlue8MCWBs1qUkeij729RfD3VqnETHF5bc.cache +1 -0
  395. data/test/dummy/tmp/cache/assets/sprockets/v3.0/oZ/oZsjBPZxJNJD8wGvnqZmjwU4pbknZYuPMnY66OpQ_s0.cache +1 -0
  396. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ol/olgVIytSawox-_geaXjTRtdhtCib13NsNxcr6eertls.cache +4 -0
  397. data/test/dummy/tmp/cache/assets/sprockets/v3.0/pE/pEhaat2KBd5SrT7szC_8R1_6hK17FTpvoRFkmCRSD3M.cache +0 -0
  398. data/test/dummy/tmp/cache/assets/sprockets/v3.0/pF/pFmW1gmAZibi_iHBifw4vbyZS0qtnVK5lJY3a_EZy_s.cache +1 -0
  399. data/test/dummy/tmp/cache/assets/sprockets/v3.0/pW/pWkj-93urCjEEUbWRMvvdeX3hToMQCWFN2JnHFUHYyY.cache +0 -0
  400. data/test/dummy/tmp/cache/assets/sprockets/v3.0/pZ/pZa_XMQtdWmTpxGhxOHRwpLu-rMzIOspvsMJiEQjxJo.cache +0 -0
  401. data/test/dummy/tmp/cache/assets/sprockets/v3.0/pl/plUR966kw0KQT_r2Vq9ObkjAEDXvj0zBpaC6Z5ITIW0.cache +1 -0
  402. data/test/dummy/tmp/cache/assets/sprockets/v3.0/pt/ptTZ8Ht5vDgK1JbCYoDKGHClncG3Xz2S8gJv8ztMC2M.cache +1 -0
  403. data/test/dummy/tmp/cache/assets/sprockets/v3.0/qJ/qJupxS-F8ClOwBELAcYPaKTwF8uynRas3GTvJlcC-Mw.cache +1 -0
  404. data/test/dummy/tmp/cache/assets/sprockets/v3.0/qP/QpDtuKl4FCtnNOSVcI-3EGPJR-41pEu4hUFJZsRVFE0.cache +1 -0
  405. data/test/dummy/tmp/cache/assets/sprockets/v3.0/qP/qPrQVxH3O5eViAPmtuJ74nXfavfCMxzR2JcMyPUvCbA.cache +1 -0
  406. data/test/dummy/tmp/cache/assets/sprockets/v3.0/qk/qkgEs9D5Tyon0rlY1Seegd3C6fDWXT_hUUWp46CzeFk.cache +1 -0
  407. data/test/dummy/tmp/cache/assets/sprockets/v3.0/qk/qkkjB0GmeEcWjyLPtf0A4R4hYAbaE0EiVp1vOTLzU2g.cache +1 -0
  408. data/test/dummy/tmp/cache/assets/sprockets/v3.0/qr/qrHman0aUHfoCGYcw_DrhhbxAzoBhOoUX_MfSfmlxLI.cache +1 -0
  409. data/test/dummy/tmp/cache/assets/sprockets/v3.0/rA/rAvN9noQ4Xjp7pSmzgJxlx3EXeyUhOJsPjz_Av61A3k.cache +2 -0
  410. data/test/dummy/tmp/cache/assets/sprockets/v3.0/rg/RGRsOoh2xQOevC5DY7dGO17COr1IvdxATdm1ZmwlAk0.cache +0 -0
  411. data/test/dummy/tmp/cache/assets/sprockets/v3.0/rg/rg78JyUVrQTIJ4ii1q-FyCPIEQL2DBFe-84uEFUdV14.cache +0 -0
  412. data/test/dummy/tmp/cache/assets/sprockets/v3.0/rt/rtcTdKF7lUGOQoDgloqxt1rLHBdouff2cDvLpaXXjQE.cache +1 -0
  413. data/test/dummy/tmp/cache/assets/sprockets/v3.0/s2/s2IEbMhwq-y3tfxXyuqb-TMzwJ8GELDKn5OUrJWG3Qs.cache +2 -0
  414. data/test/dummy/tmp/cache/assets/sprockets/v3.0/sK/sKOq7fr7FpLJOm3aCHCF2OU1lZ5_hLgwpM4MnUeoYPo.cache +1 -0
  415. data/test/dummy/tmp/cache/assets/sprockets/v3.0/sh/sh85gqIOq0XEXE45PbFkOABOPt0pa5qH5NpPxSO2rME.cache +1 -0
  416. data/test/dummy/tmp/cache/assets/sprockets/v3.0/t2/t2YewDsCnLBElnAkDksUp6pK-kCXgCs0aW7sWBqnL7Q.cache +0 -0
  417. data/test/dummy/tmp/cache/assets/sprockets/v3.0/t7/t75LiISsyHSR4Y9VaWSNXBsqxjLh26PUvEgzaLW3K7Q.cache +1 -0
  418. data/test/dummy/tmp/cache/assets/sprockets/v3.0/tl/tlJ4WTPsKOI7_dsTMGH1muRNVL6w0RioL3dWe9Jtts4.cache +1 -0
  419. data/test/dummy/tmp/cache/assets/sprockets/v3.0/tr/trIrqCe1yekofCwo3N4fUQQ7snQn3YHIMeiTqUSyCCo.cache +1 -0
  420. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ty/tyNzgeNTeJR6cW-W_VgjNX6ud0TordT-ov-pLCreQXA.cache +0 -0
  421. data/test/dummy/tmp/cache/assets/sprockets/v3.0/uL/uLcTmzKlskP7_yOMj_yKE_fjgWFcxmWCg-2xCA3nIH0.cache +0 -0
  422. data/test/dummy/tmp/cache/assets/sprockets/v3.0/us/usl5OJRq3b0d-1APtgkD5RoBuNoRL6gZv3wrOReji-o.cache +1 -0
  423. data/test/dummy/tmp/cache/assets/sprockets/v3.0/v1/v1t8N5WLBSnimJrn9UXH0kzk7ZmYQXfVJCr2tT7YIJw.cache +1 -0
  424. data/test/dummy/tmp/cache/assets/sprockets/v3.0/v5/v5UkqiWWtuwiW_wAN7GjlePPTtJUdgix8tXYZ1Jj4kw.cache +0 -0
  425. data/test/dummy/tmp/cache/assets/sprockets/v3.0/vE/vEpqAMl0wWv2y8ONxFYn8hDf54gkguSObFxaZcXOpAQ.cache +3 -0
  426. data/test/dummy/tmp/cache/assets/sprockets/v3.0/vK/vKJRYj4JRd0HcWxcOkyP-9-97tYE7hNBdbWsJabLYEU.cache +0 -0
  427. data/test/dummy/tmp/cache/assets/sprockets/v3.0/vL/vLx9S70tRr-sRpryc-nqe2F74FqRh7v8D6WupBQi9Q4.cache +0 -0
  428. data/test/dummy/tmp/cache/assets/sprockets/v3.0/v_/v_Rcf-6UDGcEpf9_h2dle0m1mGQAarWR6X04yYsqs_4.cache +0 -0
  429. data/test/dummy/tmp/cache/assets/sprockets/v3.0/vm/vmfopQdFnsKQzKuuu15SPllQY_H02O2Aq1th73TKW6Y.cache +0 -0
  430. data/test/dummy/tmp/cache/assets/sprockets/v3.0/wE/wE09fu8QcVTYAZEexPpX1PAUQRz0Zy2F9lZhjK2KQ58.cache +0 -0
  431. data/test/dummy/tmp/cache/assets/sprockets/v3.0/wF/wF4qGEvmS69h8DHCAI32EwT78k2cHViAjUkL8Z1I8E8.cache +3 -0
  432. data/test/dummy/tmp/cache/assets/sprockets/v3.0/wh/whuYDNpoV7JQyT7AC5grUG7YQOpNBwHid6GKT7jWyms.cache +0 -0
  433. data/test/dummy/tmp/cache/assets/sprockets/v3.0/x8/x8uDBvd5o58FDCU4baEJ0fLsjiQ5piZqTaSMhm19Q2k.cache +1 -0
  434. data/test/dummy/tmp/cache/assets/sprockets/v3.0/xs/xs_ncAMwUYeSKXDLm-TqM8gk-9H7XjFt1GsL3E68AXE.cache +1 -0
  435. data/test/dummy/tmp/cache/assets/sprockets/v3.0/yO/yOikccH8pD0ufEjGWckfu4ooNJFW9yDhnhBEkw9z54s.cache +1 -0
  436. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ya/yaKaPg6TFrKRtz81rt4Ug2O7TBrN3wquaV-ST0JlIQk.cache +3 -0
  437. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ys/ysNZtLVJ7TzSH4eKZakVHOvr7hZhlg-4bLgeMl0LcpM.cache +1 -0
  438. data/test/dummy/tmp/cache/assets/sprockets/v3.0/yt/yteX5leOLZaMFXIqq3hOcz_7Y6c11h5_RNCTlN09TBY.cache +1 -0
  439. data/test/dummy/tmp/cache/assets/sprockets/v3.0/zI/zI_1Womd93w6dFYrsswj94ILgXrJha7zVoVoJFGMShc.cache +1 -0
  440. data/test/dummy/tmp/cache/assets/sprockets/v3.0/zX/ZXAaYM3l4CeZZUzZMTxeDRj_Sy5zer8dGXT-5tnDRRM.cache +1 -0
  441. data/test/dummy/tmp/cache/assets/sprockets/v3.0/zX/zXOPfSBUC4dF2kpBpk7m2wO-XJZ4mAswwrLjQMWsTVw.cache +0 -0
  442. data/test/dummy/tmp/cache/assets/sprockets/v3.0/z_/z_a8Us1cyUTvypL3FdkXgWbHB1ZKLt7e34p9lzfycts.cache +0 -0
  443. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ze/zeBwqDxHFJtBvdiJKVB_L0U80912nUj7lIY47B6LnNo.cache +2 -0
  444. data/test/dummy/tmp/cache/assets/sprockets/v3.0/zh/zhu2-UioBuypMwbNOm1cBpbeOQtXlmS20wa4GuvLjDs.cache +1 -0
  445. data/test/dummy/tmp/cache/assets/sprockets/v3.0/zu/zu35iDCejhEjZn_QpCGtRoT__vuoBlzUQycyyksxLMw.cache +0 -0
  446. data/test/dummy/tmp/cache/assets/sprockets/v3.0/zv/zvkOvfSHi5VUjxkdl1uD-LdPNE15nNw4sjYcRlZ0w78.cache +0 -0
  447. data/test/routes_test.rb +8 -0
  448. data/test/test_helper.rb +2 -2
  449. metadata +834 -12
@@ -0,0 +1,38 @@
1
+ <header class="header--primary">
2
+ <div class="wrapper">
3
+ <nav class="header--primary__nav">
4
+ <ul class="nav nav--primary">
5
+ <div class="nav--primary__right">
6
+ <li class="nav__item nav--primary__item">
7
+ <%= link_to '#', class: 'nav__link nav--primary__link nav--primary__link--user' do %>
8
+ <div class="user">
9
+ <div class="user__name">
10
+ Admin
11
+ </div>
12
+ </div>
13
+ <% end %>
14
+ <ul class="nav--dropdown">
15
+ <li class="nav__item nav--primary__item">
16
+ <%= link_to "Logout", '#', method: :delete, class: 'nav__link nav--primary__link' %>
17
+ </li>
18
+ </ul>
19
+ </li>
20
+ </div>
21
+ <li class="nav__item nav--primary__item nav--primary__item--toggle">
22
+ <a class="nav__link nav--primary__link nav--primary__link--toggle" toggle-menu="nav--primary__collapse" toggle-modifier="--active">
23
+ <%= inline_svg "admin/hamburger.svg" %>
24
+ </a>
25
+ </li>
26
+ <div class="nav--primary__collapse">
27
+ <li class="nav__item nav--primary__item nav--primary__item--left">
28
+ <%= link_to "Dashboard", admin_path, class: "nav__link nav--primary__link" %>
29
+ </li>
30
+ <li class="nav__item nav--primary__item nav--primary__item--left">
31
+ <%= link_to "Styleguide", admin_styleguide_path, class: 'nav__link nav--primary__link' %>
32
+ </li>
33
+ </div>
34
+ </ul>
35
+ </nav>
36
+ </div>
37
+ </header>
38
+
@@ -0,0 +1,22 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta content="width=device-width, initial-scale=1.0" name="viewport">
6
+
7
+ <title>CEO</title>
8
+ <%= stylesheet_link_tag 'admin/application' %>
9
+ <%= csrf_meta_tags %>
10
+ </head>
11
+ <body>
12
+ <div class="wrapper wrapper--wide">
13
+ <%= render 'layouts/admin/header' %>
14
+ </div>
15
+
16
+ <main class="wrapper wrapper--main">
17
+ <div class="content">
18
+ <%= yield %>
19
+ </div>
20
+ </main>
21
+ </body>
22
+ </html>
@@ -0,0 +1,223 @@
1
+ require 'simple_form'
2
+
3
+ # Use this setup block to configure all options available in SimpleForm.
4
+ SimpleForm.setup do |config|
5
+ # Wrappers are used by the form builder to generate a
6
+ # complete input. You can remove any component from the
7
+ # wrapper, change the order or even add your own to the
8
+ # stack. The options given below are used to wrap the
9
+ # whole input.
10
+
11
+ config.wrappers :default, class: :input,
12
+ hint_class: :field_with_hint, error_class: :field_with_errors do |b|
13
+ ## Extensions enabled by default
14
+ # Any of these extensions can be disabled for a
15
+ # given input by passing: `f.input EXTENSION_NAME => false`.
16
+ # You can make any of these extensions optional by
17
+ # renaming `b.use` to `b.optional`.
18
+
19
+ # Determines whether to use HTML5 (:email, :url, ...)
20
+ # and required attributes
21
+ b.use :html5
22
+
23
+ # Calculates placeholders automatically from I18n
24
+ # You can also pass a string as f.input placeholder: "Placeholder"
25
+ b.use :placeholder
26
+
27
+ ## Optional extensions
28
+ # They are disabled unless you pass `f.input EXTENSION_NAME => true`
29
+ # to the input. If so, they will retrieve the values from the model
30
+ # if any exists. If you want to enable any of those
31
+ # extensions by default, you can change `b.optional` to `b.use`.
32
+
33
+ # Calculates maxlength from length validations for string inputs
34
+ b.optional :maxlength
35
+
36
+ # Calculates pattern from format validations for string inputs
37
+ b.optional :pattern
38
+
39
+ # Calculates min and max from length validations for numeric inputs
40
+ b.optional :min_max
41
+
42
+ # Calculates readonly automatically from readonly attributes
43
+ b.optional :readonly
44
+
45
+ ## Inputs
46
+ b.use :label_input
47
+ b.use :hint, wrap_with: { tag: :span, class: :hint }
48
+ b.use :error, wrap_with: { tag: :span, class: :error }
49
+
50
+ ## full_messages_for
51
+ # If you want to display the full error message for the attribute, you can
52
+ # use the component :full_error, like:
53
+ #
54
+ # b.use :full_error, wrap_with: { tag: :span, class: :error }
55
+ end
56
+
57
+ config.wrappers :ceo, class: 'list__item list__item--form',
58
+ hint_class: :field_with_hint, error_class: :field_with_errors do |b|
59
+ ## Extensions enabled by default
60
+ # Any of these extensions can be disabled for a
61
+ # given input by passing: `f.input EXTENSION_NAME => false`.
62
+ # You can make any of these extensions optional by
63
+ # renaming `b.use` to `b.optional`.
64
+
65
+ # Determines whether to use HTML5 (:email, :url, ...)
66
+ # and required attributes
67
+ b.use :html5
68
+
69
+ # Calculates placeholders automatically from I18n
70
+ # You can also pass a string as f.input placeholder: "Placeholder"
71
+ b.use :placeholder
72
+
73
+ ## Optional extensions
74
+ # They are disabled unless you pass `f.input EXTENSION_NAME => true`
75
+ # to the input. If so, they will retrieve the values from the model
76
+ # if any exists. If you want to enable any of those
77
+ # extensions by default, you can change `b.optional` to `b.use`.
78
+
79
+ # Calculates maxlength from length validations for string inputs
80
+ b.optional :maxlength
81
+
82
+ # Calculates pattern from format validations for string inputs
83
+ b.optional :pattern
84
+
85
+ # Calculates min and max from length validations for numeric inputs
86
+ b.optional :min_max
87
+
88
+ # Calculates readonly automatically from readonly attributes
89
+ b.optional :readonly
90
+
91
+ ## Inputs
92
+ b.use :label, class: 'label'
93
+ b.use :input, class: 'input'
94
+ b.use :hint, wrap_with: { tag: :span, class: :hint }
95
+ b.use :error, wrap_with: { tag: :span, class: :error }
96
+
97
+ ## full_messages_for
98
+ # If you want to display the full error message for the attribute, you can
99
+ # use the component :full_error, like:
100
+ #
101
+ # b.use :full_error, wrap_with: { tag: :span, class: :error }
102
+ end
103
+
104
+ # The default wrapper to be used by the FormBuilder.
105
+ config.default_wrapper = :default
106
+
107
+ # Define the way to render check boxes / radio buttons with labels.
108
+ # Defaults to :nested for bootstrap config.
109
+ # inline: input + label
110
+ # nested: label > input
111
+ config.boolean_style = :inline
112
+
113
+ # Default class for buttons
114
+ config.button_class = 'button'
115
+
116
+ # Method used to tidy up errors. Specify any Rails Array method.
117
+ # :first lists the first message for each field.
118
+ # Use :to_sentence to list all errors for each field.
119
+ # config.error_method = :first
120
+
121
+ # Default tag used for error notification helper.
122
+ config.error_notification_tag = :div
123
+
124
+ # CSS class to add for error notification helper.
125
+ config.error_notification_class = 'error_notification'
126
+
127
+ # ID to add for error notification helper.
128
+ # config.error_notification_id = nil
129
+
130
+ # Series of attempts to detect a default label method for collection.
131
+ # config.collection_label_methods = [ :to_label, :name, :title, :to_s ]
132
+
133
+ # Series of attempts to detect a default value method for collection.
134
+ # config.collection_value_methods = [ :id, :to_s ]
135
+
136
+ # You can wrap a collection of radio/check boxes in a pre-defined tag, defaulting to none.
137
+ # config.collection_wrapper_tag = nil
138
+
139
+ # You can define the class to use on all collection wrappers. Defaulting to none.
140
+ # config.collection_wrapper_class = nil
141
+
142
+ # You can wrap each item in a collection of radio/check boxes with a tag,
143
+ # defaulting to :span. Please note that when using :boolean_style = :nested,
144
+ # SimpleForm will force this option to be a label.
145
+ # config.item_wrapper_tag = :span
146
+
147
+ # You can define a class to use in all item wrappers. Defaulting to none.
148
+ # config.item_wrapper_class = nil
149
+
150
+ # How the label text should be generated altogether with the required text.
151
+ config.label_text = lambda { |label, required, explicit_label| "#{required} #{label}" }
152
+
153
+ # You can define the class to use on all labels. Default is nil.
154
+ # config.label_class = 'label'
155
+
156
+ # You can define the default class to be used on forms. Can be overriden
157
+ # with `html: { :class }`. Defaulting to none.
158
+ # config.default_form_class = nil
159
+
160
+ # You can define which elements should obtain additional classes
161
+ config.generate_additional_classes_for = [:input]
162
+
163
+ # Whether attributes are required by default (or not). Default is true.
164
+ # config.required_by_default = true
165
+
166
+ # Tell browsers whether to use the native HTML5 validations (novalidate form option).
167
+ # These validations are enabled in SimpleForm's internal config but disabled by default
168
+ # in this configuration, which is recommended due to some quirks from different browsers.
169
+ # To stop SimpleForm from generating the novalidate option, enabling the HTML5 validations,
170
+ # change this configuration to true.
171
+ config.browser_validations = false
172
+
173
+ # Collection of methods to detect if a file type was given.
174
+ # config.file_methods = [ :mounted_as, :file?, :public_filename ]
175
+
176
+ # Custom mappings for input types. This should be a hash containing a regexp
177
+ # to match as key, and the input type that will be used when the field name
178
+ # matches the regexp as value.
179
+ # config.input_mappings = { /count/ => :integer }
180
+
181
+ # Custom wrappers for input types. This should be a hash containing an input
182
+ # type as key and the wrapper that will be used for all inputs with specified type.
183
+ # config.wrapper_mappings = { string: :prepend }
184
+
185
+ # Namespaces where SimpleForm should look for custom input classes that
186
+ # override default inputs.
187
+ # config.custom_inputs_namespaces << "CustomInputs"
188
+
189
+ # Default priority for time_zone inputs.
190
+ # config.time_zone_priority = nil
191
+
192
+ # Default priority for country inputs.
193
+ # config.country_priority = nil
194
+
195
+ # When false, do not use translations for labels.
196
+ # config.translate_labels = true
197
+
198
+ # Automatically discover new inputs in Rails' autoload path.
199
+ # config.inputs_discovery = true
200
+
201
+ # Cache SimpleForm inputs discovery
202
+ # config.cache_discovery = !Rails.env.development?
203
+
204
+ # Default class for inputs
205
+ # config.input_class = nil
206
+
207
+ # Define the default class of the input wrapper of the boolean input.
208
+ config.boolean_label_class = 'checkbox'
209
+
210
+ # Defines if the default input wrapper class should be included in radio
211
+ # collection wrappers.
212
+ # config.include_default_input_wrapper_class = true
213
+
214
+ # Defines which i18n scope will be used in Simple Form.
215
+ # config.i18n_scope = 'simple_form'
216
+
217
+ config.wrappers :hidden, :tag => 'div', :class => '', :error_class => '' do |b|
218
+ b.use :html5
219
+ b.use :label_input, :wrap_with => nil
220
+ end
221
+
222
+ config.wrapper_mappings = { :hidden => :hidden }
223
+ end
@@ -0,0 +1,7 @@
1
+ Rails.application.routes.draw do
2
+ namespace :admin do
3
+ get '/', to: 'admin#dashboard'
4
+ get 'styleguide', to: 'admin#styleguide'
5
+ end
6
+ end
7
+
data/lib/ceo.rb CHANGED
@@ -3,6 +3,8 @@ require 'ceo/engine'
3
3
  require 'ceo/rails/routes'
4
4
  require 'ceo/paginator'
5
5
  require 'ceo/iterator'
6
+ require 'inline_svg'
6
7
 
7
8
  module CEO
8
9
  end
10
+
@@ -2,3 +2,4 @@ module CEO
2
2
  class Engine < Rails::Engine
3
3
  end
4
4
  end
5
+
@@ -3,15 +3,12 @@ module CEO
3
3
  #
4
4
  # Examples
5
5
  #
6
- # iterator = CEO::Iterator.new(Apple, current_page: filters: { only: [:id, :name] })
6
+ # iterator = CEO::Iterator.new(Apple, current_page: 2, filters: { only: [:id, :name] })
7
7
  # iterator.total_pages
8
8
  # # => 7
9
9
  # iterator.current_page
10
10
  # # => 2
11
11
  class Iterator
12
- # Public: Returns the current page.
13
- attr_reader :current_page
14
-
15
12
  # Public: Returns the total pages paginated.
16
13
  attr_reader :total_pages
17
14
 
@@ -147,6 +144,7 @@ module CEO
147
144
  things.select { |thing| whitelist.include? thing }
148
145
  end
149
146
 
147
+ # Public: Returns the current page.
150
148
  def current_page
151
149
  (@options[:current_page] || 1).to_i
152
150
  end
@@ -1,3 +1,3 @@
1
1
  module CEO
2
- VERSION = '0.1.7'
2
+ VERSION = '0.2.0'
3
3
  end
@@ -22,7 +22,10 @@ class AdminGenerator < Rails::Generators::NamedBase
22
22
  end
23
23
 
24
24
  create_file "app/views/admin/#{@controller.underscore}/_form.html.erb", <<VIEW
25
- <% # "f" is exposed as a form object %>
25
+ <% # "f" is exposed as a form object (example below) %>
26
+
27
+ <%= f.input :name %>
28
+ <%= f.button :submit %>
26
29
  VIEW
27
30
  end
28
31
  end
@@ -1,5 +1,6 @@
1
1
  module Admin
2
- class <%= @controller.camelize %>Controller < AdminController
3
- # leave empty for basic CRUD
2
+ class <%= @controller.camelize %>Controller < CEOController
3
+ # Leave empty for basic CRUD, or change CEOController to AdminController to
4
+ # override basic CRUD.
4
5
  end
5
6
  end
@@ -0,0 +1,47 @@
1
+ require 'test_helper'
2
+
3
+ class Admin::AuthenticateAdminTest < ActionController::TestCase
4
+ describe 'controller inheriting from AdminController' do
5
+ before do
6
+ @controller = Admin::ApplesController.new
7
+ end
8
+
9
+ it "calls #authenticate_admin!" do
10
+ mock = MiniTest::Mock.new
11
+ mock.expect(:call, false)
12
+
13
+ @controller.stub(:authenticate_admin!, mock) do
14
+ get :index
15
+ end
16
+
17
+ mock.verify
18
+ end
19
+
20
+ describe 'when #authenticate_admin! is not defined by app' do
21
+ it 'returns false when calling #authenticate_admin!' do
22
+ assert_equal false, @controller.authenticate_admin!
23
+ end
24
+ end
25
+
26
+ describe 'when #authenticate_admin! is defined by app' do
27
+ before do
28
+ ApplicationController.class_eval do
29
+ def authenticate_admin!
30
+ "hi!"
31
+ end
32
+ end
33
+ end
34
+
35
+ after do
36
+ ApplicationController.class_eval do
37
+ remove_method :authenticate_admin!
38
+ end
39
+ end
40
+
41
+ it 'defers to whatever the app defines as #authenticate_admin!' do
42
+ assert_equal "hi!", @controller.authenticate_admin!
43
+ end
44
+ end
45
+ end
46
+ end
47
+
@@ -18,7 +18,7 @@ describe 'apples admin pages' do
18
18
 
19
19
  apple_name = 'Red Delicious'
20
20
  fill_in 'apple[name]', with: apple_name
21
- click_button 'submit'
21
+ click_button 'Update Apple'
22
22
  assert_equal 200, page.status_code
23
23
 
24
24
  new_apple = Apple.find(@apple.id).attributes
@@ -35,14 +35,14 @@ describe 'apples admin pages' do
35
35
 
36
36
  it 'should error when validation is nil' do
37
37
  fill_in 'banana[name]', with: nil
38
- click_button 'submit'
38
+ click_button 'Update Banana'
39
39
 
40
40
  assert page.has_css?('.field_with_errors')
41
41
  end
42
42
 
43
43
  it 'should error when validation is empty' do
44
44
  fill_in 'banana[name]', with: ''
45
- click_button 'submit'
45
+ click_button 'Update Banana'
46
46
 
47
47
  assert page.has_css?('.field_with_errors')
48
48
  end
@@ -4,79 +4,75 @@ describe 'Apple admin pages' do
4
4
  include AcceptanceHelper
5
5
 
6
6
  describe 'index' do
7
- before do
8
- 30.times { Apple.create }
9
- admin_page '/apples'
10
- end
11
-
12
- it 'should not error when there are no apples' do
13
- Apple.delete_all
14
- admin_page '/apples'
7
+ describe 'without apples' do
8
+ it 'should not error' do
9
+ admin_page '/apples'
15
10
 
16
- assert_equal 0, Apple.count
17
- expected_text = 'There are no apples in the database.'
18
- assert page.has_css?('p', text: expected_text)
11
+ assert_equal 0, Apple.count
12
+ assert page.has_content? 'There are no apples in the database.'
13
+ end
19
14
  end
20
15
 
21
- describe 'correct attributes' do
22
- let(:attributes) { Apple.new.attributes.keys }
23
-
24
- it 'should have the right number of headers' do
25
- headers = page.all('table thead th')
26
- assert_equal attributes.size, headers.size
16
+ describe 'with apples' do
17
+ before do
18
+ 21.times { Apple.create }
19
+ admin_page '/apples'
27
20
  end
28
21
 
29
- it 'should have the right header names' do
30
- assert page.has_css?('table thead tr th', text: 'ID')
31
- assert page.has_css?('table thead tr th', text: 'Name')
32
- assert page.has_css?('table thead tr th', text: 'Fruit')
33
- end
22
+ describe 'correct attributes' do
23
+ let(:attributes) { Apple.new.attributes.keys }
34
24
 
35
- it 'should have all IDs shown' do
36
- Apple.all.each do |a|
37
- page.has_css?('table tbody tr td', text: a.id.to_s)
25
+ it 'should have the right number of headers' do
26
+ headers = page.all('table thead th')
27
+ assert_equal attributes.size + 2, headers.size # 2 function headers (edit & show)
38
28
  end
39
- end
40
- end
41
29
 
42
- it 'it should include a new button' do
43
- el = page.find('a#new-apple')
44
- assert_equal '/admin/apples/new', el['href']
45
- assert_equal 'New Apple', el.text
46
- end
30
+ it 'should have the right header names' do
31
+ assert page.has_css?('table thead tr th', text: 'ID')
32
+ assert page.has_css?('table thead tr th', text: 'Name')
33
+ assert page.has_css?('table thead tr th', text: 'Fruit')
34
+ end
47
35
 
48
- describe 'pagination' do
49
- it 'shows 20 apples per page' do
50
- assert_equal 20, page.all('table tbody tr').size
51
- refute_equal 20, Apple.count
36
+ it 'should have all IDs shown' do
37
+ Apple.all.each do |a|
38
+ page.has_css?('table tbody tr td', text: a.id.to_s)
39
+ end
40
+ end
52
41
  end
53
42
 
54
- describe 'pagination links' do
55
- describe 'first page' do
56
- it 'should have a disabled link' do
57
- el = page.find('nav ul li a', text: '1')
58
- assert_equal '1', el.text
59
- assert el['href'].nil?
60
- end
43
+ it 'it should include a new button' do
44
+ assert page.has_link? 'New Apple'
45
+ end
61
46
 
62
- it 'should have a link to the next page' do
63
- el = page.find('nav ul li a', text: '2')
64
- assert_equal '/admin/apples/page/2', el['href']
65
- end
47
+ describe 'pagination' do
48
+ it 'shows 20 apples per page' do
49
+ assert_equal 20, page.all('table tbody tr').size
50
+ refute_equal 20, Apple.count
66
51
  end
67
52
 
68
- describe 'second page' do
69
- before { visit '/admin/apples/page/2' }
53
+ describe 'pagination links' do
54
+ describe 'first page' do
55
+ it 'should have a disabled link' do
56
+ assert el = find('ul li a', text: '1')
57
+ assert el['href'].nil?
58
+ end
70
59
 
71
- it 'should have a disabled link' do
72
- el = page.find('nav ul li a', text: '2')
73
- assert_equal '2', el.text
74
- assert el['href'].nil?
60
+ it 'should have a link to the next page' do
61
+ assert all("a[href='/admin/apples/page/2']").length > 0
62
+ end
75
63
  end
76
64
 
77
- it 'should have a first page button' do
78
- el = page.find('nav ul li a', text: '1')
79
- assert_equal '/admin/apples/page/1', el['href']
65
+ describe 'second page' do
66
+ before { visit '/admin/apples/page/2' }
67
+
68
+ it 'should have a disabled link' do
69
+ assert el = find('ul li a', text: '2')
70
+ assert el['href'].nil?
71
+ end
72
+
73
+ it 'should have a first page button' do
74
+ assert all("a[href='/admin/apples/page/1']").length > 0
75
+ end
80
76
  end
81
77
  end
82
78
  end