xplore 0.0.1.alpha

Sign up to get free protection for your applications and to get access to all the features.
Files changed (608) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +27 -0
  3. data/Gemfile.lock +211 -0
  4. data/MIT-LICENSE +20 -0
  5. data/Rakefile +36 -0
  6. data/app/assets/images/rails_db/data_table.png +0 -0
  7. data/app/assets/images/rails_db/data_table_code.png +0 -0
  8. data/app/assets/images/rails_db/logo.png +0 -0
  9. data/app/assets/images/rails_db/logo_mini.png +0 -0
  10. data/app/assets/images/rails_db/logo_mini_2.png +0 -0
  11. data/app/assets/images/rails_db/railsdb.png +0 -0
  12. data/app/assets/images/rails_db/runsql.png +0 -0
  13. data/app/assets/javascripts/rails_db/application.js +95 -0
  14. data/app/assets/javascripts/rails_db/foundation.min.js +20 -0
  15. data/app/assets/javascripts/rails_db/jquery.cookie.js +114 -0
  16. data/app/assets/javascripts/rails_db/jquery.js +26 -0
  17. data/app/assets/javascripts/rails_db/rails-ujs.js +685 -0
  18. data/app/assets/javascripts/rails_db/search.js +19 -0
  19. data/app/assets/javascripts/rails_db/show_hide_columns.js +54 -0
  20. data/app/assets/javascripts/rails_db/sticky.js +44 -0
  21. data/app/assets/stylesheets/rails_db/app.css +90 -0
  22. data/app/assets/stylesheets/rails_db/application.css +13 -0
  23. data/app/assets/stylesheets/rails_db/forms.css +9 -0
  24. data/app/assets/stylesheets/rails_db/foundation.css +6579 -0
  25. data/app/assets/stylesheets/rails_db/foundation.min.css +1 -0
  26. data/app/assets/stylesheets/rails_db/foundation_and_overrides.css +8 -0
  27. data/app/assets/stylesheets/rails_db/normalize.css +424 -0
  28. data/app/assets/stylesheets/rails_db/pagination.css +17 -0
  29. data/app/assets/stylesheets/rails_db/search.css +7 -0
  30. data/app/assets/stylesheets/rails_db/sidebar.css +22 -0
  31. data/app/assets/stylesheets/rails_db/table.css +12 -0
  32. data/app/controllers/rails_db/application_controller.rb +26 -0
  33. data/app/controllers/rails_db/dashboard_controller.rb +8 -0
  34. data/app/controllers/rails_db/sql_controller.rb +42 -0
  35. data/app/controllers/rails_db/tables_controller.rb +108 -0
  36. data/app/helpers/rails_db/application_helper.rb +82 -0
  37. data/app/helpers/rails_db/flash_messages_helper.rb +44 -0
  38. data/app/helpers/rails_db/rails_db_data_table_helper.rb +74 -0
  39. data/app/helpers/rails_db/tables_helper.rb +60 -0
  40. data/app/views/layouts/rails_db/application.html.erb +32 -0
  41. data/app/views/rails_db/dashboard/data_table.html.erb +19 -0
  42. data/app/views/rails_db/dashboard/index.html.erb +37 -0
  43. data/app/views/rails_db/dashboard/standalone.html.erb +19 -0
  44. data/app/views/rails_db/shared/_data_table.html.erb +32 -0
  45. data/app/views/rails_db/shared/_exp_col.html.erb +2 -0
  46. data/app/views/rails_db/shared/_footer.html.erb +57 -0
  47. data/app/views/rails_db/shared/_gems.html.erb +15 -0
  48. data/app/views/rails_db/shared/_header.html.erb +55 -0
  49. data/app/views/rails_db/shared/_sidebar.html.erb +14 -0
  50. data/app/views/rails_db/shared/_sql_result.html.erb +31 -0
  51. data/app/views/rails_db/sql/_explain.html.erb +10 -0
  52. data/app/views/rails_db/sql/_history.html.erb +17 -0
  53. data/app/views/rails_db/sql/_import_sample.html.erb +19 -0
  54. data/app/views/rails_db/sql/_results.html.erb +52 -0
  55. data/app/views/rails_db/sql/import.html.erb +33 -0
  56. data/app/views/rails_db/sql/index.html.erb +61 -0
  57. data/app/views/rails_db/sql/xls.xls.axlsx +9 -0
  58. data/app/views/rails_db/tables/_condition_fields.html.erb +10 -0
  59. data/app/views/rails_db/tables/_data.html.erb +127 -0
  60. data/app/views/rails_db/tables/_edit.html.erb +26 -0
  61. data/app/views/rails_db/tables/_new.html.erb +17 -0
  62. data/app/views/rails_db/tables/_row.html.erb +15 -0
  63. data/app/views/rails_db/tables/_search.html.erb +78 -0
  64. data/app/views/rails_db/tables/_show.html.erb +101 -0
  65. data/app/views/rails_db/tables/_sql.html.erb +7 -0
  66. data/app/views/rails_db/tables/create.js.erb +9 -0
  67. data/app/views/rails_db/tables/data.html.erb +1 -0
  68. data/app/views/rails_db/tables/data.js.erb +14 -0
  69. data/app/views/rails_db/tables/destroy.js.erb +5 -0
  70. data/app/views/rails_db/tables/edit.js.erb +7 -0
  71. data/app/views/rails_db/tables/index.html.erb +17 -0
  72. data/app/views/rails_db/tables/new.js.erb +7 -0
  73. data/app/views/rails_db/tables/show.html.erb +1 -0
  74. data/app/views/rails_db/tables/show.js.erb +14 -0
  75. data/app/views/rails_db/tables/table.xls.axlsx +9 -0
  76. data/app/views/rails_db/tables/update.js.erb +3 -0
  77. data/bin/railsdb +3 -0
  78. data/bin/runsql +49 -0
  79. data/bin/xplore +3 -0
  80. data/config/database.travis.yml +31 -0
  81. data/config/initializers/mime_types.rb +1 -0
  82. data/config/initializers/simple_form.rb +168 -0
  83. data/config/initializers/will_paginate_fix.rb +15 -0
  84. data/config/locales/simple_form.en.yml +31 -0
  85. data/config/routes.rb +32 -0
  86. data/lib/ext/ransack_ext.rb +26 -0
  87. data/lib/ext/simple_form_ext.rb +1 -0
  88. data/lib/ext/string_ext.rb +10 -0
  89. data/lib/generators/USAGE +8 -0
  90. data/lib/generators/templates/xplore.rb +27 -0
  91. data/lib/generators/xplore_generator.rb +6 -0
  92. data/lib/libs.rb +24 -0
  93. data/lib/rails/routes.rb +7 -0
  94. data/lib/rails_db.rb +66 -0
  95. data/lib/rails_db/adapters/base_adapter.rb +74 -0
  96. data/lib/rails_db/adapters/mysql.rb +31 -0
  97. data/lib/rails_db/adapters/postgres.rb +17 -0
  98. data/lib/rails_db/adapters/sqlite.rb +23 -0
  99. data/lib/rails_db/blank_results.rb +8 -0
  100. data/lib/rails_db/connection.rb +25 -0
  101. data/lib/rails_db/database.rb +46 -0
  102. data/lib/rails_db/engine.rb +17 -0
  103. data/lib/rails_db/history.rb +29 -0
  104. data/lib/rails_db/mysql_result.rb +18 -0
  105. data/lib/rails_db/rails_db_error.rb +5 -0
  106. data/lib/rails_db/result.rb +19 -0
  107. data/lib/rails_db/sql_explain.rb +9 -0
  108. data/lib/rails_db/sql_import.rb +26 -0
  109. data/lib/rails_db/sql_query.rb +43 -0
  110. data/lib/rails_db/sql_query_data.rb +36 -0
  111. data/lib/rails_db/table.rb +74 -0
  112. data/lib/rails_db/table_data.rb +78 -0
  113. data/lib/rails_db/table_pagination.rb +30 -0
  114. data/lib/rails_db/version.rb +10 -0
  115. data/lib/standalone.rb +50 -0
  116. data/lib/tasks/rails_db_tasks.rake +4 -0
  117. data/lib/templates/erb/scaffold/_form.html.erb +13 -0
  118. data/lib/xplore.rb +9 -0
  119. data/test/dashboard_controller_test.rb +101 -0
  120. data/test/database_test.rb +20 -0
  121. data/test/dummy/README.rdoc +28 -0
  122. data/test/dummy/Rakefile +6 -0
  123. data/test/dummy/app/assets/fonts/glyphicons-halflings-regular.eot +0 -0
  124. data/test/dummy/app/assets/fonts/glyphicons-halflings-regular.svg +288 -0
  125. data/test/dummy/app/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
  126. data/test/dummy/app/assets/fonts/glyphicons-halflings-regular.woff +0 -0
  127. data/test/dummy/app/assets/fonts/glyphicons-halflings-regular.woff2 +0 -0
  128. data/test/dummy/app/assets/javascripts/application.js +13 -0
  129. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  130. data/test/dummy/app/assets/stylesheets/bootstrap-theme.min.css +5 -0
  131. data/test/dummy/app/assets/stylesheets/bootstrap.min.css +5 -0
  132. data/test/dummy/app/controllers/application_controller.rb +5 -0
  133. data/test/dummy/app/controllers/home_controller.rb +7 -0
  134. data/test/dummy/app/helpers/application_helper.rb +2 -0
  135. data/test/dummy/app/models/account.rb +19 -0
  136. data/test/dummy/app/models/comment.rb +14 -0
  137. data/test/dummy/app/models/contact.rb +15 -0
  138. data/test/dummy/app/models/customer.rb +3 -0
  139. data/test/dummy/app/models/legacy_account.rb +2 -0
  140. data/test/dummy/app/models/payment.rb +2 -0
  141. data/test/dummy/app/models/populate.rb +43 -0
  142. data/test/dummy/app/models/project.rb +3 -0
  143. data/test/dummy/app/models/user.rb +20 -0
  144. data/test/dummy/app/views/home/index.html.erb +26 -0
  145. data/test/dummy/app/views/layouts/application.html.erb +15 -0
  146. data/test/dummy/bin/bundle +3 -0
  147. data/test/dummy/bin/rails +4 -0
  148. data/test/dummy/bin/rake +4 -0
  149. data/test/dummy/bin/setup +29 -0
  150. data/test/dummy/config.ru +4 -0
  151. data/test/dummy/config/application.rb +32 -0
  152. data/test/dummy/config/boot.rb +5 -0
  153. data/test/dummy/config/database.yml +33 -0
  154. data/test/dummy/config/environment.rb +5 -0
  155. data/test/dummy/config/environments/development.rb +51 -0
  156. data/test/dummy/config/environments/production.rb +87 -0
  157. data/test/dummy/config/environments/test.rb +53 -0
  158. data/test/dummy/config/initializers/assets.rb +11 -0
  159. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  160. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  161. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  162. data/test/dummy/config/initializers/inflections.rb +16 -0
  163. data/test/dummy/config/initializers/mime_types.rb +7 -0
  164. data/test/dummy/config/initializers/rails_db.rb +23 -0
  165. data/test/dummy/config/initializers/session_store.rb +3 -0
  166. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  167. data/test/dummy/config/locales/en.yml +23 -0
  168. data/test/dummy/config/routes.rb +17 -0
  169. data/test/dummy/config/secrets.yml +22 -0
  170. data/test/dummy/db/migrate/20151013203739_create_users.rb +18 -0
  171. data/test/dummy/db/migrate/20151013203757_create_comments.rb +10 -0
  172. data/test/dummy/db/migrate/20151013204027_populate_data.rb +13 -0
  173. data/test/dummy/db/migrate/20151014074454_create_accounts.rb +14 -0
  174. data/test/dummy/db/migrate/20151014074655_create_contacts.rb +13 -0
  175. data/test/dummy/db/migrate/20151014152932_add_bd.rb +9 -0
  176. data/test/dummy/db/migrate/20151014183823_create_projects.rb +17 -0
  177. data/test/dummy/db/migrate/20151014184243_add_long_text.rb +7 -0
  178. data/test/dummy/db/migrate/20151015145740_populate_db.rb +4 -0
  179. data/test/dummy/db/migrate/20151027192250_create_payments.rb +14 -0
  180. data/test/dummy/db/migrate/20151027223149_add_non_pk_table.rb +10 -0
  181. data/test/dummy/db/migrate/20151028191429_create_legacy_accounts.rb +7 -0
  182. data/test/dummy/db/migrate/20151121125538_add_boolean_field_to_user.rb +5 -0
  183. data/test/dummy/db/migrate/20170126124628_add_sti_model.rb +5 -0
  184. data/test/dummy/db/migrate/20180528134358_add_deleted_at_to_projects.rb +6 -0
  185. data/test/dummy/db/rails_db.sqlite3 +0 -0
  186. data/test/dummy/db/schema.rb +121 -0
  187. data/test/dummy/log/development.log +0 -0
  188. data/test/dummy/log/test.log +3217 -0
  189. data/test/dummy/public/404.html +67 -0
  190. data/test/dummy/public/422.html +67 -0
  191. data/test/dummy/public/500.html +66 -0
  192. data/test/dummy/public/favicon.ico +0 -0
  193. data/test/dummy/test/fixtures/accounts.yml +20 -0
  194. data/test/dummy/test/fixtures/comments.yml +20 -0
  195. data/test/dummy/test/fixtures/contacts.yml +23 -0
  196. data/test/dummy/test/fixtures/legacy_accounts.yml +9 -0
  197. data/test/dummy/test/fixtures/projects.yml +7 -0
  198. data/test/dummy/test/fixtures/users.yml +28 -0
  199. data/test/dummy/test/models/account_test.rb +18 -0
  200. data/test/dummy/test/models/comment_test.rb +18 -0
  201. data/test/dummy/test/models/contact_test.rb +19 -0
  202. data/test/dummy/test/models/legacy_account_test.rb +7 -0
  203. data/test/dummy/test/models/project_test.rb +7 -0
  204. data/test/dummy/test/models/user_test.rb +22 -0
  205. data/test/dummy/tmp/cache/assets/sprockets/v3.0/-3/-3PeYlcvQFXiyc_qrrBOQXgz0wLtbDmJhBRJnvr1488.cache +1 -0
  206. data/test/dummy/tmp/cache/assets/sprockets/v3.0/-F/-FcfnnmNMM4wWUjPQEkWH8um5_y6p6emR1g4hU1R2qQ.cache +0 -0
  207. data/test/dummy/tmp/cache/assets/sprockets/v3.0/-L/-L3VO1gnEd_gJTuYiwODQ3rYRPun9kqMtacCrOsVY1c.cache +3 -0
  208. data/test/dummy/tmp/cache/assets/sprockets/v3.0/-j/-jtRJ5XDEWtMk8X44irP5ZNuzb2V9Or0ZboJ7-_niEs.cache +0 -0
  209. data/test/dummy/tmp/cache/assets/sprockets/v3.0/-w/-w3FuS_th1YUJCm-pH9jBNanNGuEuQXqUssG7amL8Ds.cache +0 -0
  210. data/test/dummy/tmp/cache/assets/sprockets/v3.0/0_/0_-cfL0H5qqH5RPA4PMbyibCJab23NM05CKOhjGR7EU.cache +3 -0
  211. data/test/dummy/tmp/cache/assets/sprockets/v3.0/0s/0s938iaOX2NBJ-elmk5V7j6XyYC7WxwS57x4aSiyH54.cache +0 -0
  212. data/test/dummy/tmp/cache/assets/sprockets/v3.0/15/15WJ0E1sGIfwx4EHMt7T_Mkmnizu-EFhk79REPKcUBk.cache +1 -0
  213. data/test/dummy/tmp/cache/assets/sprockets/v3.0/1Z/1ZSNTqpklIT68Laxy-YBLW8PUYhAFb1w42qJITlXD6E.cache +1 -0
  214. data/test/dummy/tmp/cache/assets/sprockets/v3.0/1d/1dw5JEHHhUR62NbtJtVAJUu_PYxV4zBC_acgIubq4lY.cache +1 -0
  215. data/test/dummy/tmp/cache/assets/sprockets/v3.0/1f/1fxmByaExPx_qyvAoeeJNTE1AIqhQ1uKJVfiBWkxDAs.cache +0 -0
  216. data/test/dummy/tmp/cache/assets/sprockets/v3.0/2A/2Ao98B9hXNr_MAoBE0bkFvOOtNc7dflJmlLEarn5wvA.cache +3 -0
  217. data/test/dummy/tmp/cache/assets/sprockets/v3.0/2c/2cjCUV2SoZNb4a7U-CVWPBsrSAT_805cWMBQqcDuR8U.cache +0 -0
  218. data/test/dummy/tmp/cache/assets/sprockets/v3.0/2e/2efJrR69SU_l8o1Sjk88tx-cTnS6oSEgnK1Fb0axRAs.cache +1 -0
  219. data/test/dummy/tmp/cache/assets/sprockets/v3.0/2w/2wGwWn9F7SrKCg39kjccWMXidHYY5u5xZ4Yt-mOfPqM.cache +0 -0
  220. data/test/dummy/tmp/cache/assets/sprockets/v3.0/3C/3CqL5JcpBlWG869LrsDkT6c9tXhdGiZvKqNwbclgjSo.cache +0 -0
  221. data/test/dummy/tmp/cache/assets/sprockets/v3.0/3W/3Wd315ZKagJ6mOWl95T_zW22e6ACDNh8v-u_r2OP9PI.cache +1 -0
  222. data/test/dummy/tmp/cache/assets/sprockets/v3.0/3i/3i375XcAdQDkdyabScXo8biz06oNj-NoWYCtkM4FEs0.cache +3 -0
  223. data/test/dummy/tmp/cache/assets/sprockets/v3.0/3q/3qPGxuEfQW5R2bOSyG1RF6wvFVsB13tFvdPxZZR-8vk.cache +3 -0
  224. data/test/dummy/tmp/cache/assets/sprockets/v3.0/48/48KVVGHhZsPLWcZvWEw9bjwuowgfpvf-AysRqv5EpiU.cache +1 -0
  225. data/test/dummy/tmp/cache/assets/sprockets/v3.0/48/48SOLhFmb18qNdB780dOecxhOhEJA6w2a7UOIv82tmg.cache +0 -0
  226. data/test/dummy/tmp/cache/assets/sprockets/v3.0/48/48XPOucl5y6xUHclTqp0SyppN3gfeMSRgU9uFKHGn-o.cache +3 -0
  227. data/test/dummy/tmp/cache/assets/sprockets/v3.0/4C/4CTQ4VtxEw31gzicc5CHylnyd7nm0H42FF4oYxboXTo.cache +1 -0
  228. data/test/dummy/tmp/cache/assets/sprockets/v3.0/4a/4aS0J85DqrYD1wy4w459cMFZ2m3CUpgVKLGMzhCMRvM.cache +0 -0
  229. data/test/dummy/tmp/cache/assets/sprockets/v3.0/4d/4do9oKHJKVkyKuNF7XuU-6X_o0QeZQ_gOZKea8fGkto.cache +3 -0
  230. data/test/dummy/tmp/cache/assets/sprockets/v3.0/4m/4m6WqGGtzbJleNhmQJMseHmiOe74DdqItRtznvcLVPw.cache +1 -0
  231. data/test/dummy/tmp/cache/assets/sprockets/v3.0/4q/4qrR1dT_ELGScYJ2cqkziobDtLewgTl218LFziW6wX0.cache +1 -0
  232. data/test/dummy/tmp/cache/assets/sprockets/v3.0/52/52ou7nuAMyALVwK-XNEugfYrU5JzxmqQJu5HpPuFKRM.cache +0 -0
  233. data/test/dummy/tmp/cache/assets/sprockets/v3.0/5B/5B6lpKu9QoCoRSyrioV2lSVbuzbfPPQpMvXymy4Ra7M.cache +1 -0
  234. data/test/dummy/tmp/cache/assets/sprockets/v3.0/5B/5BKqk3njw3-YM9teLof7isqoNM0KYfD9g3_cm4GjkC8.cache +1 -0
  235. data/test/dummy/tmp/cache/assets/sprockets/v3.0/5L/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache +0 -0
  236. data/test/dummy/tmp/cache/assets/sprockets/v3.0/5T/5TT9-fuPGtt_-l3mShCXHO97l_X0x1J_IYpg3nIKtek.cache +1 -0
  237. data/test/dummy/tmp/cache/assets/sprockets/v3.0/5_/5_sVCQD_e-VCdkhi4b-BUT6Dud7KXDY-aSoFFgL6HzM.cache +2 -0
  238. data/test/dummy/tmp/cache/assets/sprockets/v3.0/5m/5mgadVKfhwNHEpj2aH1ibAHGwXFqlk_UulZqP9gXb2A.cache +1 -0
  239. data/test/dummy/tmp/cache/assets/sprockets/v3.0/6l/6luMGnRMcSYMPpRMuD5Reher3-5eAQvGrbNtUVVy7qY.cache +0 -0
  240. data/test/dummy/tmp/cache/assets/sprockets/v3.0/6y/6ypGLjzNSGxOEo38o6RIdyZdY3_Qk65bHqrwHNEi7UU.cache +3 -0
  241. data/test/dummy/tmp/cache/assets/sprockets/v3.0/81/81gCr-iB9-Kc5uGUwsgmphxJU75rCqLi4V46LmfI8hk.cache +3 -0
  242. data/test/dummy/tmp/cache/assets/sprockets/v3.0/8H/8HuSW0OkkqhOtCj4tgN3HZmt4647gNFmdzZz_kruXqI.cache +0 -0
  243. data/test/dummy/tmp/cache/assets/sprockets/v3.0/8J/8Jdu6ccMGQk1YXzWahOASmKq8_c044wcnuQGfVLJNIo.cache +1 -0
  244. data/test/dummy/tmp/cache/assets/sprockets/v3.0/8L/8LOYv3aMRUfxzj3PHgVWnGjLVtTnOtGJzbVT1uYvCgU.cache +0 -0
  245. data/test/dummy/tmp/cache/assets/sprockets/v3.0/93/93AT9J01EEg9wMy2kazqa2iYDgKLqLS6Aha2JvXZ6Ag.cache +1 -0
  246. data/test/dummy/tmp/cache/assets/sprockets/v3.0/95/95D29A-uZ3JE8q1AnmDTfJA_wYZDwFQqqwvdpVQSaDg.cache +0 -0
  247. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9E/9ENYoj-DyZwyP2xj1wjNmrQPYLG8MKu1vA6ltjlzBRA.cache +0 -0
  248. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9S/9SojMkkZhVJXWN3C8NLMxOlAcqkzoJztGIzD9beeX3k.cache +1 -0
  249. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9k/9kVCP__MMt4MmgysySWOrkI1q5kqoUO5mJ4YEuVetZ4.cache +1 -0
  250. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9k/9kfxuo-P7rNVrgP4myFBPSnZV--J2RN-1RpIkUmfBic.cache +1 -0
  251. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9l/9lPzFm4TCleQiA0-lgf98XHXLsITeI8cz4C-QY_xzf0.cache +1 -0
  252. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9o/9o1sXvhEXIQm7sqMwZiJJDY2EfesbCCa2tmgQxJJ1eg.cache +0 -0
  253. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9q/9qcda9dG-GWYSUonAOVBiAahGezzHyE3_5CZSc9v_eY.cache +0 -0
  254. data/test/dummy/tmp/cache/assets/sprockets/v3.0/AG/AGipCopt5nUbCGSffzEPpq__8plTIQxUdwacxoN-sIk.cache +0 -0
  255. data/test/dummy/tmp/cache/assets/sprockets/v3.0/AP/AP1aZyJJv_laGt-fcQaN2zOxDHihTya21MP8gLG00NU.cache +1 -0
  256. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ac/AcKUMe8rYEN-IVydH5TORJW7zGKbXDraafVORgJ4rbM.cache +0 -0
  257. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Aq/AqCxEqcGZVCBSxA9000eYZuhFy63R9oTWcubWiWOsso.cache +3 -0
  258. data/test/dummy/tmp/cache/assets/sprockets/v3.0/B5/B5aHApeQYF95u2bVxfgglRilRJ7OrXcZStXwVEx8DTk.cache +1 -0
  259. data/test/dummy/tmp/cache/assets/sprockets/v3.0/BC/BCTfd6_GQaUTfHdg2F97JpNNwCplKSVycEnha8X9qpY.cache +0 -0
  260. data/test/dummy/tmp/cache/assets/sprockets/v3.0/BK/BK7tt-FHQqVsq0daFrNI2rXpH0HghqH1xmFUkhS6R-M.cache +1 -0
  261. data/test/dummy/tmp/cache/assets/sprockets/v3.0/BQ/BQl702soe7dQfuOyeqsEshEOrbd2lKYMzmpspd0dMQs.cache +3 -0
  262. data/test/dummy/tmp/cache/assets/sprockets/v3.0/B_/B_SdfjQrsi-DnNG20ZPUZanDJkjHTvumDYxAhWhIbKM.cache +1 -0
  263. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Bi/Bif-qAEinocIsBM2dpprgHdDRhX7qgxBSl99cGbT8hA.cache +1 -0
  264. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Bu/BuksXaU3jtpsVsJWfiD8cfPrL0ltyzMzFAMYjqRTOcw.cache +1 -0
  265. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Bu/bu8TG_r6XkhW5jRuaIQjL7nSsSWJxy6HU3as-SLx08w.cache +0 -0
  266. data/test/dummy/tmp/cache/assets/sprockets/v3.0/By/ByWm2E10VfVkjoo6TTbmHEGCd7ig_YVjcgxLIvP2npM.cache +1 -0
  267. data/test/dummy/tmp/cache/assets/sprockets/v3.0/CR/CRqq96DgcC21NgatrM5atJKzdGF-c7LTVKs0RarWRkY.cache +0 -0
  268. data/test/dummy/tmp/cache/assets/sprockets/v3.0/CW/CWoppfC2IWWZIAHMpTb3hbvKKSSJ-olfkhUa-oHN4PE.cache +0 -0
  269. data/test/dummy/tmp/cache/assets/sprockets/v3.0/CX/CXBjVb13lPn0ycRm2U8NdpjNrmhUo5bGmQECAutK6gc.cache +1 -0
  270. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Cf/CfRhSnsJS38ZqxUwdmvvUyKui_SQJJMy4xJCEJ5MOIY.cache +0 -0
  271. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Cn/Cn1YFWYIDZLTEh8VsPw1kGmSRxY2WCMkazIA8VkP0-w.cache +1 -0
  272. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Cp/CpekvnYgBZcdkmAPsnBvhl-3XakgVnWE5M47gqeEflA.cache +1 -0
  273. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Cp/Cpmy5aKRxqQZrrkXhIdbeeVpkfOvAMjZm6k6W3Y2pl8.cache +0 -0
  274. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Cs/CsyBxyZKg8U8pUjJ7AxR8oMqNTodkSOxFhwYsY6asMg.cache +0 -0
  275. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Cu/CukP1uyOWDQREAZEqfh1Txnt6k-NVhGTaId_ucRKiQM.cache +1 -0
  276. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Cu/cUlsdL1D57TWpWEBMEOsTKtrMw_PI3q8NKENxL86zfE.cache +1 -0
  277. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Cv/CvOuHLIkVkJEQ-AYwoFKAwesvgbXsTt-fMKDV6QaTbo.cache +1 -0
  278. data/test/dummy/tmp/cache/assets/sprockets/v3.0/D0/D0cusWF2ayrU6hgv_QDiZctO9-IH4aZIhzpSXyHUzYo.cache +1 -0
  279. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Dd/DdyZEcJEUOyLdDmKc33qawMY1cGBU0Px41YYpdNLJZc.cache +1 -0
  280. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Dz/DzuURzJufWmN3J2X4VVFAWxtOUN8D2sX05nTqa-4WD0.cache +1 -0
  281. data/test/dummy/tmp/cache/assets/sprockets/v3.0/EQ/EQoeM-3-9VOeX-k1WgrXj_N178FWzWDE6ECLdZk4D_4.cache +3 -0
  282. data/test/dummy/tmp/cache/assets/sprockets/v3.0/EQ/eQ4mbVGKgOHXzFlC5jhTAgNJh_dqeArvASV2SvPQRd8.cache +0 -0
  283. data/test/dummy/tmp/cache/assets/sprockets/v3.0/EV/EV28enuY7Byeo2_FZK8Twj1N2II34ZP4Mguf-nPmAc0.cache +1 -0
  284. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Er/ERIHCPkl64fiyFL2mA-Nr8fyTcHpUjnEBJaeNhWzubY.cache +1 -0
  285. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Er/EroaWcS4PSztx0lL3D7vJLZD7HiuCwhbgq_9b5JLTLQ.cache +0 -0
  286. data/test/dummy/tmp/cache/assets/sprockets/v3.0/F8/F8JQR4FqJLIeiRUBPCWgS9pHRMdubVx4y1REcAODZHw.cache +1 -0
  287. data/test/dummy/tmp/cache/assets/sprockets/v3.0/FL/FL6cJm26SynhVArz0GkU-n4CuR7ElGe5r-YjyO6bXcA.cache +1 -0
  288. data/test/dummy/tmp/cache/assets/sprockets/v3.0/FL/FLcEIHdIDjSY1xZe0WjMgxbhmDAOwsEKpOSwJdlMtno.cache +3 -0
  289. data/test/dummy/tmp/cache/assets/sprockets/v3.0/FN/FNOsXXTjZ6F_bcWBC6lIPvOGHV0MI17gqksD9T_Mq-s.cache +0 -0
  290. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Fd/FdVBx6mbDTiCdOOexu9jmGzbjAtZE3-usUlmAcsW-dc.cache +1 -0
  291. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Fh/FHmoWUdwgE5K7al03RTN9xmyZ9fmnXGkhxzZnaMW6bg.cache +1 -0
  292. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Fh/Fhq7IP9lFrou1E6x46HiuVfPDyejTjpwDDYnRcNniUs.cache +3 -0
  293. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Fh/fhbdIBT890K-U8d0NTFwdjeqeu-wZTy0_gxba2Q3TFM.cache +0 -0
  294. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Fw/FwiXjnLLgGTbJ2tZcnFWOp30FIQFbt42kxicUMneUFU.cache +0 -0
  295. data/test/dummy/tmp/cache/assets/sprockets/v3.0/GG/GGtoQv-oNouv8ngyTssBtYsNtYeS-XCQhfF12HSchOs.cache +1 -0
  296. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Gd/GdFWTQQh4Ph4GJsFYMQlE-xlPZ8S_CyzsMLvscLk5aI.cache +1 -0
  297. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Gh/GhmrxaXgsgWXgfDUvZXHELBc_992TTXdQNxGzHqToRI.cache +2 -0
  298. data/test/dummy/tmp/cache/assets/sprockets/v3.0/HF/HFP4GoYWiFWdiVCWZlJd7HrbTKq3pdGl9qHp7CRJOxw.cache +1 -0
  299. data/test/dummy/tmp/cache/assets/sprockets/v3.0/He/HeZLBao-hq9x5mTgWjTl6XKjeZJHdsj7SB9oV-Mzq_s.cache +1 -0
  300. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Hl/HlaVjEkHaaVWsq7zsF8l4yqxRKS0NAz72Lu5Vzr9V2U.cache +2 -0
  301. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Hn/Hn5FDC3mlD11N8bTv_N1sQA-4xI1OfN960CTe_XEu9A.cache +4 -0
  302. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Hr/Hr-nJeHD-eAnjQj6zCWSO7n_y1nOzY8k7EawA-S31ic.cache +0 -0
  303. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ht/Htgd9CKkzWhCQV3jqil5EL2l08BXfX5mpIQRZwMwTHE.cache +1 -0
  304. data/test/dummy/tmp/cache/assets/sprockets/v3.0/I7/I7DyN8KeI-B1SijQswt98KeWqGzCIwkgpJw9dO4gojI.cache +1 -0
  305. data/test/dummy/tmp/cache/assets/sprockets/v3.0/I8/I8oMm2qQE2WUnB1WDLD4YD0Ncct7TsOyaFsViZHotP4.cache +1 -0
  306. data/test/dummy/tmp/cache/assets/sprockets/v3.0/IH/IHyW3ES2RV2lmaVwNY8X6nKr2qfHBZeoyTqf7TUWrlk.cache +1 -0
  307. data/test/dummy/tmp/cache/assets/sprockets/v3.0/IH/Ihh1JHJknqP5MjPo2foVJq_rJUFNJA5h9yB2qe656ng.cache +1 -0
  308. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ix/IxEPmATxPF3C4G06Njh3M3n0zCeIA1mTbUfYu0xb5sQ.cache +1 -0
  309. data/test/dummy/tmp/cache/assets/sprockets/v3.0/J4/J4CjKaMA7j4GrlxdRrH6SrRH8ZctW6v7jBck9alkqck.cache +1 -0
  310. data/test/dummy/tmp/cache/assets/sprockets/v3.0/J4/J4fvKSYxyw9yQ8-ox62u1o3pMTGv1DZQH1qmrLkNSrg.cache +1 -0
  311. data/test/dummy/tmp/cache/assets/sprockets/v3.0/J8/J8AyVO4oGJPp_lRZJdM9p6aCTv3HpEx6YB4mcV23GFo.cache +1 -0
  312. data/test/dummy/tmp/cache/assets/sprockets/v3.0/JA/JAKRpPJSPAuMV2TcjGwejA_--U9Nimo_aBQy-_gKJZk.cache +1 -0
  313. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Jj/JjlloPfuXCh60beA414OFTzpq_nI2uKW_USQsw3BGWY.cache +1 -0
  314. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Js/Js7BoIA-JQMis2bvhSuWjlMglxobVrI_W33nDGnYcc0.cache +1 -0
  315. data/test/dummy/tmp/cache/assets/sprockets/v3.0/KM/KM9phN_DvMYH7h3DLsmzWbITRoKhKkYrZJHb4ckO3ho.cache +3 -0
  316. data/test/dummy/tmp/cache/assets/sprockets/v3.0/KO/KOohyS_AU6sbx4m0OIt6DmIuaqQ_p_9A67HX0_96iOg.cache +4 -0
  317. data/test/dummy/tmp/cache/assets/sprockets/v3.0/KT/KTsgyrC1qSHUy9RQU9IncaxI254KMUCizTav6gxv3-8.cache +3 -0
  318. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Kf/KfOG4Fsi3FqCIc9PcgBMimIWabgiRbkAx87aEt1ytds.cache +0 -0
  319. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Kz/KzgA28xstOReawAVU0JDV3pvnaLzvNuJBewJOUAeWU8.cache +1 -0
  320. data/test/dummy/tmp/cache/assets/sprockets/v3.0/LO/LOgMdbYddRrfyBBp6elqVYfyfvWpSZ3PYJayuNB-_54.cache +0 -0
  321. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Lh/LhKJUZ4ft6Fg6YJAPbLM1W54r6S49oL8Qa4buabZC4k.cache +3 -0
  322. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Lh/lhjWv71mAvpFS9-lZBgCjy9GR-CZ4sZAzbynik3F23s.cache +4 -0
  323. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Lm/LMnNNW_mizZta3b9V7SunJHLs7cBjVS1ZryyacST3JU.cache +1 -0
  324. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Lm/Lm_DD4epQe2RSyqsKWuQ83mdNmJUXFoD7YgpFQQi9-s.cache +1 -0
  325. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ly/LyvAGF2_S2FvKOXBaiSrwYVNlNUIBTplZy7uZY0enPc.cache +0 -0
  326. data/test/dummy/tmp/cache/assets/sprockets/v3.0/MB/MBY5JRtBoVJe-l7z4w_6MlZKtiCY3c9AH93D6AWr_dc.cache +0 -0
  327. data/test/dummy/tmp/cache/assets/sprockets/v3.0/MH/MH0wXb004Qh8NjXfHaQ9VHM80zpVqJWn2IdWYZn2fOA.cache +0 -0
  328. data/test/dummy/tmp/cache/assets/sprockets/v3.0/MK/MKR3tvTaaq5dMIYInpCXi7nHFzm_ARvc0CfOPnsm6cs.cache +1 -0
  329. data/test/dummy/tmp/cache/assets/sprockets/v3.0/MN/MNwfbu8Wh8SvM7fzfrv35RAPS50ML6tER1qP1A042WY.cache +1 -0
  330. data/test/dummy/tmp/cache/assets/sprockets/v3.0/MN/MnffuolBZQlIvggqEdoH3SrTZI1E5Gj4Ps3SP8iQwJo.cache +5 -0
  331. data/test/dummy/tmp/cache/assets/sprockets/v3.0/MW/MW6BLw8iNNmaHpgiRntj8pZ3OwWFXzOTXBYFe0ORYLE.cache +3 -0
  332. data/test/dummy/tmp/cache/assets/sprockets/v3.0/MX/MXdIh4XKK-U-rfqZcm06dzesD7ff0lt_KGFmNeORTQg.cache +1 -0
  333. data/test/dummy/tmp/cache/assets/sprockets/v3.0/MX/mXryAndUH_7D7PtUdOsMGY4Q-Q44COVvYcy5l1OPXB8.cache +3 -0
  334. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Me/MeJjMkH8-c9rfYbpCtJ5NVDyGlrhJONjmQfT9BtJDnI.cache +2 -0
  335. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Mf/MFv5RzRs2y7gZmEAbCM_jToxQhhQoolg6s_a42Uk268.cache +3 -0
  336. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Mf/MfWK7Yh1fF5omJqLInj0d-v7URlzfS60VJg7ha12Avc.cache +1 -0
  337. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Mp/MplgwPZfY7HzQuFhYfeLUP334Sj4MWVAE57np81LFmE.cache +1 -0
  338. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Mu/MupDm264iLpqMzSa2IBpAyGoV8cjHmF74u4eO8di-lY.cache +1 -0
  339. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ND/NDEDH77zxXBYGMlSjOmgk3KyC6EbD9jBgsti7BcCG18.cache +5 -0
  340. data/test/dummy/tmp/cache/assets/sprockets/v3.0/NJ/NJ03jKQqsipCLKS_tGee2EHtCdKR9LBtju1s9wXkXNc.cache +1 -0
  341. data/test/dummy/tmp/cache/assets/sprockets/v3.0/NO/NOK1yx2wNqmX6ncyPV_ayBA6kAdWxyGPwpnhyAdUlgI.cache +1 -0
  342. data/test/dummy/tmp/cache/assets/sprockets/v3.0/NQ/NQwazzUgAilBqn-UFZ3dbQuHYFJ2dUxCkoj0242jDpk.cache +3 -0
  343. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Nc/Nc6lSeCjr1GUTrzCKC1a0nAF2MD_vdMvyqqAlWEKW7c.cache +5 -0
  344. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Nh/Nhc5JuuhoiLMQuQ5idGUbxDO3ovk_RqWE9sa29InlzQ.cache +0 -0
  345. data/test/dummy/tmp/cache/assets/sprockets/v3.0/O7/O7b0X6n6pfRC-_DJzcHhCwJFMQU2Ilb2cVmwIZlNEuc.cache +3 -0
  346. data/test/dummy/tmp/cache/assets/sprockets/v3.0/OI/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache +0 -0
  347. data/test/dummy/tmp/cache/assets/sprockets/v3.0/OK/OKk418MFdrlM2SJAPb3dtbREHkXzWP2md23Df18nhzo.cache +0 -0
  348. data/test/dummy/tmp/cache/assets/sprockets/v3.0/OL/OLkHnuRmLuOiKTC2JLS5HGy724lYQIAKIvuwHc8VARQ.cache +1 -0
  349. data/test/dummy/tmp/cache/assets/sprockets/v3.0/OP/OPvZadSxmkLXfQdEyYYsD5DJOTwRv1S5oYAjvN8H_sk.cache +0 -0
  350. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ob/ObVcDmLTirRM_cBRT_CrpAI4LYN51vkbD7W-hOm3QOk.cache +1 -0
  351. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Or/Oru5w7cn82DamvfliV-HZKTsJd_yvK6P3nTL_5fTqoc.cache +0 -0
  352. data/test/dummy/tmp/cache/assets/sprockets/v3.0/P7/P72PF0QaLk07pMWtIb9MSguJbYMQLApufmYVPuG_zSE.cache +0 -0
  353. data/test/dummy/tmp/cache/assets/sprockets/v3.0/PG/PGQreiYj8zH4MR3Z5XaXMeA08Sfx47WwFNTgJEtTpXc.cache +1 -0
  354. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Pb/PbnPeRHsnGhvdp23TsJowZPLwOX-Zj9go0JXoK4lkCk.cache +3 -0
  355. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ph/Ph6pBAn9DmaFU0IViAwCYeyMV2ZdqfGlCk1CyYGaWqw.cache +1 -0
  356. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ph/phu-Q1Mpi6ST92yZbYGn6nJj4frbMom02WRoi1dx_dE.cache +0 -0
  357. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Pi/PiPz-feZcumRe_xruSOiXuNsHL6mChOJxbSTm_yp3Rc.cache +0 -0
  358. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Pi/pIVqc5tXAaLDSQbx4dvcFawX1iRPdcw_JTjDIE6Y0eM.cache +0 -0
  359. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Pr/PreDzDw_R0LBkwMGTcVOgFTnOv5cnzKJPAleUJcs_Eg.cache +1 -0
  360. data/test/dummy/tmp/cache/assets/sprockets/v3.0/QA/QAjzb10d_j7yMXJCjZBv5xFmyu96nTDA37AD02YREHM.cache +5 -0
  361. data/test/dummy/tmp/cache/assets/sprockets/v3.0/QA/Qak-uTKtzaAi_F1g3phS6PsdRmwJve7tIDnltlAqCGc.cache +0 -0
  362. data/test/dummy/tmp/cache/assets/sprockets/v3.0/QB/QBtqK3vzTGr0NVFIZUuHQ_0eqtMFGI0EnR7MjEeDyTY.cache +0 -0
  363. data/test/dummy/tmp/cache/assets/sprockets/v3.0/QS/QSXLPzJ-35KwzZ-2iOUXWSEFoxjjZ7A6FFBx5Wj5UxY.cache +1 -0
  364. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Qz/Qz2H1qzAB3FiFAZtSUJEM9jy7Ef-EKzTx8GKkhRwQRM.cache +0 -0
  365. data/test/dummy/tmp/cache/assets/sprockets/v3.0/RP/RPQbWtOXi1K_5CsSX7Y3kw8dIcIsdAH45Zo-M2y-c8k.cache +0 -0
  366. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Rn/RnBzwKO0wHpcX8ozxOXNfOYGdKtStuH26dvZo4yJs9I.cache +0 -0
  367. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Rq/Rq88Si5DhV1oXaO1oXygHlSQ4smn5lciHF3hY-nPcWI.cache +1 -0
  368. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Rs/RsmwcD4uDKantaLOGJZrjYCfruM1SB-ukpSGdzTOwf0.cache +3 -0
  369. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Rs/rSpvB-PtdIGfxMyHtxoYBjRp6_MUsoWBXMWaQ3Qrizc.cache +0 -0
  370. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Rz/RzFltAlFtQB8hPdAmY9eg7ofLvNoKSFh2T2d3_cUmyo.cache +1 -0
  371. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Rz/rzbi2r2CCcZ6AN4OXmpNo4xDmJLmcHXRjCcVvxyKKe4.cache +1 -0
  372. data/test/dummy/tmp/cache/assets/sprockets/v3.0/S-/S-I4R7GrD3_tbKGG_Us9iHf3srvB1URoQs4Fr1Svkj4.cache +1 -0
  373. data/test/dummy/tmp/cache/assets/sprockets/v3.0/S5/S5uwg3C-Vzlc06OAViMVVvDBLtd5BlfnLhzqpFeRvAw.cache +3 -0
  374. data/test/dummy/tmp/cache/assets/sprockets/v3.0/SR/SRo57NF8zr-sEWOuJ5-Zs4UkeGfHbKhfslbRmbN74jY.cache +1 -0
  375. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Sf/SfQHdY5A04tlXTxWFmI7jbT1LjlzSPdOjsLh941dAAI.cache +1 -0
  376. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ss/Sskjz8bUd3dYQ_03Zg5Q78rOxTbK0X9A-Ck2_s097iM.cache +3 -0
  377. data/test/dummy/tmp/cache/assets/sprockets/v3.0/St/StX1otXCzjobPsofg9roBn1DfTbx0c2dzlja43_2AOc.cache +3 -0
  378. data/test/dummy/tmp/cache/assets/sprockets/v3.0/T7/T72E8mac8dhJZcl6I78UlkJ5ZTNRDm6ArbdB5dmtFyA.cache +1 -0
  379. data/test/dummy/tmp/cache/assets/sprockets/v3.0/TU/TUYHWEN4Y2k1_mozVyoBtgoDvpm82huQiTdqGiYZjmM.cache +0 -0
  380. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Te/TeFI5V3bZ_X9Gw-MnLbi2Nkx0pWdDbjwJ_gng1vfmd4.cache +1 -0
  381. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ti/Ti06vctt40EVZ99AKJNjXk3INvYpMl8T80cFiz_0KgQ.cache +3 -0
  382. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ti/TiImQ_kn1SOcaq9eHrj_FpZxmCKOWOXbXiyRzJLJhV4.cache +0 -0
  383. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Tw/TwDQHCkV6ZzkI_VqM1kG3fKrKADp8J4Z4J6bh-1-xF0.cache +4 -0
  384. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Uc/UclSgWx_1vT02Ys1CDpx9igBIYJwwlz7h8CA1sMiXqA.cache +0 -0
  385. data/test/dummy/tmp/cache/assets/sprockets/v3.0/VD/VD_Tn0Z0jCNrNM3KZb7xZOx9CzqV4KQUKamn8wirYUc.cache +1 -0
  386. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Va/VaHHjmQCLMgHyRDkoAyNcfP1BkqTe06LTlNrDXZgXJQ.cache +0 -0
  387. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Vb/VbJlDkUFdjKS2cBmQG7sjNOerFOeFJ0XvYupImNFc6o.cache +4 -0
  388. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Vu/VuTlKJwAqnUWDMOQ7lEQUG1A8kqRhioRqaAxnGrpaAU.cache +1 -0
  389. data/test/dummy/tmp/cache/assets/sprockets/v3.0/W2/W2VlfY6Z-VO_vusbjt1cID2Nbwo4gsl6UCP8HcDlVcg.cache +1 -0
  390. data/test/dummy/tmp/cache/assets/sprockets/v3.0/WI/WI6lJNbCcLwTuOfTa3XX6qHTBnl81f_z45FK1hCbIeE.cache +0 -0
  391. data/test/dummy/tmp/cache/assets/sprockets/v3.0/We/WeZB6YYUMbKj614c2jVZga64L9ya2rjrPgw2itYygwM.cache +1 -0
  392. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Wp/Wp-V-YTFZ6bo6ybGNQ6Lo5WPynYals6ajrtUz2l0HxA.cache +4 -0
  393. data/test/dummy/tmp/cache/assets/sprockets/v3.0/XT/XT8crKygwq2SKcsuX-I96xndkPPYKfjSv6Z0VmVRykk.cache +1 -0
  394. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Xc/XcMbv9lRhcgRF8NfEiiToZU54IMuP8Y28pV1U6XyvFQ.cache +1 -0
  395. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Xc/Xcq1pAgJcuawcXB0C-l-eD57ax-GKT7UpID3cceCKRM.cache +1 -0
  396. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Xf/XfaseJepcp01pidO146XHO1OgRsTabfmeIa0UcX1dV8.cache +3 -0
  397. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Xf/xFmKt6WmAlQs3IDU_0OOGA5fC8-PgCQGDg4IZjz2d6E.cache +0 -0
  398. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Xi/XiZAxKYuwmh_Bqe1PaKvY9pnBeE3hREh2ttamxoxaY4.cache +0 -0
  399. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Xu/XunbhdpOapnjHE4nTJwV7ajm4WokOsnFkGYtCi8uAE8.cache +1 -0
  400. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Xx/XxJtq1CvGAQAwglYKKx5cfyn-RlY4XLBVh33gXdAP2E.cache +1 -0
  401. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Y0/Y0WMge8wHotrrkKwHNkfW58LK_-1gh5-mDUPLeZuakg.cache +5 -0
  402. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Y4/Y4tJAYSQeHBol_L8XnoByBPFUJ9RVv9qiymv3okIGxA.cache +2 -0
  403. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Y7/Y7ZIlWhKcAhXiQ1OZrtQ3rrBk_G5bcMp-WvDyiCNDE8.cache +0 -0
  404. data/test/dummy/tmp/cache/assets/sprockets/v3.0/YC/YCJTSU03W9asgyOzgNp91MK4ediXxWxQADa7MjNiU8Y.cache +0 -0
  405. data/test/dummy/tmp/cache/assets/sprockets/v3.0/YG/YGUC43_6tCOZ5caKiIe6PYoUCHmXyUZdkE6cXKUW0NQ.cache +1 -0
  406. data/test/dummy/tmp/cache/assets/sprockets/v3.0/YG/YgWiq2WB9iArBmSY-pPojxGkVcj_cMlIQGtMF-YfjKA.cache +0 -0
  407. data/test/dummy/tmp/cache/assets/sprockets/v3.0/YX/YXBNdEIFY6eNKTUAJGB1DJtETr41xpqqvmi4ErRYiuE.cache +3 -0
  408. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Z2/Z2PyD0TJO_F7FYcOLm3LvnNImEgIhnw4Jz1FuAv6im4.cache +0 -0
  409. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Z5/Z55_IZamiEoJGwsWJzN6K-URUGXaxYoo2c3fCds9pHc.cache +0 -0
  410. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Z7/Z70tHT4FisKR9SpJ3-dgYG1gIuSfjTRsPRz-yRdMSWI.cache +0 -0
  411. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ZL/ZLQmeuVGNaF86uWftyoCwCOfXO2axPI8zM4tZdDRekY.cache +0 -0
  412. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Zb/ZbH5w81L2WpjO3h9Vl2WjHPFOFieLeiQb4Lbx7cufig.cache +0 -0
  413. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Zh/ZhDVlWUx-LwLR2okkrh4-cANb9_cS0-x5Fymq41FJAQ.cache +0 -0
  414. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_8/_8cC2SwhYxGZtiYZTnZzBvGTI_Q-1_pW4p1QkaI5H60.cache +1 -0
  415. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_C/_CbTvgMsLIUbiKWuqtPXPVkMM2LToJfjTBUbGJZ-uMI.cache +0 -0
  416. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_K/_KHDLW6h8j78KP8e4kYGRAgx1-t-UZ4nXsjwxkPfTnU.cache +3 -0
  417. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_K/_kVzjvDm5fobGVXeeGmh2Deh9aB2WQHRaA2e9MSq74o.cache +1 -0
  418. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_g/_gBBeMa010DUV34oUrDujAlUOj49g6QzDt-C5IKYQrQ.cache +1 -0
  419. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_r/_rVuG9yGnPR6hv4H6gqEYypbFnJjt2h_VXbdvHbASgk.cache +0 -0
  420. data/test/dummy/tmp/cache/assets/sprockets/v3.0/a1/a1D4bnDagns7ADr1TbghjxXhH2kQyWVyb_-GKUHiiMA.cache +5 -0
  421. data/test/dummy/tmp/cache/assets/sprockets/v3.0/aA/aAD72vIH7L3KyJkCrk2w4yCd-vD1ubyMcadGJg6E4sU.cache +0 -0
  422. data/test/dummy/tmp/cache/assets/sprockets/v3.0/aJ/aJdZdyFA6FZlrmMyRqkfsB-WUHeIZn1CA4p7jvtBYyY.cache +1 -0
  423. data/test/dummy/tmp/cache/assets/sprockets/v3.0/aM/aMylVJ_m7mzxSc4s3f4EsqXaVh2qZ7LBBo5sQLNWbQE.cache +1 -0
  424. data/test/dummy/tmp/cache/assets/sprockets/v3.0/aO/aOGMdVzyTgYfeRxCDhdtM0vlLQYmO9dG1eDkMn8xT4o.cache +1 -0
  425. data/test/dummy/tmp/cache/assets/sprockets/v3.0/aY/aYoku5b2gnqUualKyixnXaFTsz-zNWG2TeaBEDKuBvI.cache +3 -0
  426. data/test/dummy/tmp/cache/assets/sprockets/v3.0/a_/a_5u0qbwrqm2iLQoEfr2oLVhPTm4_aRLH21NSk-ng64.cache +1 -0
  427. data/test/dummy/tmp/cache/assets/sprockets/v3.0/an/ansc-yxpLxm-mUPhj4eJL-XgEhHludiVLMhkrhi1xYs.cache +1 -0
  428. data/test/dummy/tmp/cache/assets/sprockets/v3.0/b2/b27t1oQmfqXDmLgIuAp69I4Qgdzu4qN3TdU13EEOdX8.cache +0 -0
  429. data/test/dummy/tmp/cache/assets/sprockets/v3.0/bh/bhADdGRxMpUsw7qjrVZZ2cgNlIv6S6Q00bB-1UxWcis.cache +1 -0
  430. data/test/dummy/tmp/cache/assets/sprockets/v3.0/bv/bv3XSxiErOEr77Z2sTURC_sJyJz1m5neTKP8T4TxELE.cache +4 -0
  431. data/test/dummy/tmp/cache/assets/sprockets/v3.0/c2/c2gjq61xXO3qQTDyuYH93r1cf_27mDmsqocFSGSgrzE.cache +0 -0
  432. data/test/dummy/tmp/cache/assets/sprockets/v3.0/c3/c30JBbcBOEs8gBtsuV7uqAWpIXdtZKtGqaAUedUTg6s.cache +3 -0
  433. data/test/dummy/tmp/cache/assets/sprockets/v3.0/cI/cIymWKZfZGPxQCtvhlRwFxVCeMm2Xt8G5Km-2I5Mq28.cache +1 -0
  434. data/test/dummy/tmp/cache/assets/sprockets/v3.0/cO/cOCIJ3FGoaQ_tP_zHW-gpc0331pP4VJXRaYk_oX6a0Y.cache +0 -0
  435. data/test/dummy/tmp/cache/assets/sprockets/v3.0/cQ/cQK8L4_P3hvTsZCi0ZI8lHoRz_6FrzwOXv-gl2xfHbk.cache +1 -0
  436. data/test/dummy/tmp/cache/assets/sprockets/v3.0/cY/Cy_ObI1j-9i7wjxGShjQ2lMkkUwwgtdBqail2pfgke8.cache +1 -0
  437. data/test/dummy/tmp/cache/assets/sprockets/v3.0/cY/cY2JpKdH--3sMZobHE1KnuqVRy2G7TAMQJHQk0AJVZI.cache +1 -0
  438. data/test/dummy/tmp/cache/assets/sprockets/v3.0/cc/ccUVGjvmS-nbig19Bi8Ni5yCaiPCTc2uFwmy4qGpEI8.cache +1 -0
  439. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ch/ch41pAlE5hM0BcI-5NKArIOKM68dEdNREO3h9q0aNJo.cache +4 -0
  440. data/test/dummy/tmp/cache/assets/sprockets/v3.0/d-/d-aTSxXEdR7XROaAxEZJhIw2nzZCUfaCCKXyHGtuiUE.cache +1 -0
  441. data/test/dummy/tmp/cache/assets/sprockets/v3.0/d5/d5CiqFoIO9r9bc6qceYD8gSF7-3JKXyW2rx9uOvaG6k.cache +3 -0
  442. data/test/dummy/tmp/cache/assets/sprockets/v3.0/dB/dBhIa7VW788UyNm13H6bhtsDWvLZ5lOBnLhKMozMokc.cache +1 -0
  443. data/test/dummy/tmp/cache/assets/sprockets/v3.0/eL/eLubl3xkj_6LVTp8OADOqfSbo7glb41dO7JbBm61s_U.cache +1 -0
  444. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ew/ewEizg6dPr8mfcCs-xqI9aNfgpJdJsnriy2YWYZEgtg.cache +1 -0
  445. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fU/fUarFjB0688tNKYojsTY0Q6AnIQSxitc0Bbg2pH1DFY.cache +0 -0
  446. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fV/fVk9n1loMq7tyRMZ1ABLBNI9cpHLqhjnBevdcqIqwbY.cache +1 -0
  447. data/test/dummy/tmp/cache/assets/sprockets/v3.0/gE/gEBuwzYT4pCORNo7RVlMhYfK_A_TpNQlhO0Z7glpza0.cache +0 -0
  448. data/test/dummy/tmp/cache/assets/sprockets/v3.0/gP/gPcu-zds7oNR34-K6vO_toa_C9dq9yC6YEJsHWcetZE.cache +0 -0
  449. data/test/dummy/tmp/cache/assets/sprockets/v3.0/gT/gTC13k-_pje-P_LWe83hQ9_3C5cinGmG8ckrar4b7vE.cache +0 -0
  450. data/test/dummy/tmp/cache/assets/sprockets/v3.0/hA/hA6P3GNydgkBcThlx43fD7f5i-TNg63kMM9Svq-rFlo.cache +1 -0
  451. data/test/dummy/tmp/cache/assets/sprockets/v3.0/hD/hDeVHkbc0peefzWrGXr3spmE00IcoN61aCJV1B6s3FI.cache +0 -0
  452. data/test/dummy/tmp/cache/assets/sprockets/v3.0/hX/hXvX9Ho9Ca_b7dDXQU2hSXhrtM3ahTHdOngPiX8vaM4.cache +1 -0
  453. data/test/dummy/tmp/cache/assets/sprockets/v3.0/hZ/hZi1k6tpxxCGYxRe7zY74ItcOI8gZrREOpGuA8JSpGg.cache +0 -0
  454. data/test/dummy/tmp/cache/assets/sprockets/v3.0/h_/h_mKX-USNiJ58Wkn_nOZm5pSSb7RdaLtDQPLljNPm5c.cache +1 -0
  455. data/test/dummy/tmp/cache/assets/sprockets/v3.0/hi/hiXKlS0Ij0FhF-HT7GOFOaZgPmnaHBTFvpW8xWhUoKY.cache +0 -0
  456. data/test/dummy/tmp/cache/assets/sprockets/v3.0/hq/hqNC-zONlxNBuACvSRXgQbOj05AAU0yZCoYlEmPusGQ.cache +1 -0
  457. data/test/dummy/tmp/cache/assets/sprockets/v3.0/i6/i6rDaD0uIR1_9sE64Bt8WhSJUJehdPWCazZH53p1Krc.cache +0 -0
  458. data/test/dummy/tmp/cache/assets/sprockets/v3.0/iW/iWF3KM-CoYfYewKKFLGqMe6Js4udb5A1VU4dYWiA1ZE.cache +1 -0
  459. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ia/IAQhn04TAAbdns48nWWtFLCRP7sZiJJMZkFhn0KtHpQ.cache +1 -0
  460. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ia/iaRvxoIJppNNUcxq05MJCFE0Nk-ENvQW47PWFaljODI.cache +1 -0
  461. data/test/dummy/tmp/cache/assets/sprockets/v3.0/jO/jOOKv56qYGTil9DG4f7W3SkkpOCBnO7nN4zyB3ijAM0.cache +1 -0
  462. data/test/dummy/tmp/cache/assets/sprockets/v3.0/jQ/jQfDsJh34y9K_Mwt8vn_DsRF4mH2bI-_Kt05c1h3SJk.cache +1 -0
  463. data/test/dummy/tmp/cache/assets/sprockets/v3.0/jy/jyAyM-S8Hv-RVB253BGqNN9kOQuN_CdeFQrxm4xrNpw.cache +0 -0
  464. data/test/dummy/tmp/cache/assets/sprockets/v3.0/kD/kDBJMaikoSvjWq5v0OKCyJkeISOX0NyN_BJawSAyZCw.cache +0 -0
  465. data/test/dummy/tmp/cache/assets/sprockets/v3.0/kl/klszZ9tKNHUzYFO1ghLNJNk46ZyiG7FOL2YiFW1SMeE.cache +0 -0
  466. data/test/dummy/tmp/cache/assets/sprockets/v3.0/l6/l64SzZqDL8VHFagT69MfZsApPKo2XmPfW8qbyJkUtPk.cache +1 -0
  467. data/test/dummy/tmp/cache/assets/sprockets/v3.0/lE/lEbCGczYsapgUQJAHHCUrje4NqIVEV_BFWnKHlHh4QE.cache +1 -0
  468. data/test/dummy/tmp/cache/assets/sprockets/v3.0/lJ/lJllhgvh0nBq0PQX98LMaxhOryhozLqC4XnJt6enwEo.cache +1 -0
  469. data/test/dummy/tmp/cache/assets/sprockets/v3.0/lS/lS-kUvyhgeyfmAxaM23e4HWfL4L72Aza1nhTkAsPU3M.cache +0 -0
  470. data/test/dummy/tmp/cache/assets/sprockets/v3.0/lx/lxrVJxLs2THXTcDZFNAVxInY_7tQH5ShcmzSk0FwS2k.cache +2 -0
  471. data/test/dummy/tmp/cache/assets/sprockets/v3.0/m0/m02y7e4alD7bt814oMoE9pKsn6J0VHON5iQTgBsIOJ0.cache +1 -0
  472. data/test/dummy/tmp/cache/assets/sprockets/v3.0/m3/m3ZU18hx3_j8FTVWlqRoRQu0ZExBwNreJsVXDqRrOkQ.cache +1 -0
  473. data/test/dummy/tmp/cache/assets/sprockets/v3.0/m8/m85R-j44HyTYL0BUo6OsG9Flk8tqbbbSa0vkSEJHWls.cache +1 -0
  474. data/test/dummy/tmp/cache/assets/sprockets/v3.0/mA/mAM3_EvNQ4x_-x7O04k0W8zyWraMIag97FsCraNL0bI.cache +1 -0
  475. data/test/dummy/tmp/cache/assets/sprockets/v3.0/mL/mL7K1nwsub7IX4zOqM9ybwFK-Rn2Fc6KsYuMiIZ5iNk.cache +3 -0
  476. data/test/dummy/tmp/cache/assets/sprockets/v3.0/mq/MqoyNtDyweSEqoUM6Dz4O6NZehwuU1QQWwM7Tu1DcNk.cache +0 -0
  477. data/test/dummy/tmp/cache/assets/sprockets/v3.0/mq/MqtMzKjbIWIAsFVHCgQvQc-W1erjYjPpBIBRQCZ_9lI.cache +1 -0
  478. data/test/dummy/tmp/cache/assets/sprockets/v3.0/mq/mqh2hV4U4F1XcEpjsBes4qAGkzrHfCwK8kcgKy0B5yE.cache +1 -0
  479. data/test/dummy/tmp/cache/assets/sprockets/v3.0/mt/mt-zpRYXztYgjwR4Dttl8uLwsuEvInHraQLkalp2Lvo.cache +1 -0
  480. data/test/dummy/tmp/cache/assets/sprockets/v3.0/n3/n3d4-cXhrHxAkyHeqTt3MUmW87nKrTyWTPR5PXJT1UQ.cache +3 -0
  481. data/test/dummy/tmp/cache/assets/sprockets/v3.0/nS/nSqcTc7ksjMvX7HMvvAN8UNHZcqHgqWJgdk_p7J33yc.cache +3 -0
  482. data/test/dummy/tmp/cache/assets/sprockets/v3.0/nU/nUPt2yJ5F0IzL4X-uFr75K1yjHCNWnWodmSD2Q3ePow.cache +1 -0
  483. data/test/dummy/tmp/cache/assets/sprockets/v3.0/nV/nV9Q_zvI9VVWHGNnvg5UH1bMambdHXhoUl2Klis5Olg.cache +0 -0
  484. data/test/dummy/tmp/cache/assets/sprockets/v3.0/nV/nv6-uIDkR08qX4UAL1wvVMK_wKpA3tfqQOnOU6EPc3c.cache +0 -0
  485. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ng/ngDxvyt1qPWrOuH9Ec5PJ5BIauhFWOT6kUXZOS6JD7k.cache +3 -0
  486. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ni/niVUoVEMUptq6L7GFj6Df_vajoeWEYtSF4BHTsuLmfE.cache +0 -0
  487. data/test/dummy/tmp/cache/assets/sprockets/v3.0/nk/nkMBHmh_iFVgb8ypWr4DtlYsU1ZD3UTSNCzYpXFK8W8.cache +1 -0
  488. data/test/dummy/tmp/cache/assets/sprockets/v3.0/nt/nTZYlARAnG5g8q-U8zWURuU1z9IWX6z-PA6xULEd4tM.cache +4 -0
  489. data/test/dummy/tmp/cache/assets/sprockets/v3.0/nt/nty1vyqRTT9ZwM-VvAOhFwXsiRYbrIIkn1sDryllF4w.cache +1 -0
  490. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ny/nyxTn5bqrlJtoUx8ld3OiNmJi0vYLE2AjAJU_LdgiVU.cache +0 -0
  491. data/test/dummy/tmp/cache/assets/sprockets/v3.0/om/om9sDSCeVCEvLXtZFs7cJ502yuu3DgCV0rJyRFm9Tg0.cache +1 -0
  492. data/test/dummy/tmp/cache/assets/sprockets/v3.0/pD/pDNG0DHssdNdBIQELe4Q-KNK-i0ImuuuzB-15sydB5Q.cache +1 -0
  493. data/test/dummy/tmp/cache/assets/sprockets/v3.0/pD/pDrjNjEg0enP9011qtyeHSapbgbPdVBY837YBvkBvfM.cache +1 -0
  494. data/test/dummy/tmp/cache/assets/sprockets/v3.0/pD/pdB7FVeb2vsK0oEkIQqaKUNjdLf2jxMMI1P1PY6HinY.cache +0 -0
  495. data/test/dummy/tmp/cache/assets/sprockets/v3.0/pE/pEhaat2KBd5SrT7szC_8R1_6hK17FTpvoRFkmCRSD3M.cache +0 -0
  496. data/test/dummy/tmp/cache/assets/sprockets/v3.0/pF/pFouMoU_fI_irjFY_evjOWSSbbeRkRAWcwsNh9WnweY.cache +1 -0
  497. data/test/dummy/tmp/cache/assets/sprockets/v3.0/pp/ppHKpJghIYfWiR6EnvgPIWpb35vpP2OBaxHL-12Jn1c.cache +3 -0
  498. data/test/dummy/tmp/cache/assets/sprockets/v3.0/pv/pvzfY4ZeIxBDbR0Wyac-jKTZe7zD91qZJMNj-gLEavs.cache +1 -0
  499. data/test/dummy/tmp/cache/assets/sprockets/v3.0/px/pxWUhkjqxrgnxzmySwgzibIVh75PIaNGpw1RBqACDdI.cache +1 -0
  500. data/test/dummy/tmp/cache/assets/sprockets/v3.0/qP/qPSecOgL03_rejsx9qRAFaC2FBN3FPAJUKfY2TifBuA.cache +0 -0
  501. data/test/dummy/tmp/cache/assets/sprockets/v3.0/qd/qd_SRtxWyH8whyF5iehawiV6ZgiN2ELhiTpobL5e_6w.cache +0 -0
  502. data/test/dummy/tmp/cache/assets/sprockets/v3.0/qr/qrUmzvxmLCNSxkxNsaGiEZz-sUiEvCmCmSp28QHQNTI.cache +1 -0
  503. data/test/dummy/tmp/cache/assets/sprockets/v3.0/rU/rUIQboNWOP0FNBERZ0OEgDlCxJu2Ztc-5gWhQUzGZrc.cache +1 -0
  504. data/test/dummy/tmp/cache/assets/sprockets/v3.0/re/rei-92HUQC22z8L2tptN5z712YBu6M23yd3xaFwl0yg.cache +3 -0
  505. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ri/rimBrlzHvkGFU1xaYtO7xWikVuFmZGF92pWMQx8CyzE.cache +3 -0
  506. data/test/dummy/tmp/cache/assets/sprockets/v3.0/sI/sIDUnZiq5Pe_6DxJVAKFX2Eyj8DodsWXpFGJ-n1dYmQ.cache +0 -0
  507. data/test/dummy/tmp/cache/assets/sprockets/v3.0/sY/SyavbFp1xbkYPU8HvFkkhVqx6xFBGECwuqwVy6RbLw8.cache +1 -0
  508. data/test/dummy/tmp/cache/assets/sprockets/v3.0/sY/sYqD_6_DLhWbWmBm4ZOKDNI8bKtF7czThI6GXwmFlMU.cache +0 -0
  509. data/test/dummy/tmp/cache/assets/sprockets/v3.0/sb/sbAN3UaNGrkoCktU4fHA3KF5HRVD39kmr-vf61veyOU.cache +3 -0
  510. data/test/dummy/tmp/cache/assets/sprockets/v3.0/t0/t0DShWYlmKYn-ztyiUhdugXS0bE38VngZ11fm0z14A0.cache +1 -0
  511. data/test/dummy/tmp/cache/assets/sprockets/v3.0/t3/t3tyC5tpIWAypI8HOhLys2DYBLDLrW3KzE1lmOleVU8.cache +1 -0
  512. data/test/dummy/tmp/cache/assets/sprockets/v3.0/tZ/TZHtEy3CiP64NmTlObIU8cOaUPPdkdOZ30f0kqaDxd8.cache +0 -0
  513. data/test/dummy/tmp/cache/assets/sprockets/v3.0/tZ/tZOwipDul1-aTSIEZ80QHAwcqVFkYRLIVv4XLmYgj2k.cache +1 -0
  514. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ts/TSHjblyZ46JIvFP6qf06MT8qLDuQCxLAvwUcImqML64.cache +0 -0
  515. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ts/TSkeC-eU6bKfJsYmspi_oEYsv6pAgvYk2CTjKRc7BlA.cache +0 -0
  516. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ts/tsxgaFTY-T14imbVrZ7Kf8KPluun_Fw_x58uLbN4fNk.cache +2 -0
  517. data/test/dummy/tmp/cache/assets/sprockets/v3.0/uF/uFbaXajtMMDAOXWl6eU5Gmuqy9dwVoLas9Jim7dSg3s.cache +5 -0
  518. data/test/dummy/tmp/cache/assets/sprockets/v3.0/uK/uK2ko5z4BFMcA_o9sD_Fyx5jBBYhQALEnSYm37mv_Lw.cache +0 -0
  519. data/test/dummy/tmp/cache/assets/sprockets/v3.0/uW/uWmVCsrWjr-iOieidZGPG9-5fj96GX3cANB1XROt9bE.cache +1 -0
  520. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ui/ui8eGB_aYgZ0q-aC6cjiPs30BIJ_I9GWCHQQvxGzzXA.cache +1 -0
  521. data/test/dummy/tmp/cache/assets/sprockets/v3.0/v0/v0CmZOmfuQCNGpDkcSlCQMh5vEK-jWEXvLZqvQrC7xo.cache +1 -0
  522. data/test/dummy/tmp/cache/assets/sprockets/v3.0/v5/v5YkfQBmXgVc14PZpSCGIBT-Vdwb9nnis8DLiXogo2U.cache +1 -0
  523. data/test/dummy/tmp/cache/assets/sprockets/v3.0/v5/v5eeLDViPQrO3neRevMDKLMyU7_6NosFkSH2XSDMSVA.cache +1 -0
  524. data/test/dummy/tmp/cache/assets/sprockets/v3.0/vH/VHYlbUy6Drh_r2SAQKaaSQp-vVAs2W995MZXODWMLyk.cache +1 -0
  525. data/test/dummy/tmp/cache/assets/sprockets/v3.0/vH/vHVLf9Kpn7ZIsAjK1wybCRFRnwFm31mSzufZ2E4zwZU.cache +0 -0
  526. data/test/dummy/tmp/cache/assets/sprockets/v3.0/vS/vSXxaWQqvcbpdKaDiLcu6udK12iZKckJjnv6dBesBuE.cache +4 -0
  527. data/test/dummy/tmp/cache/assets/sprockets/v3.0/vy/vyn1m_51cpUyRWnkj68qWZz3Nyxp8uCV3t-vZoNaZQk.cache +1 -0
  528. data/test/dummy/tmp/cache/assets/sprockets/v3.0/vz/vzF4jtIUQmjMF9MSfKi_4r02MBS65jdHdarhNceE2Ow.cache +1 -0
  529. data/test/dummy/tmp/cache/assets/sprockets/v3.0/w6/w63utD1EaQ5L8Dwj4W43hxvR3uWxn8LRkwVEjEscpSk.cache +1 -0
  530. data/test/dummy/tmp/cache/assets/sprockets/v3.0/wQ/wQEuPUtM63wr2c4HK4yAyTcwsWPoIm_aaY61jsvRzho.cache +2 -0
  531. data/test/dummy/tmp/cache/assets/sprockets/v3.0/wZ/wZWBriQjeB0b5NDTDbfXoaIoKbFJdO3yjiRrONUcz6U.cache +1 -0
  532. data/test/dummy/tmp/cache/assets/sprockets/v3.0/wr/wrp9M6KC_3oq6hKcNJ8Kj3MNpzRK1eNrqJWtrr_wlM4.cache +3 -0
  533. data/test/dummy/tmp/cache/assets/sprockets/v3.0/wu/wuq-zoQvtKeWwYJ_KcBURUoJnbqoYuLN3c4vvEooim4.cache +0 -0
  534. data/test/dummy/tmp/cache/assets/sprockets/v3.0/xL/xLAnnuRc4_1YiW2ZFZq8_-NrLMKVabDg07KLgt55YRA.cache +1 -0
  535. data/test/dummy/tmp/cache/assets/sprockets/v3.0/xP/xPjuPqeVIVOwvZZwsoeySDK683g7w9iWJOepuaNVzhI.cache +4 -0
  536. data/test/dummy/tmp/cache/assets/sprockets/v3.0/xW/xWR54YJsohiIkX9ruCOvc1m9gtfIlDxTwffZIeWgArU.cache +1 -0
  537. data/test/dummy/tmp/cache/assets/sprockets/v3.0/xY/xYL-jGrZm_3zo2G6zeNSJLQARo_wgpUIaXUOkIjXvkU.cache +0 -0
  538. data/test/dummy/tmp/cache/assets/sprockets/v3.0/xm/xMTMSeTx9lrHYrKXdRl8VUymkGwUoVoJViTITOWcFB4.cache +3 -0
  539. data/test/dummy/tmp/cache/assets/sprockets/v3.0/xm/xmlC7ZNCBk1FKDSFSCtjBsjhCqsDNbYlGVUq_stMR98.cache +1 -0
  540. data/test/dummy/tmp/cache/assets/sprockets/v3.0/xo/xofRtfVAB-nwa1yUWmi_V23IjMONcrbWq53Gc_dDK6w.cache +3 -0
  541. data/test/dummy/tmp/cache/assets/sprockets/v3.0/y-/y-yZ1fTnCLFsViLVccN9Cc3G2I0da36tG984Ws3z1cY.cache +1 -0
  542. data/test/dummy/tmp/cache/assets/sprockets/v3.0/y6/y6pI8nXIwEcqXWadxbE9ov6tsZyn_s342gGL7l46qbk.cache +1 -0
  543. data/test/dummy/tmp/cache/assets/sprockets/v3.0/yT/yTjZO6YuU6fs__LzxjV8P2xNtxohVIHydCfUMLwpmRA.cache +1 -0
  544. data/test/dummy/tmp/cache/assets/sprockets/v3.0/yf/YF2oZijXWqTKrQUK0VGgz3qlKNbT-6Urm5Kq63shSvY.cache +0 -0
  545. data/test/dummy/tmp/cache/assets/sprockets/v3.0/yf/yfnaaxWyzJ_nUuLfMd7HcNZ37zAkkOj04gjZP4_-FPQ.cache +0 -0
  546. data/test/dummy/tmp/cache/assets/sprockets/v3.0/yw/ywk4t6jo9cZ2Fdvkf_UFbybOk5Y0dOJ8V77Re_BWq-g.cache +1 -0
  547. data/test/dummy/tmp/cache/assets/sprockets/v3.0/zM/zMcsTJgidKVERcnyOt6lwLSGkvBdfd2pBXd5QpyWdCk.cache +0 -0
  548. data/test/dummy/tmp/cache/assets/sprockets/v3.0/zX/zX3isg_XGiX4dTw253dv46c2_6jbOSjoHDsndx_zkws.cache +1 -0
  549. data/test/dummy/tmp/cache/assets/sprockets/v3.0/zn/znmB9J2iEm4qBnXMpaVugIzycbUqf2-bGRYEJhogCSI.cache +1 -0
  550. data/test/dummy/tmp/cache/assets/sprockets/v3.0/zo/zoCcgwkQpt4-DoZZMglIjDhbAqwpdCUS0UhhWCoyU1k.cache +1 -0
  551. data/test/dummy/tmp/cache/assets/sprockets/v3.0/zv/zv4MbZ_Snrtnmt5KJKA0SrpHnm8KSKVpuan4elWJmBA.cache +0 -0
  552. data/test/rails_db_data_table_helper_test.rb +35 -0
  553. data/test/rails_db_test.rb +13 -0
  554. data/test/sql_import_test.rb +16 -0
  555. data/test/sql_query_test.rb +28 -0
  556. data/test/standalone/Gemfile +13 -0
  557. data/test/standalone/Gemfile.lock +140 -0
  558. data/test/standalone/README.rdoc +28 -0
  559. data/test/standalone/Rakefile +6 -0
  560. data/test/standalone/app/assets/fonts/glyphicons-halflings-regular.eot +0 -0
  561. data/test/standalone/app/assets/fonts/glyphicons-halflings-regular.svg +288 -0
  562. data/test/standalone/app/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
  563. data/test/standalone/app/assets/fonts/glyphicons-halflings-regular.woff +0 -0
  564. data/test/standalone/app/assets/fonts/glyphicons-halflings-regular.woff2 +0 -0
  565. data/test/standalone/app/assets/javascripts/application.js +13 -0
  566. data/test/standalone/app/assets/stylesheets/application.css +15 -0
  567. data/test/standalone/app/assets/stylesheets/bootstrap-theme.min.css +5 -0
  568. data/test/standalone/app/assets/stylesheets/bootstrap.min.css +5 -0
  569. data/test/standalone/app/controllers/application_controller.rb +5 -0
  570. data/test/standalone/app/controllers/home_controller.rb +7 -0
  571. data/test/standalone/app/helpers/application_helper.rb +2 -0
  572. data/test/standalone/app/views/home/index.html.erb +3 -0
  573. data/test/standalone/app/views/layouts/application.html.erb +16 -0
  574. data/test/standalone/bin/bundle +3 -0
  575. data/test/standalone/bin/rails +4 -0
  576. data/test/standalone/bin/rake +4 -0
  577. data/test/standalone/bin/setup +29 -0
  578. data/test/standalone/config.ru +4 -0
  579. data/test/standalone/config/application.rb +45 -0
  580. data/test/standalone/config/boot.rb +7 -0
  581. data/test/standalone/config/database.yml +0 -0
  582. data/test/standalone/config/environment.rb +5 -0
  583. data/test/standalone/config/environments/development.rb +53 -0
  584. data/test/standalone/config/environments/production.rb +90 -0
  585. data/test/standalone/config/environments/test.rb +54 -0
  586. data/test/standalone/config/initializers/assets.rb +11 -0
  587. data/test/standalone/config/initializers/backtrace_silencers.rb +7 -0
  588. data/test/standalone/config/initializers/cookies_serializer.rb +3 -0
  589. data/test/standalone/config/initializers/filter_parameter_logging.rb +4 -0
  590. data/test/standalone/config/initializers/inflections.rb +16 -0
  591. data/test/standalone/config/initializers/mime_types.rb +7 -0
  592. data/test/standalone/config/initializers/rails_db.rb +23 -0
  593. data/test/standalone/config/initializers/session_store.rb +3 -0
  594. data/test/standalone/config/initializers/wrap_parameters.rb +14 -0
  595. data/test/standalone/config/locales/en.yml +23 -0
  596. data/test/standalone/config/routes.rb +5 -0
  597. data/test/standalone/config/secrets.yml +22 -0
  598. data/test/standalone/public/404.html +67 -0
  599. data/test/standalone/public/422.html +67 -0
  600. data/test/standalone/public/500.html +66 -0
  601. data/test/standalone/public/favicon.ico +0 -0
  602. data/test/table_test.rb +51 -0
  603. data/test/tables_helper_test.rb +35 -0
  604. data/test/test_helper.rb +19 -0
  605. data/test/test_sql_mysql.sql +12 -0
  606. data/test/test_sql_postgres.sql +12 -0
  607. data/test/test_sql_sqlite.sql +5 -0
  608. metadata +1355 -0
