ceo 0.1.7 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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,235 @@
1
+ module Admin
2
+ # Public: A base controller for admin pages.
3
+ #
4
+ # This class is the meat of CEO. It contains the helper methods and pages
5
+ # that make CEO what it is.
6
+ class CEOController < AdminController
7
+ before_action :find_thing, only: [:show, :edit, :update, :destroy]
8
+
9
+ helper_method :thing_path
10
+ helper_method :things_path
11
+ helper_method :new_thing_path
12
+ helper_method :edit_thing_path
13
+ helper_method :thing_page_path
14
+
15
+ # GET /things
16
+ # Public: Indexes all things in the model.
17
+ #
18
+ # Uses pagination by default.
19
+ #
20
+ # Sets several variables and renders to a view.
21
+ def index(options = {})
22
+ options[:query] ||= []
23
+ @page = (params[:page] || 1).to_i
24
+ @route_name ||= @controller_name ||= controller_name
25
+
26
+ @iterator = CEO::Iterator.new(
27
+ thing,
28
+ query: options[:query],
29
+ current_page: @page,
30
+ per_page: options.fetch(:per_page, 20),
31
+ filters: {
32
+ only: options[:only],
33
+ except: options[:except]
34
+ }
35
+ )
36
+
37
+ @things = @iterator.all || []
38
+ @total_pages = @iterator.total_pages
39
+
40
+ @model_name ||= thing.to_s.underscore
41
+ @human_model = @model_name.humanize
42
+ @title = thing.to_s.titleize.pluralize
43
+ render 'admin/index'
44
+ end
45
+
46
+ # GET /:things/:id
47
+ def show(options = {})
48
+ @model = thing
49
+ @title = @model.to_s.titleize.pluralize
50
+ if options[:query]
51
+ query_out = {}
52
+ iterator = CEO::Iterator.new(thing)
53
+ options[:query].each do |q|
54
+ query_out.merge! iterator.query_eval(@thing, q)
55
+ end
56
+ end
57
+
58
+ filtered_keys = CEO::Iterator.filter(keys(@thing), options)
59
+ @thing_attrs = @thing.attributes.select do |k, _|
60
+ filtered_keys.include? k
61
+ end
62
+
63
+ @thing_attrs.transform_keys! { |k| CEO::Iterator.acronymize(k) }
64
+ @thing_attrs.merge! query_out if query_out
65
+
66
+ render 'admin/show'
67
+ end
68
+
69
+ # GET /:things/new
70
+ def new(options = { only: [], except: [:id, :created_at, :updated_at], required: [] })
71
+ @thing_model = thing
72
+ @thing = @thing_model.new
73
+ @attrs = CEO::Iterator.filter(@thing.attributes.keys, options)
74
+ @route_name ||= @controller_name ||= controller_name
75
+ @index_route = send(:"admin_#{@route_name}_path")
76
+
77
+ render 'admin/new'
78
+ end
79
+
80
+ # GET /:things/edit
81
+ #
82
+ # options - hash of options
83
+ # only - filter attributes to edit by whitelist
84
+ # except - filter attributes to edit by blacklist (has some preset defaults that you probably don't want)
85
+ def edit(options = { only: [], except: [:id, :created_at, :updated_at], required: [] })
86
+ @required_keys = options[:required]
87
+ @attrs = CEO::Iterator.filter(@thing.attributes.keys, options)
88
+ @model = @thing.model_name.name.constantize
89
+ @route_name ||= @controller_name ||= controller_name
90
+ @index_route = send(:"admin_#{@route_name}_path")
91
+
92
+ render 'admin/edit'
93
+ end
94
+
95
+ # POST /:things
96
+ def create
97
+ @thing = thing.new(thing_params)
98
+ @route_name ||= @controller_name ||= controller_name
99
+
100
+ if @thing.save
101
+ flash[:notice] = "#{thing} successfully created."
102
+ redirect_to things_path(@route_name), notice: "#{thing.to_s.titleize} successfully created."
103
+ else
104
+ render 'admin/new'
105
+ end
106
+ end
107
+
108
+ # PATCH/PUT /:things/:id
109
+ def update
110
+ @route_name ||= @controller_name ||= controller_name
111
+
112
+ if @thing.update(thing_params)
113
+ redirect_to things_path(@route_name), notice: "#{@controller_name.titleize} successfully updated."
114
+ else
115
+ @model = @thing.model_name.name.constantize
116
+ render 'admin/edit'
117
+ end
118
+ end
119
+
120
+ # DELETE /:things/:id
121
+ def destroy
122
+ @thing.destroy
123
+
124
+ flash[:notice] = "#{thing} #{@thing.id} was successfully destroyed."
125
+ redirect_to action: :index
126
+ end
127
+
128
+ private
129
+
130
+ # Internal: Finds the ActiveRecord object of the current controller.
131
+ #
132
+ # Returns an ActiveRecord class.
133
+ def thing
134
+ controller_name.classify.constantize
135
+ end
136
+
137
+ # Private: Permits all model-defined parameters.
138
+ #
139
+ # Retuns a hash of parameters.
140
+ def thing_params
141
+ @params ||= thing.new.attributes.keys.map(&:to_sym)
142
+ params.require(thing.name.underscore.to_sym).permit(
143
+ @params,
144
+ :page
145
+ )
146
+ end
147
+
148
+ # Private: Finds an ActiveRecord object by id.
149
+ #
150
+ # Sets a variable `@thing`, which contains the object.
151
+ def find_thing
152
+ @thing = thing.find(params[:id])
153
+ end
154
+
155
+ # Private: Returns keys for a given model.
156
+ #
157
+ # Arguments:
158
+ # - model: the model object to get the keys from
159
+ #
160
+ # Returns an array of keys.
161
+ def keys(model)
162
+ model.attributes.keys
163
+ end
164
+
165
+ # Private: Returns the path of the thing.
166
+ #
167
+ # object - An instance of a model.
168
+ #
169
+ # Returns the path of the thing.
170
+ def thing_path(model, object)
171
+ id = object['ID'] || object['id']
172
+ send(:"admin_#{undersingularize(model)}_path", id: id)
173
+ end
174
+
175
+ # Private: Returns the index path of a model.
176
+ #
177
+ # object - An instance of a model.
178
+ #
179
+ # Returns the path of many things.
180
+ def things_path(object = nil)
181
+ object ||= @route_name || controller_name
182
+ send(:"admin_#{underpluralize(object)}_path")
183
+ end
184
+
185
+ # Private
186
+ #
187
+ # model - The model name.
188
+ # object - An instance of a model.
189
+ #
190
+ # Returns the edit path of a model.
191
+ def edit_thing_path(model, object)
192
+ id = object['ID'] || object['id']
193
+ send(:"edit_admin_#{undersingularize(model)}_path", id: id)
194
+ end
195
+
196
+ # Private
197
+ #
198
+ # model - The model name.
199
+ # object - An instance of a model.
200
+ #
201
+ # Returns the new path of a model.
202
+ def new_thing_path(model)
203
+ send(:"new_admin_#{undersingularize(model)}_path")
204
+ end
205
+
206
+ # Private
207
+ #
208
+ # model - The model name.
209
+ # page - The page number.
210
+ #
211
+ # Returns the paginated path of an object.
212
+ def thing_page_path(model, page)
213
+ send(:"page_admin_#{underpluralize(model)}_path", page: page)
214
+ end
215
+
216
+ # Private
217
+ #
218
+ # noun - Something to underpluralize. (String)
219
+ #
220
+ # Returns an underscored and pluralized string.
221
+ def underpluralize(noun)
222
+ noun.to_s.underscore.pluralize.downcase
223
+ end
224
+
225
+ # Private
226
+ #
227
+ # noun - Something to undersingularize. (String)
228
+ #
229
+ # Returns an underscored and singularized string.
230
+ def undersingularize(noun)
231
+ noun.to_s.underscore.singularize.downcase
232
+ end
233
+ end
234
+ end
235
+
File without changes
@@ -1,8 +1,13 @@
1
- <h1>New <%= @model.to_s.titleize %></h1>
1
+ <div class='title-bar'>
2
+ <h1 class='title-bar__text'><%= "Editing #{@model.to_s.titleize}" %></h1>
3
+ </div>
2
4
 
