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,26 @@
1
+ if Rails::VERSION::MAJOR >= 5
2
+
3
+ module Ransack
4
+ module Helpers
5
+ module FormHelper
6
+
7
+ class SortLink
8
+
9
+ def url_options_with_feature
10
+ result = url_options_without_feature
11
+ if result.respond_to?(:permit!)
12
+ result.permit!
13
+ else
14
+ result
15
+ end
16
+ end
17
+
18
+ alias_method :url_options_without_feature, :url_options
19
+ alias_method :url_options, :url_options_with_feature
20
+ end
21
+
22
+ end
23
+ end
24
+ end
25
+
26
+ end
@@ -0,0 +1 @@
1
+ SimpleForm::FormBuilder.mappings[:inet] ||= SimpleForm::Inputs::StringInput
@@ -0,0 +1,10 @@
1
+ class String
2
+ def red; colorize(self, "\e[1m\e[31m"); end
3
+ def green; colorize(self, "\e[1m\e[32m"); end
4
+ def dark_green; colorize(self, "\e[32m"); end
5
+ def yellow; colorize(self, "\e[1m\e[33m"); end
6
+ def blue; colorize(self, "\e[1m\e[34m"); end
7
+ def dark_blue; colorize(self, "\e[34m"); end
8
+ def pur; colorize(self, "\e[1m\e[35m"); end
9
+ def colorize(text, color_code) "#{color_code}#{text}\e[0m" end
10
+ end
@@ -0,0 +1,8 @@
1
+ Description:
2
+ Generate configuration file.
3
+
4
+ Example:
5
+ rails generate rails_db initializer
6
+
7
+ This will create:
8
+ config/xplore
@@ -0,0 +1,27 @@
1
+ if Object.const_defined?('Xplore')
2
+ Xplore.setup do |config|
3
+ # # enabled or not
4
+ # config.enabled = Rails.env.development?
5
+
6
+ # # automatic engine routes mounting
7
+ # config.automatic_routes_mount = true
8
+
9
+ # set tables which you want to hide ONLY
10
+ # config.black_list_tables = ['users', 'accounts']
11
+
12
+ # set tables which you want to show ONLY
13
+ # config.white_list_tables = ['posts', 'comments']
14
+
15
+ # # Enable http basic authentication
16
+ # config.http_basic_authentication_enabled = false
17
+
18
+ # # Enable http basic authentication
19
+ # config.http_basic_authentication_user_name = 'rails_db'
20
+
21
+ # # Enable http basic authentication
22
+ # config.http_basic_authentication_password = 'password'
23
+
24
+ # # Enable http basic authentication
25
+ # config.verify_access_proc = proc { |controller| true }
26
+ end
27
+ end
@@ -0,0 +1,6 @@
1
+ class XploreGenerator < Rails::Generators::NamedBase
2
+ source_root File.expand_path('../templates', __FILE__)
3
+ def copy_initializer
4
+ template 'xplore.rb', 'config/initializers/xplore.rb'
5
+ end
6
+ end
@@ -0,0 +1,24 @@
1
+ require_relative 'rails_db/version'
2
+
3
+ require_relative 'rails_db/connection'
4
+ require_relative 'rails_db/database'
5
+ require_relative 'rails_db/blank_results'
6
+ require_relative 'rails_db/mysql_result'
7
+ require_relative 'rails_db/result'
8
+ require_relative 'rails_db/rails_db_error'
9
+ require_relative 'rails_db/history'
10
+
11
+ require_relative 'rails_db/sql_query_data'
12
+ require_relative 'rails_db/sql_explain'
13
+ require_relative 'rails_db/sql_import'
14
+ require_relative 'rails_db/sql_query'
15
+
16
+ require_relative 'rails_db/table_pagination'
17
+ require_relative 'rails_db/table'
18
+ require_relative 'rails_db/table_data'
19
+
20
+ require_relative 'rails_db/adapters/base_adapter'
21
+ require_relative 'rails_db/adapters/mysql'
22
+ require_relative 'rails_db/adapters/postgres'
23
+ require_relative 'rails_db/adapters/sqlite'
24
+
@@ -0,0 +1,7 @@
1
+ module ActionDispatch::Routing
2
+ class Mapper
3
+ def mount_rails_db_routes(options = {})
4
+ mount RailsDb::Engine => '/rails/db', :as => options[:as] || 'rails_db'
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,66 @@
1
+ require "rails"
2
+ require 'codemirror-rails'
3
+ require 'terminal-table'
4
+ require 'csv'
5
+ require 'simple_form'
6
+ require 'ransack'
7
+ require 'kaminari'
8
+
9
+ module RailsDb
10
+ # Custom require relative that work with older rubies also
11
+ # def self.require_relative(path)
12
+ # full_path = File.expand_path(path, File.dirname(__FILE__))
13
+ # Kernel.require(full_path)
14
+ # end
15
+
16
+ # gem in enabled
17
+ mattr_accessor :enabled
18
+ @@enabled = true
19
+
20
+ # automatic engine routes mouting
21
+ mattr_accessor :automatic_routes_mount
22
+ @@automatic_routes_mount = true
23
+
24
+ # set tables which you want to hide ONLY
25
+ mattr_accessor :black_list_tables
26
+ @@black_list_tables = []
27
+
28
+ # set tables which you want to show ONLY
29
+ mattr_accessor :white_list_tables
30
+ @@white_list_tables = []
31
+
32
+ # Enable http basic authentication
33
+ mattr_accessor :http_basic_authentication_enabled
34
+ @@http_basic_authentication_enabled = false
35
+
36
+ # Enable http basic authentication
37
+ mattr_accessor :http_basic_authentication_user_name
38
+ @@http_basic_authentication_user_name = 'xplore'
39
+
40
+ # Enable http basic authentication
41
+ mattr_accessor :http_basic_authentication_password
42
+ @@http_basic_authentication_password = 'password'
43
+
44
+ # If you want to enable access by specific conditions
45
+ mattr_accessor :verify_access_proc
46
+ @@verify_access_proc = proc { |controller| true }
47
+
48
+ def self.setup
49
+ yield(self)
50
+ end
51
+
52
+ def self.use_default_configuration!
53
+ self.enabled = true
54
+ self.automatic_routes_mount = true
55
+ self.black_list_tables = self.white_list_tables = []
56
+ self.http_basic_authentication_enabled = false
57
+ self.verify_access_proc = proc { |controller| true }
58
+ end
59
+
60
+ end
61
+
62
+ require_relative "libs"
63
+ require_relative "rails_db/engine"
64
+ require_relative "rails/routes"
65
+ require_relative "ext/simple_form_ext"
66
+ require_relative "ext/ransack_ext"
@@ -0,0 +1,74 @@
1
+ module RailsDb
2
+ module Adapters
3
+
4
+ class BaseAdapter
5
+ extend ::RailsDb::Connection
6
+
7
+ MULTI_STATEMENT_HELP_TEXT = "EXPERIMENTAL: You can import only file with SQL statements separated by ';'. Each new statement must start from new line."
8
+
9
+ def self.execute(sql)
10
+ t0 = Time.now
11
+ connection.execute(sql)
12
+ Time.now - t0
13
+ end
14
+
15
+ def self.exec_query(sql)
16
+ t0 = Time.now
17
+ results = connection.exec_query(sql)
18
+ execution_time = Time.now - t0
19
+ [results, execution_time]
20
+ end
21
+
22
+ def self.select(sql)
23
+ BaseAdapter.exec_query(sql)
24
+ end
25
+
26
+ def self.explain(sql)
27
+ BaseAdapter.exec_query(sql)
28
+ end
29
+
30
+ def self.adapter_name
31
+ 'base'
32
+ end
33
+
34
+ def self.mime
35
+ 'text/x-sql'
36
+ end
37
+
38
+ def self.truncate(table_name)
39
+ execute("TRUNCATE TABLE #{table_name};")
40
+ end
41
+
42
+ def self.delete(table_name, pk_name, pk_id)
43
+ case pk_id
44
+ when Fixnum, Bignum then
45
+ execute("DELETE FROM #{table_name} WHERE #{pk_name} = #{pk_id};")
46
+ else
47
+ execute("DELETE FROM #{table_name} WHERE #{pk_name} = '#{pk_id}';")
48
+ end
49
+ end
50
+
51
+ def self.count(table_name)
52
+ select("SELECT COUNT(*) FROM #{table_name}")[0].rows.flatten.last.to_i
53
+ end
54
+
55
+ def self.primary_key(table_name)
56
+ connection.primary_key(table_name)
57
+ end
58
+
59
+ def self.indexes(table_name)
60
+ connection.indexes(table_name)
61
+ end
62
+
63
+ private
64
+
65
+ def self.multiple_execute(sql, divider = ";\n")
66
+ sql.split(divider).each do |statement|
67
+ connection.execute(statement)
68
+ end
69
+ end
70
+
71
+ end
72
+
73
+ end
74
+ end
@@ -0,0 +1,31 @@
1
+ module RailsDb
2
+ module Adapters
3
+
4
+ class Mysql < BaseAdapter
5
+
6
+ def self.execute(sql)
7
+ t0 = Time.now
8
+ multiple_execute(sql)
9
+ Time.now - t0
10
+ end
11
+
12
+ def self.exec_query(sql, log = true)
13
+ t0 = Time.now
14
+ results = connection.execute(sql, 'SQL') # used from RoR mysql adapter source
15
+ result = MysqlResult.new(results)
16
+ execution_time = Time.now - t0
17
+ [result, execution_time]
18
+ end
19
+
20
+ def self.adapter_name
21
+ 'mysql'
22
+ end
23
+
24
+ def self.mime
25
+ 'text/x-mysql'
26
+ end
27
+
28
+ end
29
+
30
+ end
31
+ end
@@ -0,0 +1,17 @@
1
+ module RailsDb
2
+ module Adapters
3
+
4
+ class Postgres < BaseAdapter
5
+
6
+ def self.adapter_name
7
+ 'postgres'
8
+ end
9
+
10
+ def self.mime
11
+ 'text/x-plsql'
12
+ end
13
+
14
+ end
15
+
16
+ end
17
+ end
@@ -0,0 +1,23 @@
1
+ module RailsDb
2
+ module Adapters
3
+
4
+ class Sqlite < BaseAdapter
5
+
6
+ def self.execute(sql)
7
+ t0 = Time.now
8
+ multiple_execute(sql)
9
+ Time.now - t0
10
+ end
11
+
12
+ def self.adapter_name
13
+ 'sqlite'
14
+ end
15
+
16
+ def self.truncate(table_name)
17
+ execute("DELETE FROM #{table_name};")
18
+ end
19
+
20
+ end
21
+
22
+ end
23
+ end
@@ -0,0 +1,8 @@
1
+ module RailsDb
2
+ class BlankResults
3
+
4
+ def rows; [] end
5
+ def columns; [] end
6
+
7
+ end
8
+ end
@@ -0,0 +1,25 @@
1
+ module RailsDb
2
+ module Connection
3
+
4
+ def connection
5
+ ActiveRecord::Base.connection
6
+ end
7
+
8
+ def columns
9
+ connection.columns(name)
10
+ end
11
+
12
+ def column_properties
13
+ %w(name sql_type null limit precision scale type default)
14
+ end
15
+
16
+ def to_param
17
+ name
18
+ end
19
+
20
+ def column_names
21
+ columns.collect(&:name)
22
+ end
23
+
24
+ end
25
+ end
@@ -0,0 +1,46 @@
1
+ module RailsDb
2
+ class Database
3
+ extend Connection
4
+
5
+ class << self
6
+ delegate :count, to: :adapter
7
+ delegate :truncate, to: :adapter
8
+ delegate :delete, to: :adapter
9
+ delegate :execute, to: :adapter
10
+ delegate :select, to: :adapter
11
+ delegate :explain, to: :adapter
12
+ delegate :exec_query, to: :adapter
13
+ delegate :primary_key, to: :adapter
14
+ delegate :indexes, to: :adapter
15
+ end
16
+
17
+ def self.tables
18
+ connection.tables.sort - ['schema_migrations']
19
+ end
20
+
21
+ def self.accessible_tables
22
+ tables = Database.tables
23
+ if Array.wrap(RailsDb.white_list_tables) != []
24
+ tables = tables & RailsDb.white_list_tables
25
+ end
26
+ if Array.wrap(RailsDb.black_list_tables) != []
27
+ tables = tables - RailsDb.black_list_tables
28
+ end
29
+ tables
30
+ end
31
+
32
+ def self.adapter
33
+ case connection.class.to_s
34
+ when /Mysql/
35
+ RailsDb::Adapters::Mysql
36
+ when /Postgre/
37
+ RailsDb::Adapters::Postgres
38
+ when /SQLite/
39
+ RailsDb::Adapters::Sqlite
40
+ else
41
+ RailsDb::Adapters::BaseAdapter
42
+ end
43
+ end
44
+
45
+ end
46
+ end
@@ -0,0 +1,17 @@
1
+ # Migration will be done later
2
+ module RailsDb
3
+ class Engine < ::Rails::Engine
4
+ isolate_namespace RailsDb
5
+ config.autoload_paths += Dir["#{config.root}/lib"]
6
+
7
+ initializer 'rails_db.assets_precompile', :group => :all do |app|
8
+ app.config.assets.precompile += ['rails_db/application.js', 'rails_db/application.css', 'rails_db/*.png']
9
+ end
10
+
11
+ initializer 'rails_db.helpers' do
12
+ ActiveSupport.on_load :action_view do
13
+ ActionView::Base.send :include, RailsDb::RailsDbDataTableHelper
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,29 @@
1
+ module RailsDb
2
+ class History
3
+
4
+ class << self
5
+
6
+ def instance
7
+ $history ||= []
8
+ end
9
+
10
+ def add(sql)
11
+ instance.push(sql) unless last == sql
12
+ end
13
+
14
+ def last
15
+ history[0]
16
+ end
17
+
18
+ def remove(sql)
19
+ instance.delete(sql)
20
+ end
21
+
22
+ def history
23
+ instance.reverse
24
+ end
25
+
26
+ end
27
+
28
+ end
29
+ end