@@ -0,0 +1,7 @@
1
+ #search_form select, #search_form input, #search_form button {
2
+ width: auto;
3
+ display: inline-block;
4
+ }
5
+ #search_form .sorting_options select {
6
+ margin-right: 5px;
7
+ }
@@ -0,0 +1,22 @@
1
+ .side-nav.tables {
2
+ padding-top: 6px;
3
+ }
4
+
5
+ .side-nav.tables li {
6
+ margin: 0;
7
+ margin-left: 3px;
8
+ }
9
+
10
+ .side-nav.tables li a {
11
+ padding: 2px 4px;
12
+ }
13
+
14
+ .side-nav.tables li a.selected {
15
+ font-weight: bold;
16
+ }
17
+
18
+ #sidebar h3 {
19
+ font-size: 18px;
20
+ margin: 0;
21
+ padding: 0;
22
+ }
@@ -0,0 +1,12 @@
1
+ span.pk {
2
+ color: brown;
3
+ }
4
+
5
+ .delete_td, .edit_td {
6
+ width: 24px;
7
+ }
8
+
9
+ .column-name {
10
+ float: left;
11
+ width: 20%;
12
+ }
@@ -0,0 +1,26 @@
1
+ module RailsDb
2
+ class ApplicationController < ActionController::Base
3
+ helper :all
4
+ helper_method :per_page
5
+
6
+ before_action :verify_access
7
+
8
+ if RailsDb.http_basic_authentication_enabled
9
+ http_basic_authenticate_with name: RailsDb.http_basic_authentication_user_name,
10
+ password: RailsDb.http_basic_authentication_password
11
+ end
12
+
13
+ private
14
+
15
+ def verify_access
16
+ result = RailsDb.verify_access_proc.call(self)
17
+ redirect_to('/', error: 'Access Denied', status: 401) unless result
18
+ end
19
+
20
+ def per_page
21
+ params[:per_page] || session[:per_page]
22
+ end
23
+
24
+ end
25
+ end
26
+
@@ -0,0 +1,8 @@
1
+ module RailsDb
2
+ class DashboardController < RailsDb::ApplicationController
3
+
4
+ def index
5
+ end
6
+
7
+ end
8
+ end
@@ -0,0 +1,42 @@
1
+ module RailsDb
2
+ class SqlController < RailsDb::ApplicationController
3
+ before_action :load_query, only: [:index, :execute, :csv, :xls]
4
+
5
+ def index
6
+ end
7
+
8
+ def execute
9
+ render :index
10
+ end
11
+
12
+ def csv
13
+ send_data(@sql_query.to_csv, type: 'text/csv; charset=utf-8; header=present', filename: 'results.csv')
14
+ end
15
+
16
+ def xls
17
+ render xlsx: 'xls', filename: 'results.xlsx'
18
+ end
19
+
20
+ def import
21
+ end
22
+
23
+ def import_start
24
+ @importer = SqlImport.new(params[:file])
25
+ result = @importer.import
26
+ if result.ok?
27
+ flash[:notice] = 'File was successfully imported'
28
+ else
29
+ flash[:alert] = "Error occurred during import: #{result.error.message}"
30
+ end
31
+ render :import
32
+ end
33
+
34
+ private
35
+
36
+ def load_query
37
+ @sql = "#{params[:sql]}".strip
38
+ @sql_query = RailsDb::SqlQuery.new(@sql).execute
39
+ end
40
+
41
+ end
42
+ end
@@ -0,0 +1,108 @@
1
+ module RailsDb
2
+ class TablesController < RailsDb::ApplicationController
3
+ LOAD_TABLE_ACTIONS = [:show, :data, :csv, :truncate, :destroy, :edit, :update, :xlsx, :search, :new, :create]
4
+
5
+ before_action :find_table, only: LOAD_TABLE_ACTIONS
6
+
7
+ def index
8
+ @tables = RailsDb::Database.accessible_tables
9
+ end
10
+
11
+ def show
12
+ end
13
+
14
+ def new
15
+ @record = model.new
16
+ end
17
+
18
+ def create
19
+ @record = model.new(record_attributes)
20
+ @record.save!
21
+ build_search
22
+ respond_to do |page|
23
+ page.html { redirect_to action: :data, table_id: params[:table_id] }
24
+ page.js {}
25
+ end
26
+ end
27
+
28
+ def data
29
+ session[:per_page] = per_page
30
+ build_search
31
+ respond_to do |page|
32
+ page.html {}
33
+ page.js {}
34
+ end
35
+ end
36
+
37
+ def csv
38
+ send_data(@table.to_csv, type: 'text/csv; charset=utf-8; header=present', filename: "#{@table.name}.csv")
39
+ end
40
+
41
+ def xlsx
42
+ if defined? Axlsx
43
+ render xlsx: 'table', filename: "#{@table.name}.xlsx"
44
+ else
45
+ raise 'RailsDb could not find Axlsx, please add it to your Gemfile: "gem \'axlsx_rails\'"'
46
+ end
47
+ end
48
+
49
+ def truncate
50
+ @table.truncate
51
+ render :data
52
+ end
53
+
54
+ def destroy
55
+ build_search
56
+ @table.delete(params[:pk_id])
57
+ respond_to do |page|
58
+ page.html { redirect_to action: :data, table_id: params[:table_id] }
59
+ page.js {}
60
+ end
61
+ end
62
+
63
+ def edit
64
+ @record = @table.as_model.find(params[:pk_id])
65
+ respond_to do |page|
66
+ page.html { redirect_to action: :data, table_id: params[:table_id] }
67
+ page.js {}
68
+ end
69
+ end
70
+
71
+ def update
72
+ @record = @table.as_model.find(params[:pk_id])
73
+ @record.update_attributes(record_attributes)
74
+ respond_to do |page|
75
+ page.html { redirect_to action: :data, table_id: params[:table_id] }
76
+ page.js {}
77
+ end
78
+ end
79
+
80
+ private
81
+
82
+ def build_search
83
+ if Rails::VERSION::MAJOR >= 5
84
+ search_params = params.dup.permit!.to_h.with_indifferent_access
85
+ else
86
+ search_params = params
87
+ end
88
+ @q = model.ransack(search_params[:q])
89
+ @sql = @q.result.page(params[:page]).per(per_page).to_sql
90
+ @records = @q.result.page(params[:page]).per(per_page)
91
+ @q.build_condition if @q.conditions.empty?
92
+ @q.build_sort if @q.sorts.empty?
93
+ end
94
+
95
+ def model
96
+ @model ||= @table.as_model
97
+ end
98
+
99
+ def record_attributes
100
+ params[:record].permit!
101
+ end
102
+
103
+ def find_table
104
+ @table ||= RailsDb::Table.new(params[:id] || params[:table_id])
105
+ end
106
+
107
+ end
108
+ end
@@ -0,0 +1,82 @@
1
+ module RailsDb
2
+ module ApplicationHelper
3
+
4
+ def rails_db
5
+ super
6
+ rescue NameError
7
+ guess_name(request.path.split('/').reject(&:blank?))
8
+ end
9
+
10
+ # in case engine was added in namespace
11
+ def guess_name(sections)
12
+ if sections.size > 1
13
+ sections[-1] = 'rails_db'
14
+ variable = sections.join("_")
15
+ result = eval(variable)
16
+ end
17
+ rescue NameError
18
+ sections.delete_at(-2)
19
+ guess_name(sections)
20
+ end
21
+
22
+ def rails_db_tables
23
+ RailsDb::Database.accessible_tables
24
+ end
25
+
26
+ def link_to_add_fields(name, f, type)
27
+ new_object = f.object.send "build_#{type}"
28
+ id = "new_#{type}"
29
+ fields = f.send("#{type}_fields", new_object, child_index: id) do |builder|
30
+ render(type.to_s + "_fields", f: builder)
31
+ end
32
+ link_to(name, '#', class: "add_fields", data: {id: id, fields: fields.gsub("\n", "")})
33
+ end
34
+
35
+ def sidebar_classes
36
+ if show_sidebar?
37
+ 'large-3 large-pull-9 columns'
38
+ else
39
+ 'large-3 large-pull-9 columns hide'
40
+ end
41
+ end
42
+
43
+ def main_content_classes
44
+ if show_sidebar?
45
+ 'large-9 push-3 columns collapsed'
46
+ else
47
+ 'large-12 push-0 columns expanded'
48
+ end
49
+ end
50
+
51
+ def show_sidebar?
52
+ return true if controller_name == 'dashboard' && action_name == 'index'
53
+ cookies['sidebar_visible'] == 'true'
54
+ end
55
+
56
+ def title(str)
57
+ content_for :title do
58
+ raw("#{str}"[0].upcase + "#{str}"[1..-1])
59
+ end
60
+ end
61
+
62
+ def fa_icon(icon_name)
63
+ %{<i class="fa fa-#{icon_name}"></i>}.html_safe
64
+ end
65
+
66
+ def db_hint_options
67
+ result = {}
68
+ RailsDb::Database.accessible_tables.each do |table_name|
69
+ result[table_name] = RailsDb::Table.new(table_name).columns.inject({}) {|res, e| res[e.name] = nil; res }
70
+ end
71
+ result
72
+ end
73
+
74
+ def params_to_hash(p)
75
+ if p.respond_to?(:to_unsafe_h)
76
+ p.to_unsafe_h
77
+ else
78
+ p
79
+ end
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,44 @@
1
+ module RailsDb
2
+ module FlashMessagesHelper
3
+ # <div class="alert-box [success alert secondary]">
4
+ # This is an alert box.
5
+ # <a href="" class="close">&times;</a>
6
+ # </div>
7
+ DEFAULT_KEY_MATCHING = {
8
+ :alert => :alert,
9
+ :notice => :success,
10
+ :info => :info,
11
+ :secondary => :secondary,
12
+ :success => :success,
13
+ :error => :alert,
14
+ :warning => :warning
15
+ }
16
+ def display_flash_messages(key_matching = {})
17
+ key_matching = DEFAULT_KEY_MATCHING.merge(key_matching)
18
+ key_matching.default = :standard
19
+
20
+ result = capture do
21
+ flash.each do |key, value|
22
+ alert_class = key_matching[key.to_sym]
23
+ concat alert_box(value, alert_class)
24
+ end
25
+ end
26
+ flash.clear
27
+ result
28
+ end
29
+
30
+ private
31
+
32
+ def alert_box(value, alert_class)
33
+ content_tag :div, data: { alert: '' }, class: "alert-box #{alert_class}" do
34
+ concat value
35
+ concat close_link
36
+ end
37
+ end
38
+
39
+ def close_link
40
+ link_to("&times;".html_safe, '#', class: :close)
41
+ end
42
+
43
+ end
44
+ end
@@ -0,0 +1,74 @@
1
+ module RailsDb
2
+ module RailsDbDataTableHelper
3
+ # TODO check styles
4
+ STYLES = {
5
+ default: {
6
+ table: 'table',
7
+ tr: 'table_tr',
8
+ th: 'table_th',
9
+ td: 'table_td',
10
+ thead: 'table_thead',
11
+ tfoot: 'table_tfoot'
12
+ },
13
+ bootstrap: {
14
+ table: 'table table-bordered table-striped table-hover',
15
+ tr: 'table_tr',
16
+ th: 'table_th',
17
+ td: 'table_td',
18
+ thead: 'table_thead',
19
+ tfoot: 'table_tfoot'
20
+ },
21
+ foundation: {
22
+ table: 'table',
23
+ tr: 'table_tr',
24
+ th: 'table_th',
25
+ td: 'table_td',
26
+ thead: 'table_thead',
27
+ tfoot: 'table_tfoot'
28
+ }
29
+ }
30
+
31
+ def rails_db_data_table(table_name, options = {})
32
+ options.reverse_merge!(
33
+ style: :default,
34
+ header: true,
35
+ footer: false,
36
+ columns: [],
37
+ limit: nil,
38
+ order_by: nil,
39
+ order: :asc
40
+ )
41
+ table = RailsDb::Table.new(table_name)
42
+ .limit(options[:limit])
43
+ .order_by(options[:order_by])
44
+ .select(options[:columns])
45
+ .order(options[:order])
46
+
47
+ render '/rails_db/shared/data_table', table: table,
48
+ header: options[:header],
49
+ footer: options[:footer],
50
+ style: options[:style]
51
+ end
52
+
53
+ def rails_db_data_table_sql(sql, options = {})
54
+ options.reverse_merge!(
55
+ style: :default,
56
+ header: true,
57
+ footer: false,
58
+ )
59
+ sql = "#{sql}".strip
60
+ sql_query = RailsDb::SqlQuery.new(sql, false).execute
61
+
62
+ render '/rails_db/shared/sql_result', sql_query: sql_query,
63
+ header: options[:header],
64
+ footer: options[:footer],
65
+ style: options[:style]
66
+ end
67
+
68
+ def rails_db_table_style(tag, style)
69
+ style = STYLES[style] || STYLES[:default]
70
+ style[tag.to_sym]
71
+ end
72
+
73
+ end
74
+ end
@@ -0,0 +1,60 @@
1
+ module RailsDb
2
+ module TablesHelper
3
+
4
+ def format_value(column, value)
5
+ return value
6
+ # TODO here
7
+ return nil unless value
8
+ case column.type
9
+ when :datetime
10
+ I18n.l(DateTime.parse(value), format: :long)
11
+ when :date
12
+ I18n.l(Date.parse(value), format: :long)
13
+ else
14
+ value
15
+ end
16
+ end
17
+
18
+ def titleize_column(column, title = nil)
19
+ column
20
+ end
21
+
22
+ def select_top_from_table(table)
23
+ link_to raw("#{fa_icon('database')} SQL Query"), rails_db.sql_path(sql: "select * from #{table} limit 10")
24
+ end
25
+
26
+ def delete_row_path(table, record)
27
+ options = params.permit!
28
+ table_destroy_path(table,
29
+ pk_id: record[table.primary_key],
30
+ page: options[:page],
31
+ q: options[:q])
32
+ end
33
+
34
+ def table_pagination_path
35
+ params.delete(:pk_id)
36
+ params_to_hash params.merge({action: :data})
37
+ end
38
+
39
+ def column_is_checked?(table_name, column_name)
40
+ if cookies["Table: #{table_name}"].present?
41
+ !cookies["Table: #{table_name}"].split(',').include?(column_name)
42
+ else
43
+ true
44
+ end
45
+ end
46
+
47
+ def display_style_column(table_name, column_name)
48
+ column_is_checked?(table_name, column_name) ? 'display' : 'display:none'
49
+ end
50
+
51
+ def search_form_class
52
+ hash = params.permit!.to_hash.fetch('q', {})
53
+ keys = hash.keys
54
+ return 'hide' if keys.empty?
55
+ return 'hide' if keys == ['s']
56
+ nil
57
+ end
58
+
59
+ end
60
+ end