3
- <%= link_to 'Back', things_path(@model) %>
4
5
 
5
- <%= form_for([:admin, @thing]) do |form| %>
6
+ <%= simple_form_for ([:admin, @thing]), { wrapper: :ceo } do |form| %>
6
7
  <%= render 'form', f: form %>
7
- <%= form.button :submit %>
8
+
9
+ <div class='list__item list__item--form'>
10
+ <%= link_to 'Cancel', thing_path(@model, @thing), class: 'button', data: { confirm: "Are you sure? Nothing in this form will be saved." } %>
11
+ <%= form.button :submit, class: 'button' %>
12
+ </div>
8
13
  <% end %>
@@ -1,78 +1,81 @@
1
- <h1><%= @title %></h1>
1
+ <div class='title-bar'>
2
+ <h1 class='title-bar__text'><%= @title %></h1>
3
+ <%= link_to "New #{@model_name.titleize}", send(:"new_admin_#{@model_name}_path"), class: "title-bar__action title-bar__action--add" %>
4
+ </div><!-- .title-bar -->
2
5
 
3
- <div>
4
- <p><%= link_to "New #{@title.singularize}", new_thing_path(@model_name), id: "new-#{@model_name}" %></p>
5
- <p><%= "There are no #{@human_model.downcase.pluralize} in the database." if @things.blank? %></p>
6
- </div>
7
-
8
- <table>
9
- <thead>
10
- <tr>
11
- <% unless @things.blank? %>
6
+ <table class='table table--responsive'>
7
+ <thead class='table--responsive__head'>
8
+ <tr class='table--responsive__row'>
9
+ <% if @things.blank? %>
10
+ <%= "There are no #{@model_name.pluralize} in the database." %>
11
+ <% else %>
12
12
  <% @things.first.each_key do |heading| %>
13
- <th>
14
- <%= heading %>
15
- </th>
13
+ <th class='table--responsive__cell' scope='col'><%= heading %></th>
16
14
  <% end %>
15
+ <th class='table--responsive__function-cell' scope='col'></th>
16
+ <th class='table--responsive__function-cell' scope='col'></th>
17
17
  <% end %>
18
18
  </tr>
19
19
  </thead>
20
20
 
21
- <tbody>
21
+ <tbody class='table--responsive__body'>
22
22
  <% @things.each do |thing| %>
23
- <tr id="#{@controller_name}-#{thing.id}">
24
- <% thing.each do |heading, value| %>
25
- <td label="<%= heading %>: ">
26
- <%= value %>
23
+ <tr class='table--responsive__row'>
24
+ <% thing.each do |heading, value| %>
25
+ <td class='table--responsive__cell' label=<%= "#{heading}: " %>><%= value %></td>
26
+ <% end %>
27
+
28
+ <td class='table--responsive__function-cell'>
29
+ <%= link_to send(:"edit_admin_#{@model_name}_path", thing['ID']), class: 'table__link' do %>
30
+ <%= inline_svg "admin/pencil.svg" %>
31
+ <% end %>
27
32
  </td>
28
33
 
29
- <div class="actions">
30
- <td><%= link_to("Edit", edit_thing_path(@model_name, thing)) %></td>
31
- <td><%= link_to("Show", thing_path(@model_name, thing)) %></td>
32
- </div>
33
- <% end %>
34
+ <td class='table--responsive__function-cell'>
35
+ <%= link_to send(:"admin_#{@model_name}_path", thing['ID']), class: 'table__link' do %>
36
+ <%= inline_svg "admin/eye.svg" %>
37
+ <% end %>
38
+ </td>
34
39
  </tr>
35
40
  <% end %>
36
41
  </tbody>
37
42
  </table>
38
43
 
39
- <nav class="navigation" role="navigation">
40
- <ul>
41
- <% if @page == 1 %>
42
- <li><a>1</a></li>
43
- <% else %>
44
- <!-- First Page -->
45
- <li>
46
- <%= link_to('1', thing_page_path(@model_name, @page - 1)) %>
44
+ <% if @total_pages.to_i > 1 %>
45
+ <ul class='nav nav--pagination' role='navigation'>
46
+ <!-- First Page -->
47
+ <% unless @page == 1 %>
48
+ <li class='nav__item nav__item--horizontal'>
49
+ <%= link_to "&#171;".html_safe, thing_page_path(@model_name, 1), class: 'nav__link nav__link--pagination' %>
47
50
  </li>
48
51
  <% end %>
49
52
 
50
- <% if @page.to_i > 2 %>
51
- <!-- Previous Page -->
52
- <li>
53
- <%= link_to("#{@page - 1}", thing_page_path(@model_name, @page - 1)) %>
53
+ <!-- Previous Page -->
54
+ <% if @page > 1 %>
55
+ <li class='nav__item nav__item--horizontal'>
56
+ <%= link_to "&#139;".html_safe, thing_page_path(@model_name, @page - 1), class: 'nav__link nav__link--pagination' %>
54
57
  </li>
55
58
  <% end %>
56
59
 
57
- <% unless @page == 1 %>
58
- <!-- Current Page -->
59
- <li>
60
- <a><%= @page %></a>
60
+ <!-- Current Page -->
61
+ <% unless @total_pages == 1 %>
62
+ <li class='nav__item nav__item--horizontal'>
63
+ <a class='nav__link nav__link--pagination nav__link--current'><%= @page %></a>
61
64
  </li>
62
65
  <% end %>
63
66
 
64
- <% if @page < @total_pages && @page + 1 < @total_pages %>
65
- <!-- Next Page -->
66
- <li>
67
- <%= link_to("#{@page + 1}", thing_page_path(@model_name, @page + 1)) %>
67
+ <!-- Next Page -->
68
+ <% if @page < @total_pages %>
69
+ <li class='nav__item nav__item--horizontal'>
70
+ <%= link_to "&#155;".html_safe, thing_page_path(@model_name, @page + 1), class: 'nav__link nav__link--pagination' %>
68
71
  </li>
69
72
  <% end %>
70
73
 
74
+ <!-- Last Page -->
71
75
  <% unless @page == @total_pages %>
72
- <!-- Last Page -->
73
- <li>
74
- <%= link_to("#{@total_pages}", thing_page_path(@model_name, @total_pages)) %>
76
+ <li class='nav__item nav__item--horizontal'>
77
+ <%= link_to "&#187;".html_safe, thing_page_path(@model_name, @total_pages), class: 'nav__link nav__link--pagination' %>
75
78
  </li>
76
79
  <% end %>
77
80
  </ul>
78
- </nav>
81
+ <% end %>
@@ -1,8 +1,12 @@
1
- <h1>Editing <%= @model.to_s.titleize %></h1>
1
+ <div class='title-bar'>
2
+ <h1 class='title-bar__text'><%= "New #{@thing_model}" %></h1>
3
+ </div>
2
4
 
3
- <%= link_to 'Back', things_path(@model) %>
4
-
5
- <%= form_for([:admin, @thing]) do |form| %>
5
+ <%= simple_form_for ([:admin, @thing]), { wrapper: :ceo } do |form| %>
6
6
  <%= render 'form', f: form %>
7
- <%= form.button :submit %>
7
+
8
+ <div class="list__item list__item--form">
9
+ <%= link_to "Cancel", things_path(@thing_model), class: 'button', data: { confirm: "Are you sure? Nothing in this form will be saved." } %>
10
+ <%= form.button :submit, class: 'button' %>
11
+ </div>
8
12
  <% end %>
@@ -1,16 +1,20 @@
1
- <h1><%= @title %> #<%= @thing.id %></h1>
1
+ <div class='title-bar'>
2
+ <h1 class='title-bar__text'><%= "Details for #{@title.singularize} #{@thing.id}" %></h1>
2
3
 
3
- <div>
4
- <%= link_to 'Back', things_path(@model) %>
5
- </div>
4
+ <%= link_to "Back", things_path(@model), class: 'title-bar__action' %>
5
+ <%= link_to "Edit", send(:"edit_admin_#{@title.downcase.singularize.parameterize.underscore}_path", @thing.id), class: 'title-bar__action' %>
6
+ <%= link_to "Delete", send(:"admin_#{@title.downcase.singularize.parameterize.underscore}_path", @thing.id), method: :delete, data: { confirm: "Are you sure you want to delete #{@thing.class} ##{@thing.id}?" }, class: 'title-bar__action' %>
6
7
 
7
- <table>
8
+ </div><!-- .title-bar -->
9
+
10
+ <table class='table'>
8
11
  <tbody>
9
12
  <% @thing_attrs.each do |thing| %>
10
13
  <tr>
11
14
  <th><%= thing.first %></th>
12
- <td><%= thing.last %></th>
15
+ <td><%= thing.last %></td>
13
16
  </tr>
14
17
  <% end %>
15
18
  </tbody>
16
19
  </table>
20
+
@@ -0,0 +1,779 @@
1
+ <section>
2
+ <div class="title-bar">
3
+ <h1 class="title-bar__text">Colors</h1>
4
+ </div>
5
+ <div class="panel panel--dashboard">
6
+ <div class="panel--dashboard__section panel--dashboard__section--primary">Primary</div>
7
+ <div class="panel--dashboard__section panel--dashboard__section--secondary">Secondary</div>
8
+ <div class="panel--dashboard__section panel--dashboard__section--accent">Accent</div>
9
+ <div class="panel--dashboard__section panel--dashboard__section--alert">Alert</div>
10
+ <div class="panel--dashboard__section panel--dashboard__section--success">Success</div>
11
+ <div class="panel--dashboard__section panel--dashboard__section--warning">Warning</div>
12
+ <div class="panel--dashboard__section panel--dashboard__section--secure">Secure</div>
13
+
14
+ <!-- TODO: Fix inverted button -->
15
+ <div class="panel--dashboard__section panel--dashboard__section">Inverted</div>
16
+ </div>
17
+ </section>
18
+ <section>
19
+ <div class="title-bar">
20
+ <h1 class="title-bar__text">Headers</h1>
21
+ </div>
22
+ <p>
23
+ <h1>h1 Hello, World</h1>
24
+ <h2>h2 Hello, World</h2>
25
+ <h3>h3 Hello, World</h3>
26
+ <h4>h4 Hello, World</h4>
27
+ <h5>h5 Hello, World</h5>
28
+ <h6>h6 Hello, World</h6>
29
+ </p>
30
+ </section>
31
+ <section>
32
+ <div class="title-bar">
33
+ <h1 class="title-bar__text">Type Selectors</h1>
34
+ </div>
35
+ <p>Paragraphs - Nulla mollis nisl sed diam fermentum malesuada. Suspendisse commodo rhoncus ligula, eget commodo neque lacinia ac. Aliquam cursus id tortor nec efficitur. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc vel ornare nisi, at ornare libero. Aenean accumsan sodales massa sit amet ultricies. Vivamus condimentum vehicula magna, eget aliquam ex hendrerit nec. Aenean congue ex orci, imperdiet ultricies justo cursus sed. Phasellus congue nulla et pharetra elementum. Nam sapien ex, pulvinar tempus eros maximus, pulvinar commodo erat. Sed id ipsum elit. Sed auctor turpis eget elit viverra egestas non in massa.</p>
36
+ <p>Paragraphs - Nulla mollis nisl sed diam fermentum malesuada. Suspendisse commodo rhoncus ligula, eget commodo neque lacinia ac. Aliquam cursus id tortor nec efficitur. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc vel ornare nisi, at ornare libero. Aenean accumsan sodales massa sit amet ultricies. Vivamus condimentum vehicula magna, eget aliquam ex hendrerit nec. Aenean congue ex orci, imperdiet ultricies justo cursus sed. Phasellus congue nulla et pharetra elementum. Nam sapien ex, pulvinar tempus eros maximus, pulvinar commodo erat. Sed id ipsum elit. Sed auctor turpis eget elit viverra egestas non in massa.</p>
37
+ <p>
38
+ <b>Bold Text</b>
39
+ </p>
40
+ <p>
41
+ <strong>Strong Text</strong>
42
+ </p>
43
+ <p>
44
+ <i>Italic Text</i>
45
+ </p>
46
+ <p>
47
+ <em>Emphasized Text</em>
48
+ </p>
49
+ <p>
50
+ <u>Underlined Text</u>
51
+ </p>
52
+ <p>
53
+ <strike>Strikethrough text</strike>
54
+ </p>
55
+ <p>
56
+ This is an example of
57
+ <sup>Superscript text</sup>
58
+ </p>
59
+ <p>
60
+ This is an example of
61
+ <sub>Subscript text</sub>
62
+ </p>
63
+ <p>
64
+ This is
65
+ <small>small text</small>
66
+ </p>
67
+ <p>
68
+ <abbr title="Abbreviation">abbr</abbr>
69
+ is an abbreviation
70
+ </p>
71
+ <p>
72
+ To submit a form, press the key labeled
73
+ <kbd>enter</kbd>
74
+ </p>
75
+ <p>
76
+ <q cite="http://example.com">Quoted text</q>
77
+ </p>
78
+ <p>
79
+ <blockquote>
80
+ <p>Blockquote - Nunc mi urna, sodales eu varius tincidunt, gravida id nisl. Vestibulum at enim in tortor consectetur sagittis vitae nec tellus. Integer a gravida felis. Suspendisse pharetra elementum enim. Phasellus urna eros, accumsan at ante ut, sollicitudin sodales neque. Proin egestas vitae dui eget scelerisque. Nulla feugiat ex at erat porta, ac porttitor turpis sagittis.</p>
81
+ <cite>
82
+ <a>William Shatner</a>
83
+ </cite>
84
+ </blockquote>
85
+ </p>
86
+ <p>
87
+ <dfn>The definition</dfn>
88
+ is the word being defined
89
+ </p>
90
+ <p>
91
+ <mark>Mark text</mark>
92
+ </p>
93
+ <p>
94
+ <samp>Sample Text</samp>
95
+ </p>
96
+ <p>
97
+ var =
98
+ <var>x</var>
99
+ </p>
100
+ <p>
101
+ <time>20:00</time>
102
+ <time datetime="2001-05-15 19:00">May 15</time>
103
+ </p>
104
+ </section>
105
+ <section>
106
+ <div class="title-bar">
107
+ <h1 class="title-bar__text">Unordered Lists</h1>
108
+ </div>
109
+ <ul class="ul">
110
+ <li>
111
+ Proin vitae euismod urna. Praesent.
112
+ <ul class="ul">
113
+ <li>
114
+ Aliquam condimentum dui sed dui aliquam, fringilla iaculis.
115
+ </li>
116
+ <li>
117
+ Suspendisse blandit diam eu turpis.
118
+ <ul class="ul">
119
+ <li>
120
+ Aliquam condimentum dui sed dui aliquam, fringilla iaculis.
121
+ </li>
122
+ <li>
123
+ Suspendisse blandit diam eu turpis.
124
+ </li>
125
+ </ul>
126
+ </li>
127
+ </ul>
128
+ </li>
129
+ <% 3.times do %>
130
+ <li>Curabitur semper purus erat, non.</li>
131
+ <% end %>
132
+ </ul>
133
+ </section>
134
+ <section>
135
+ <div class="title-bar">
136
+ <h1 class="title-bar__text">Ordered Lists</h1>
137
+ </div>
138
+ <ol class="ol">
139
+ <li>
140
+ Proin vitae euismod urna. Praesent.
141
+ <ol class="ol">
142
+ <li>
143
+ Aliquam condimentum dui sed dui aliquam, fringilla iaculis.
144
+ </li>
145
+ <li>
146
+ Suspendisse blandit diam eu turpis.
147
+ </li>
148
+ </ol>
149
+ </li>
150
+ <% 3.times do %>
151
+ <li>Curabitur semper purus erat, non.</li>
152
+ <% end %>
153
+ </ol>
154
+ </section>
155
+ <section>
156
+ <div class="title-bar">
157
+ <h1 class="title-bar__text">Definition Lists</h1>
158
+ </div>
159
+ <dl class="dl">
160
+ <dt>This is a definition title</dt>
161
+ <dd>This is a definition about the definition title</dd>
162
+ </dl>
163
+ </section>
164
+ <section>
165
+ <div class="title-bar">
166
+ <h1 class="title-bar__text">List</h1>
167
+ </div>
168
+ <ul class="ul list">
169
+ <% 3.times do %>
170
+ <li class="list__item">Curabitur semper purus erat, non.</li>
171
+ <% end %>
172
+ </ul>
173
+ </section>
174
+ <section>
175
+ <div class="title-bar">
176
+ <h1 class="title-bar__text">List Horizontal</h1>
177
+ </div>
178
+ <ul class="ul list">
179
+ <% 3.times do %>
180
+ <li class="list__item list__item--horizontal">Curabitur semper purus erat, non.</li>
181
+ <% end %>
182
+ </ul>
183
+ </section>
184
+ <section>
185
+ <div class="title-bar">
186
+ <h1 class="title-bar__text">Nav</h1>
187
+ </div>
188
+ <nav>
189
+ <ul class="ul nav">
190
+ <% 3.times do %>
191
+ <li class="nav__item">
192
+ <a class="nav__link">Curabitur</a>
193
+ </li>
194
+ <% end %>
195
+ </ul>
196
+ </nav>
197
+ </section>
198
+ <section>
199
+ <div class="title-bar">
200
+ <h1 class="title-bar__text">Nav Horizontal</h1>
201
+ </div>
202
+ <nav>
203
+ <ul class="ul nav">
204
+ <% 3.times do %>
205
+ <li class="nav__item--horizontal">
206
+ <a class="nav__link">Curabitur</a>
207
+ </li>
208
+ <% end %>
209
+ </ul>
210
+ </nav>
211
+ </section>
212
+ <section>
213
+ <div class="title-bar">
214
+ <h1 class="title-bar__text">Links</h1>
215
+ </div>
216
+ <p>
217
+ <a class="link" href="#">Default Link</a>
218
+ <a class="link link--primary" href="#">Primary Link</a>
219
+ <a class="link link--secondary" href="#">Secondary Link</a>
220
+ <a class="link link--alert" href="#">Alert Link</a>
221
+ <a class="link link--success" href="#">Success Link</a>
222
+ <a class="link link--warning" href="#">Warning Link</a>
223
+ <a class="link link--secure" href="#">Secure Link</a>
224
+ </p>
225
+ <p>
226
+ Nunc a dui vitae odio condimentum dignissim.
227
+ <a class="link" href="#">Nunc vel urna</a>
228
+ non nibh commodo vehicula at laoreet sem. Donec nisi purus,
229
+ <a class="link link--warning" href="#">hendrerit eget eleifend</a>
230
+ vitae, mollis at justo. Nullam non sollicitudin diam, nec porta erat. Aliquam eget laoreet nisi.
231
+ <a class="link link--primary" href="#">Sed orci ante</a>
232
+ facilisis quis ornare a,
233
+ <a class="link link--alert" href="#">iaculis ac enim</a>
234
+ fermentum nulla et sollicitudin viverra. Duis vulputate,
235
+ <a class="link link--secure" href="#">dolor quis porttitor</a>
236
+ feugiat, odio urna semper odio, eu dictum magna
237
+ <a class="link link--success" href="#">lacus sit</a>
238
+ amet arcu.
239
+ <a class="link link--secondary" href="#">Curabitur hendrerit nunc</a>
240
+ id est laoreet, ut venenatis eros iaculis. Etiam placerat porttitor nisi id tristique. Interdum et malesuada fames ac ante ipsum primis in faucibus. In non dui in mi malesuada cursus. Nam sit amet ex risus. Sed in leo eleifend, suscipit augue sed, pretium libero.
241
+ </p>
242
+ </section>
243
+ <section>
244
+ <div class="title-bar">
245
+ <h1 class="title-bar__text">Buttons</h1>
246
+ </div>
247
+ <p>
248
+ <button class="button">Default Button</button>
249
+ <button class="button button--primary">Primary Button</button>
250
+ <button class="button button--secondary">Secondary Button</button>
251
+ <button class="button button--alert">Alert Button</button>
252
+ <button class="button button--success">Success Button</button>
253
+ <button class="button button--warning">Warning Button</button>
254
+ <button class="button button--secure">Secure Button</button>
255
+ </p>
256
+ <p>
257
+ <button class="button">Default Button</button>
258
+ <button class="button button--primary">Primary Button</button>
259
+ <button class="button button--secondary">Secondary Button</button>
260
+ <button class="button button--alert">Alert Button</button>
261
+ <button class="button button--success">Success Button</button>
262
+ <button class="button button--warning">Warning Button</button>
263
+ <button class="button button--secure">Secure Button</button>
264
+ </p>
265
+ <p>
266
+ <button class="button button--inverted">Default Button</button>
267
+ <button class="button button--primary--inverted">Primary Button</button>
268
+ <button class="button button--secondary--inverted">Secondary Button</button>
269
+ <button class="button button--alert--inverted">Alert Button</button>
270
+ <button class="button button--success--inverted">Success Button</button>
271
+ <button class="button button--warning--inverted">Warning Button</button>
272
+ <button class="button button--secure--inverted">Secure Button</button>
273
+ </p>
274
+ <p>
275
+ <button class="button button--inverted">Default Button</button>
276
+ <button class="button button--primary--inverted">Primary Button</button>
277
+ <button class="button button--secondary--inverted">Secondary Button</button>
278
+ <button class="button button--alert--inverted">Alert Button</button>
279
+ <button class="button button--success--inverted">Success Button</button>
280
+ <button class="button button--warning--inverted">Warning Button</button>
281
+ <button class="button button--secure--inverted">Secure Button</button>
282
+ </p>
283
+ <p>
284
+ <button class="button button--small">Small Button</button>
285
+ <button class="button button-medium">Default/Medium Button</button>
286
+ <button class="button button--large">Large Button</button>
287
+ </p>
288
+ </section>
289
+ <section>
290
+ <div class="title-bar">
291
+ <h1 class="title-bar__text">Checkboxes</h1>
292
+ </div>
293
+ <ul class="ul list list--unstyled">
294
+ <li class="list__item list__item--form">
295
+ <label class="label" for="check1">All Ideas (68)</label>
296
+ <input class="boolean" id="check1" type="checkbox"></input>
297
+ </li>
298
+ <li class="list__item list__item--form">
299
+ <label class="label" for="check2">Completed (25)</label>
300
+ <input class="boolean" id="check2" type="checkbox"></input>
301
+ </li>
302
+ <li class="list__item list__item--form">
303
+ <label class="label" for="check3">In Progress (35)</label>
304
+ <input class="boolean" id="check3" type="checkbox"></input>
305
+ </li>
306
+ <li class="list__item list__item--form">
307
+ <label class="label" for="check4">Planned (7)</label>
308
+ <input class="boolean" id="check4" type="checkbox"></input>
309
+ </li>
310
+ <li class="list__item list__item--form">
311
+ <label class="label" for="check5">Under Consideration (1)</label>
312
+ <input class="boolean" id="check5" type="checkbox"></input>
313
+ </li>
314
+ </ul>
315
+ </section>
316
+ <section>
317
+ <div class="title-bar">
318
+ <h1 class="title-bar__text">Radio Buttons</h1>
319
+ </div>
320
+ <ul class="ul list list--unstyled">
321
+ <li class="list__item list__item--form">
322
+ <label class="label" for="filtercheck1">All Ideas (68)</label>
323
+ <input class="radio" id="filtercheck1" name="radio-example" type="radio"></input>
324
+ </li>
325
+ <li class="list__item list__item--form">
326
+ <label class="label" for="filtercheck2">Completed (25)</label>
327
+ <input class="radio" id="filtercheck2" name="radio-example" type="radio"></input>
328
+ </li>
329
+ <li class="list__item list__item--form">
330
+ <label class="label" for="filtercheck3">In Progress (35)</label>
331
+ <input class="radio" id="filtercheck3" name="radio-example" type="radio"></input>
332
+ </li>
333
+ <li class="list__item list__item--form">
334
+ <label class="label" for="filtercheck4">Planned (7)</label>
335
+ <input class="radio" id="filtercheck4" name="radio-example" type="radio"></input>
336
+ </li>
337
+ <li class="list__item list__item--form">
338
+ <label class="label" for="filtercheck5">Under Consideration (1)</label>
339
+ <input class="radio" id="filtercheck5" name="radio-example" type="radio"></input>
340
+ </li>
341
+ </ul>
342
+ </section>
343
+ <section>
344
+ <div class="title-bar">
345
+ <h1 class="title-bar__text">Inputs</h1>
346
+ </div>
347
+ <form>
348
+ <p>
349
+ <label class="label" for="text-input">Text Input</label>
350
+ <input class="input" id="text-input" placeholder="Text Input" type="text"></input>
351
+ </p>
352
+ <p>
353
+ <label class="label" for="email-input">Email Input</label>
354
+ <input class="input" id="email-input" placeholder="Email Input" type="email"></input>
355
+ </p>
356
+ <p>
357
+ <label class="label" for="password-input">Password Input</label>
358
+ <input class="input" id="password-input" placeholder="Password Input" type="password"></input>
359
+ </p>
360
+ <p>
361
+ <label class="label" for="tel-input">Telephone Input</label>
362
+ <input class="input" id="tel-input" placeholder="+1 (123) 456-7890" type="tel"></input>
363
+ </p>
364
+ <p>
365
+ <label class="label" for="search-input">Search Input</label>
366
+ <input class="input input--search" id="search-input" placeholder="search" type="search"></input>
367
+ </p>
368
+ <p>
369
+ <label class="label" for="url-input">URL Input</label>
370
+ <input class="input" id="url-input" placeholder="http://example.com" type="url"></input>
371
+ </p>
372
+ <p>
373
+ <label class="label" for="date-input">Date Input</label>
374
+ <input class="input" id="date-input" placeholder="1/15/19" type="date"></input>
375
+ </p>
376
+ <p>
377
+ <label class="label" for="file-input">File Input</label>
378
+ <input class="input" id="file-input" type="file"></input>
379
+ </p>
380
+ <p>
381
+ <label class="label" for="number-input">Number Input</label>
382
+ <input class="input" id="number-input" placeholder="123" type="number"></input>
383
+ </p>
384
+ <p>
385
+ <label class="label" for="range-input">Range Input</label>
386
+ <input class="input input--range" id="range-input" type="range"></input>
387
+ (ONLY WORKS IN WEBKIT AT THE MOMENT)
388
+ </p>
389
+ <p>
390
+ <label class="label">Text Area</label>
391
+ <textarea class="textarea" placeholder="Text Area"></textarea>
392
+ </p>
393
+ <p>
394
+ <label class="label">Select</label>
395
+ <select class="select">
396
+ <option>Select Input</option>
397
+ <option>Select Option</option>
398
+ </select>
399
+ </p>
400
+ <p>
401
+ <input class="button" type="submit" value="Submit your post"></input>
402
+ </p>
403
+ </form>
404
+ </section>
405
+ <section>
406
+ <div class="title-bar">
407
+ <h1 class="title-bar__text">Input Statuses</h1>
408
+ </div>
409
+ <form>
410
+ <p>
411
+ <label class="label error" for="input-error">Text Input Error</label>
412
+ <input class="input input--error" id="input-error" placeholder="Text Input Error" type="text"></input>
413
+ </p>
414
+ <p>
415
+ <label class="label success">Text Input Success</label>
416
+ <input class="input input--success" placeholder="Text Input Success" type="text"></input>
417
+ </p>
418
+ <p>
419
+ <label class="label">Text Input Disabled</label>
420
+ <input class="input" placeholder="Text Input Disabled" type="text"></input>
421
+ </p>
422
+ </form>
423
+ </section>
424
+ <section>
425
+ <div class="filter-bar">
426
+ <div class="title-bar">
427
+ <h1 class="title-bar__text">Filters</h1>
428
+ </div>
429
+ <div class="filter">
430
+ <label class="filter__label" for="item_1">Part</label>
431
+ <div class="filter__wrapper filter__wrapper--select">
432
+ <select class="select filter__select">
433
+ <option>Option</option>
434
+ <option>Option two</option>
435
+ </select>
436
+ </div>
437
+ <input class="input filter__input" id="item_1" placeholder="Search" type="text"></input>
438
+ </div>
439
+ <div class="filter">
440
+ <label class="filter__label" for="item_6">Part</label>
441
+ <div class="filter__wrapper filter__wrapper--select">
442
+ <select class="select filter__select" id="item_6">
443
+ <option>Option</option>
444
+ <option>Option two</option>
445
+ </select>
446
+ </div>
447
+ </div>
448
+ <div class="filter">
449
+ <label class="filter__label" for="item_2">Storage</label>
450
+ <input class="input filter__input" id="item_2" placeholder="Part 123456" type="text"></input>
451
+ </div>
452
+ <div class="filter">
453
+ <label class="filter__label">Multi-select</label>
454
+ <input class="input input--checkbox filter__input filter__input--checkbox" id="item_3" type="checkbox"></input>
455
+ <label class="filter__wrapper filter__wrapper--checkbox" for="item_3">
456
+ Something
457
+ </label>
458
+ <input class="input input--checkbox filter__input filter__input--checkbox" id="item_4" type="checkbox"></input>
459
+ <label class="filter__wrapper filter__wrapper--checkbox" for="item_4">
460
+ Something
461
+ </label>
462
+ </div>
463
+ <div class="filter">
464
+ <label class="filter__label" for="item_5">Checkbox</label>
465
+ <input class="input input--checkbox filter__input filter__input--checkbox" id="item_5" type="checkbox"></input>
466
+ <label class="filter__wrapper filter__wrapper--checkbox" for="item_5"></label>
467
+ </div>
468
+ <div class="filter">
469
+ <input class="button" type="submit" value="Submit"></input>
470
+ </div>
471
+ </div>
472
+ </section>
473
+ <section>
474
+ <div class="title-bar">
475
+ <h1 class="title-bar__text">Search</h1>
476
+ </div>
477
+ <p>
478
+ <div class="search">
479
+ <input class="input input--search search__input" placeholder="Search" type="search"></input>
480
+ <button class="button search__button" type="submit">
481
+ <%= inline_svg "search.svg", class: "search__icon" %>
482
+ </button>
483
+ </div>
484
+ </p>
485
+ </section>
486
+ <section>
487
+ <div class="title-bar">
488
+ <h1 class="title-bar__text">Alerts</h1>
489
+ </div>
490
+ <p>
491
+ <div class="notifier">
492
+ <div class="notifier__content">
493
+ Notifier Bar Default
494
+ <a class="notifier__close">&times;</a>
495
+ </div>
496
+ </div>
497
+ <div class="notifier notifier--primary">
498
+ <div class="notifier__content">
499
+ Notifier Bar Primary
500
+ <a class="notifier__close">&times;</a>
501
+ </div>
502
+ </div>
503
+ <div class="notifier notifier--secondary">
504
+ <div class="notifier__content">
505
+ Notifier Bar Secondary
506
+ <a class="notifier__close">&times;</a>
507
+ </div>
508
+ </div>
509
+ <div class="notifier notifier--function">
510
+ <div class="notifier__content">
511
+ Notifier Bar Function
512
+ <a class="notifier__close">&times;</a>
513
+ </div>
514
+ </div>
515
+ <div class="notifier notifier--alert">
516
+ <div class="notifier__content">
517
+ Notifier Bar Alert
518
+ <a class="notifier__close">&times;</a>
519
+ </div>
520
+ </div>
521
+ <div class="notifier notifier--secure">
522
+ <div class="notifier__content">
523
+ Notifier Bar Secure
524
+ <a class="notifier__close">&times;</a>
525
+ </div>
526
+ </div>
527
+ <div class="notifier notifier--warning">
528
+ <div class="notifier__content">
529
+ Notifier Bar Warning
530
+ <a class="notifier__close">&times;</a>
531
+ </div>
532
+ </div>
533
+ <div class="notifier notifier--success">
534
+ <div class="notifier__content">
535
+ Notifier Bar Success
536
+ <a class="notifier__close">&times;</a>
537
+ </div>
538
+ </div>
539
+ </p>
540
+ </section>
541
+ <section>
542
+ <div class="title-bar">
543
+ <h1 class="title-bar__text">Panels</h1>
544
+ </div>
545
+ <div class="panel">
546
+ <h2>Panel Default</h2>
547
+ <p>Nunc a dui vitae odio condimentum dignissim. Nunc vel urna non nibh commodo vehicula at laoreet sem. Donec nisi purus, hendrerit eget eleifend vitae, mollis at justo. Nullam non sollicitudin diam, nec porta erat. Aliquam eget laoreet nisi. Sed orci ante, facilisis quis ornare a, iaculis ac enim. Donec fermentum nulla et sollicitudin viverra. Duis vulputate, dolor quis porttitor feugiat, odio urna semper odio, eu dictum magna lacus sit amet arcu. Curabitur hendrerit nunc id est laoreet, ut venenatis eros iaculis. Etiam placerat porttitor nisi id tristique. Interdum et malesuada fames ac ante ipsum primis in faucibus. In non dui in mi malesuada cursus. Nam sit amet ex risus. Sed in leo eleifend, suscipit augue sed, pretium libero.</p>
548
+ </div>
549
+ <div class="panel panel--primary">
550
+ <h2>Panel Primary</h2>
551
+ <p>Nunc a dui vitae odio condimentum dignissim. Nunc vel urna non nibh commodo vehicula at laoreet sem. Donec nisi purus, hendrerit eget eleifend vitae, mollis at justo. Nullam non sollicitudin diam, nec porta erat. Aliquam eget laoreet nisi. Sed orci ante, facilisis quis ornare a, iaculis ac enim. Donec fermentum nulla et sollicitudin viverra. Duis vulputate, dolor quis porttitor feugiat, odio urna semper odio, eu dictum magna lacus sit amet arcu. Curabitur hendrerit nunc id est laoreet, ut venenatis eros iaculis. Etiam placerat porttitor nisi id tristique. Interdum et malesuada fames ac ante ipsum primis in faucibus. In non dui in mi malesuada cursus. Nam sit amet ex risus. Sed in leo eleifend, suscipit augue sed, pretium libero.</p>
552
+ </div>
553
+ <div class="panel panel--secondary">
554
+ <h2>Panel Secondary</h2>
555
+ <p>Nunc a dui vitae odio condimentum dignissim. Nunc vel urna non nibh commodo vehicula at laoreet sem. Donec nisi purus, hendrerit eget eleifend vitae, mollis at justo. Nullam non sollicitudin diam, nec porta erat. Aliquam eget laoreet nisi. Sed orci ante, facilisis quis ornare a, iaculis ac enim. Donec fermentum nulla et sollicitudin viverra. Duis vulputate, dolor quis porttitor feugiat, odio urna semper odio, eu dictum magna lacus sit amet arcu. Curabitur hendrerit nunc id est laoreet, ut venenatis eros iaculis. Etiam placerat porttitor nisi id tristique. Interdum et malesuada fames ac ante ipsum primis in faucibus. In non dui in mi malesuada cursus. Nam sit amet ex risus. Sed in leo eleifend, suscipit augue sed, pretium libero.</p>
556
+ </div>
557
+ <div class="panel panel--function">
558
+ <h2>Panel Function</h2>
559
+ <p>Nunc a dui vitae odio condimentum dignissim. Nunc vel urna non nibh commodo vehicula at laoreet sem. Donec nisi purus, hendrerit eget eleifend vitae, mollis at justo. Nullam non sollicitudin diam, nec porta erat. Aliquam eget laoreet nisi. Sed orci ante, facilisis quis ornare a, iaculis ac enim. Donec fermentum nulla et sollicitudin viverra. Duis vulputate, dolor quis porttitor feugiat, odio urna semper odio, eu dictum magna lacus sit amet arcu. Curabitur hendrerit nunc id est laoreet, ut venenatis eros iaculis. Etiam placerat porttitor nisi id tristique. Interdum et malesuada fames ac ante ipsum primis in faucibus. In non dui in mi malesuada cursus. Nam sit amet ex risus. Sed in leo eleifend, suscipit augue sed, pretium libero.</p>
560
+ </div>
561
+ <div class="panel panel--alert">
562
+ <h2>Panel Alert</h2>
563
+ <p>Nunc a dui vitae odio condimentum dignissim. Nunc vel urna non nibh commodo vehicula at laoreet sem. Donec nisi purus, hendrerit eget eleifend vitae, mollis at justo. Nullam non sollicitudin diam, nec porta erat. Aliquam eget laoreet nisi. Sed orci ante, facilisis quis ornare a, iaculis ac enim. Donec fermentum nulla et sollicitudin viverra. Duis vulputate, dolor quis porttitor feugiat, odio urna semper odio, eu dictum magna lacus sit amet arcu. Curabitur hendrerit nunc id est laoreet, ut venenatis eros iaculis. Etiam placerat porttitor nisi id tristique. Interdum et malesuada fames ac ante ipsum primis in faucibus. In non dui in mi malesuada cursus. Nam sit amet ex risus. Sed in leo eleifend, suscipit augue sed, pretium libero.</p>
564
+ </div>
565
+ <div class="panel panel--secure">
566
+ <h2>Panel Secure</h2>
567
+ <p>Nunc a dui vitae odio condimentum dignissim. Nunc vel urna non nibh commodo vehicula at laoreet sem. Donec nisi purus, hendrerit eget eleifend vitae, mollis at justo. Nullam non sollicitudin diam, nec porta erat. Aliquam eget laoreet nisi. Sed orci ante, facilisis quis ornare a, iaculis ac enim. Donec fermentum nulla et sollicitudin viverra. Duis vulputate, dolor quis porttitor feugiat, odio urna semper odio, eu dictum magna lacus sit amet arcu. Curabitur hendrerit nunc id est laoreet, ut venenatis eros iaculis. Etiam placerat porttitor nisi id tristique. Interdum et malesuada fames ac ante ipsum primis in faucibus. In non dui in mi malesuada cursus. Nam sit amet ex risus. Sed in leo eleifend, suscipit augue sed, pretium libero.</p>
568
+ </div>
569
+ <div class="panel panel--warning">
570
+ <h2>Panel Warning</h2>
571
+ <p>Nunc a dui vitae odio condimentum dignissim. Nunc vel urna non nibh commodo vehicula at laoreet sem. Donec nisi purus, hendrerit eget eleifend vitae, mollis at justo. Nullam non sollicitudin diam, nec porta erat. Aliquam eget laoreet nisi. Sed orci ante, facilisis quis ornare a, iaculis ac enim. Donec fermentum nulla et sollicitudin viverra. Duis vulputate, dolor quis porttitor feugiat, odio urna semper odio, eu dictum magna lacus sit amet arcu. Curabitur hendrerit nunc id est laoreet, ut venenatis eros iaculis. Etiam placerat porttitor nisi id tristique. Interdum et malesuada fames ac ante ipsum primis in faucibus. In non dui in mi malesuada cursus. Nam sit amet ex risus. Sed in leo eleifend, suscipit augue sed, pretium libero.</p>
572
+ </div>
573
+ <div class="panel panel--success">
574
+ <h2>Panel Success</h2>
575
+ <p>Nunc a dui vitae odio condimentum dignissim. Nunc vel urna non nibh commodo vehicula at laoreet sem. Donec nisi purus, hendrerit eget eleifend vitae, mollis at justo. Nullam non sollicitudin diam, nec porta erat. Aliquam eget laoreet nisi. Sed orci ante, facilisis quis ornare a, iaculis ac enim. Donec fermentum nulla et sollicitudin viverra. Duis vulputate, dolor quis porttitor feugiat, odio urna semper odio, eu dictum magna lacus sit amet arcu. Curabitur hendrerit nunc id est laoreet, ut venenatis eros iaculis. Etiam placerat porttitor nisi id tristique. Interdum et malesuada fames ac ante ipsum primis in faucibus. In non dui in mi malesuada cursus. Nam sit amet ex risus. Sed in leo eleifend, suscipit augue sed, pretium libero.</p>
576
+ </div>
577
+ </section>
578
+ <section>
579
+ <div class="title-bar">
580
+ <h1 class="title-bar__text">Table</h1>
581
+ </div>
582
+ <table>
583
+ <thead>
584
+ <tr>
585
+ <th>Name</th>
586
+ <th>Position</th>
587
+ <th>Office</th>
588
+ <th>Age</th>
589
+ <th>Start date</th>
590
+ <th>Salary</th>
591
+ </tr>
592
+ </thead>
593
+ <tfoot>
594
+ <tr>
595
+ <th>Name</th>
596
+ <th>Position</th>
597
+ <th>Office</th>
598
+ <th>Age</th>
599
+ <th>Start date</th>
600
+ <th>Salary</th>
601
+ </tr>
602
+ </tfoot>
603
+ <tbody>
604
+ <tr>
605
+ <td>Tiger Nixon</td>
606
+ <td>System Architect</td>
607
+ <td>Edinburgh</td>
608
+ <td>61</td>
609
+ <td>2011/04/25</td>
610
+ <td>$320,800</td>
611
+ </tr>
612
+ <tr>
613
+ <td>Garrett Winters</td>
614
+ <td>Accountant</td>
615
+ <td>Tokyo</td>
616
+ <td>63</td>
617
+ <td>2011/07/25</td>
618
+ <td>$170,750</td>
619
+ </tr>
620
+ <tr>
621
+ <td>Ashton Cox</td>
622
+ <td>Junior Technical Author</td>
623
+ <td>San Francisco</td>
624
+ <td>66</td>
625
+ <td>2009/01/12</td>
626
+ <td>$86,000</td>
627
+ </tr>
628
+ <tr>
629
+ <td>Cedric Kelly</td>
630
+ <td>Senior Javascript Developer</td>
631
+ <td>Edinburgh</td>
632
+ <td>22</td>
633
+ <td>2012/03/29</td>
634
+ <td>$433,060</td>
635
+ </tr>
636
+ <tr>
637
+ <td>Airi Satou</td>
638
+ <td>Accountant</td>
639
+ <td>Tokyo</td>
640
+ <td>33</td>
641
+ <td>2008/11/28</td>
642
+ <td>$162,700</td>
643
+ </tr>
644
+ <tr>
645
+ <td>Bruno Nash</td>
646
+ <td>Software Engineer</td>
647
+ <td>London</td>
648
+ <td>38</td>
649
+ <td>2011/05/03</td>
650
+ <td>$163,500</td>
651
+ </tr>
652
+ <tr>
653
+ <td>Sakura Yamamoto</td>
654
+ <td>Support Engineer</td>
655
+ <td>Tokyo</td>
656
+ <td>37</td>
657
+ <td>2009/08/19</td>
658
+ <td>$139,575</td>
659
+ </tr>
660
+ <tr>
661
+ <td>Thor Walton</td>
662
+ <td>Developer</td>
663
+ <td>New York</td>
664
+ <td>61</td>
665
+ <td>2013/08/11</td>
666
+ <td>$98,540</td>
667
+ </tr>
668
+ <tr>
669
+ <td>Finn Camacho</td>
670
+ <td>Support Engineer</td>
671
+ <td>San Francisco</td>
672
+ <td>47</td>
673
+ <td>2009/07/07</td>
674
+ <td>$87,500</td>
675
+ </tr>
676
+ </tbody>
677
+ </table>
678
+ </section>
679
+ <section>
680
+ <div class="title-bar">
681
+ <h1 class="title-bar__text">Responsive Table</h1>
682
+ </div>
683
+ <table class="table--responsive">
684
+ <thead class="table--responsive__head">
685
+ <tr class="table--responsive__row">
686
+ <th class="table--responsive__cell">Name</th>
687
+ <th class="table--responsive__cell">Position</th>
688
+ <th class="table--responsive__cell">Office</th>
689
+ <th class="table--responsive__cell">Age</th>
690
+ <th class="table--responsive__cell">Start date</th>
691
+ <th class="table--responsive__cell">Salary</th>
692
+ </tr>
693
+ </thead>
694
+ <tfoot class="table--responsive__foot">
695
+ <tr class="table--responsive__row">
696
+ <th class="table--responsive__cell">Name</th>
697
+ <th class="table--responsive__cell">Position</th>
698
+ <th class="table--responsive__cell">Office</th>
699
+ <th class="table--responsive__cell">Age</th>
700
+ <th class="table--responsive__cell">Start date</th>
701
+ <th class="table--responsive__cell">Salary</th>
702
+ </tr>
703
+ </tfoot>
704
+ <tbody class="table--responsive__body">
705
+ <tr class="table--responsive__row">
706
+ <td class="table--responsive__cell">Tiger Nixon</td>
707
+ <td class="table--responsive__cell">System Architect</td>
708
+ <td class="table--responsive__cell">Edinburgh</td>
709
+ <td class="table--responsive__cell">61</td>
710
+ <td class="table--responsive__cell">2011/04/25</td>
711
+ <td class="table--responsive__cell">$320,800</td>
712
+ </tr>
713
+ <tr class="table--responsive__row">
714
+ <td class="table--responsive__cell">Garrett Winters</td>
715
+ <td class="table--responsive__cell">Accountant</td>
716
+ <td class="table--responsive__cell">Tokyo</td>
717
+ <td class="table--responsive__cell">63</td>
718
+ <td class="table--responsive__cell">2011/07/25</td>
719
+ <td class="table--responsive__cell">$170,750</td>
720
+ </tr>
721
+ <tr class="table--responsive__row">
722
+ <td class="table--responsive__cell">Ashton Cox</td>
723
+ <td class="table--responsive__cell">Junior Technical Author</td>
724
+ <td class="table--responsive__cell">San Francisco</td>
725
+ <td class="table--responsive__cell">66</td>
726
+ <td class="table--responsive__cell">2009/01/12</td>
727
+ <td class="table--responsive__cell">$86,000</td>
728
+ </tr>
729
+ <tr class="table--responsive__row">
730
+ <td class="table--responsive__cell">Cedric Kelly</td>
731
+ <td class="table--responsive__cell">Senior Javascript Developer</td>
732
+ <td class="table--responsive__cell">Edinburgh</td>
733
+ <td class="table--responsive__cell">22</td>
734
+ <td class="table--responsive__cell">2012/03/29</td>
735
+ <td class="table--responsive__cell">$433,060</td>
736
+ </tr>
737
+ <tr class="table--responsive__row">
738
+ <td class="table--responsive__cell">Airi Satou</td>
739
+ <td class="table--responsive__cell">Accountant</td>
740
+ <td class="table--responsive__cell">Tokyo</td>
741
+ <td class="table--responsive__cell">33</td>
742
+ <td class="table--responsive__cell">2008/11/28</td>
743
+ <td class="table--responsive__cell">$162,700</td>
744
+ </tr>
745
+ <tr class="table--responsive__row">
746
+ <td class="table--responsive__cell">Bruno Nash</td>
747
+ <td class="table--responsive__cell">Software Engineer</td>
748
+ <td class="table--responsive__cell">London</td>
749
+ <td class="table--responsive__cell">38</td>
750
+ <td class="table--responsive__cell">2011/05/03</td>
751
+ <td class="table--responsive__cell">$163,500</td>
752
+ </tr>
753
+ <tr class="table--responsive__row">
754
+ <td class="table--responsive__cell">Sakura Yamamoto</td>
755
+ <td class="table--responsive__cell">Support Engineer</td>
756
+ <td class="table--responsive__cell">Tokyo</td>
757
+ <td class="table--responsive__cell">37</td>
758
+ <td class="table--responsive__cell">2009/08/19</td>
759
+ <td class="table--responsive__cell">$139,575</td>
760
+ </tr>
761
+ <tr class="table--responsive__row">
762
+ <td class="table--responsive__cell">Thor Walton</td>
763
+ <td class="table--responsive__cell">Developer</td>
764
+ <td class="table--responsive__cell">New York</td>
765
+ <td class="table--responsive__cell">61</td>
766
+ <td class="table--responsive__cell">2013/08/11</td>
767
+ <td class="table--responsive__cell">$98,540</td>
768
+ </tr>
769
+ <tr class="table--responsive__row">
770
+ <td class="table--responsive__cell">Finn Camacho</td>
771
+ <td class="table--responsive__cell">Support Engineer</td>
772
+ <td class="table--responsive__cell">San Francisco</td>
773
+ <td class="table--responsive__cell">47</td>
774
+ <td class="table--responsive__cell">2009/07/07</td>
775
+ <td class="table--responsive__cell">$87,500</td>
776
+ </tr>
777
+ </tbody>
778
+ </table>
779
+ </section>