localtower 1.0.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +121 -33
  3. data/app/assets/stylesheets/application.css +68 -0
  4. data/app/controllers/localtower/pages_controller.rb +20 -35
  5. data/app/javascript/application.js +46 -0
  6. data/app/javascript/components/DarkSelect.js +115 -0
  7. data/app/javascript/components/ModernTooltip.js +26 -0
  8. data/app/javascript/components/NewMigrationForm.js +687 -0
  9. data/app/javascript/components/NewModelForm.js +432 -0
  10. data/app/javascript/components/data/Stores.js +294 -0
  11. data/app/views/layouts/localtower/application.html.erb +80 -66
  12. data/app/views/localtower/_migration.html.erb +30 -0
  13. data/app/views/localtower/pages/_alert_no_models.html.erb +1 -1
  14. data/app/views/localtower/pages/migrations.html.erb +24 -55
  15. data/app/views/localtower/pages/new_migration.html.erb +33 -96
  16. data/app/views/localtower/pages/new_model.html.erb +17 -83
  17. data/config/routes.rb +1 -1
  18. data/lib/localtower/engine.rb +5 -2
  19. data/lib/localtower/generators/migration.rb +218 -91
  20. data/lib/localtower/generators/model.rb +29 -20
  21. data/lib/localtower/generators/service_objects/insert_array.rb +5 -3
  22. data/lib/localtower/generators/service_objects/insert_defaults.rb +73 -3
  23. data/lib/localtower/generators/service_objects/insert_foreign_keys.rb +35 -0
  24. data/lib/localtower/generators/service_objects/insert_indexes.rb +41 -18
  25. data/lib/localtower/generators/service_objects/insert_nullable.rb +5 -3
  26. data/lib/localtower/status.rb +3 -1
  27. data/lib/localtower/tools.rb +20 -9
  28. data/lib/localtower/version.rb +1 -1
  29. data/lib/localtower.rb +0 -6
  30. data/public/com/favicon-64.png +0 -0
  31. data/public/com/twitter-cover-1.png +0 -0
  32. data/public/com/twitter-cover-2.png +0 -0
  33. data/public/fonts/Circular/CircularStd-Black.otf +0 -0
  34. data/public/fonts/Circular/CircularStd-BlackItalic.otf +0 -0
  35. data/public/fonts/Circular/CircularStd-Bold.otf +0 -0
  36. data/public/fonts/Circular/CircularStd-BoldItalic.otf +0 -0
  37. data/public/fonts/Circular/CircularStd-Book.otf +0 -0
  38. data/public/fonts/Circular/CircularStd-BookItalic.otf +0 -0
  39. data/public/fonts/Circular/CircularStd-Light Italic.otf +0 -0
  40. data/public/fonts/Circular/CircularStd-Light.otf +0 -0
  41. data/public/fonts/Circular/CircularStd-Medium.otf +0 -0
  42. data/public/fonts/Circular/CircularStd-MediumItalic.otf +0 -0
  43. data/public/fonts/Circular/Read Me.txt +5 -0
  44. data/public/fonts/Circular/www.dfonts.org.url +2 -0
  45. data/public/javascripts/application.js +30830 -0
  46. data/public/javascripts/application.js.map +7 -0
  47. data/public/screenshots/v0.1.1/1_schema.png +0 -0
  48. data/public/screenshots/v0.1.1/2_models_1.png +0 -0
  49. data/public/screenshots/v0.1.1/2_models_2.png +0 -0
  50. data/public/screenshots/v0.1.1/3_relations.png +0 -0
  51. data/public/screenshots/v0.1.1/4_migrations.png +0 -0
  52. data/public/screenshots/v0.1.6/1_schema.png +0 -0
  53. data/public/screenshots/v0.1.6/2_models_1.png +0 -0
  54. data/public/screenshots/v0.1.6/3_relations.png +0 -0
  55. data/public/screenshots/v0.1.6/4_migrations.png +0 -0
  56. data/public/screenshots/v0.1.6/5_capture.png +0 -0
  57. data/public/screenshots/v1.0.0/migrations.png +0 -0
  58. data/public/screenshots/v1.0.0/models.png +0 -0
  59. data/public/screenshots/v1.0.0/new_migration.png +0 -0
  60. data/public/screenshots/v1.0.0/new_model.png +0 -0
  61. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.44.30.jpg +0 -0
  62. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.44.42.jpg +0 -0
  63. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.44.54.jpg +0 -0
  64. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.48.21.jpg +0 -0
  65. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.48.28.jpg +0 -0
  66. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.48.51.jpg +0 -0
  67. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.49.09.jpg +0 -0
  68. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.50.04.jpg +0 -0
  69. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.50.11.jpg +0 -0
  70. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.50.19.jpg +0 -0
  71. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.51.47.jpg +0 -0
  72. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.51.48.jpg +0 -0
  73. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.52.02.jpg +0 -0
  74. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.52.18.jpg +0 -0
  75. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.52.26.jpg +0 -0
  76. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.52.38.jpg +0 -0
  77. data/public/screenshots/v2.0.0/migrations.png +0 -0
  78. data/public/screenshots/v2.0.0/new_migration.png +0 -0
  79. data/public/screenshots/v2.0.0/new_model.png +0 -0
  80. data/public/stylesheets/application.css +1179 -0
  81. data/public/vendor/jquery-3.7.1.min.js +2 -0
  82. data/public/vendor/lucide.min.js +12 -0
  83. data/public/vendor/monokai-sublime.css +80 -0
  84. data/public/vendor/rails-ujs.min.js +8 -0
  85. data/spec/dummy/Gemfile +1 -1
  86. data/spec/dummy/Gemfile.lock +140 -102
  87. data/spec/dummy/app/models/user.rb +0 -1
  88. data/spec/dummy/config/database.yml +4 -6
  89. data/spec/dummy/config/puma.rb +1 -1
  90. data/spec/dummy/db/migrate/20241118233214_create_users.rb +9 -0
  91. data/spec/dummy/db/migrate/20241118233233_add_column_titme_for_user.rb +6 -0
  92. data/spec/dummy/db/schema.rb +3 -19
  93. data/spec/dummy/lib/tasks/reset.rake +16 -0
  94. data/spec/dummy/log/development.log +20995 -15969
  95. data/spec/dummy/log/localtower.log +588 -1906
  96. data/spec/dummy/log/test.log +716 -0
  97. data/spec/dummy/tmp/cache/sessions/localtower/726/FE1/_session_id%3A2%3A%3A69d6764784f832ea25700ea2f242210f3f8d94b48912b0f09ffc44311f0376eb +0 -0
  98. data/spec/dummy/tmp/cache/sessions/localtower/77E/121/_session_id%3A2%3A%3A0b3c1fe7154461ba023ba6c81dd1b999348757880b505f4b082faed263a627f9 +1 -0
  99. data/spec/dummy/tmp/cache/sessions/localtower/7EB/8A1/_session_id%3A2%3A%3Af88237c1d157546a5dcde894fd6c1410162a8eba318748d4ac573ee75e40df16 +0 -0
  100. data/spec/dummy/tmp/local_secret.txt +1 -0
  101. data/spec/dummy/tmp/pids/server.pid +1 -1
  102. data/spec/factories/migration.rb +77 -40
  103. data/spec/factories/model.rb +46 -26
  104. data/spec/lib/localtower/generators/migration_spec.rb +16 -24
  105. data/spec/lib/localtower/generators/model_spec.rb +71 -8
  106. data/spec/lib/localtower/generators/service_objects/insert_array_spec.rb +1 -1
  107. data/spec/lib/localtower/generators/service_objects/insert_defaults_spec.rb +1 -1
  108. data/spec/lib/localtower/generators/service_objects/insert_foreign_keys_spec.rb +101 -0
  109. data/spec/lib/localtower/generators/service_objects/insert_indexes_spec.rb +1 -1
  110. data/spec/lib/localtower/generators/service_objects/insert_nullable_spec.rb +2 -2
  111. data/spec/spec_helper.rb +2 -3
  112. metadata +111 -234
  113. data/app/views/localtower/pages/models.html.erb +0 -63
  114. data/public/css/app.css +0 -55
  115. data/public/js/app.js +0 -337
  116. data/public/light-bootstrap-dashboard-master/assets/css/animate.min.css +0 -6
  117. data/public/light-bootstrap-dashboard-master/assets/css/bootstrap.min.css +0 -5
  118. data/public/light-bootstrap-dashboard-master/assets/css/demo.css +0 -61
  119. data/public/light-bootstrap-dashboard-master/assets/css/light-bootstrap-dashboard.css +0 -2789
  120. data/public/light-bootstrap-dashboard-master/assets/css/pe-icon-7-stroke.css +0 -632
  121. data/public/light-bootstrap-dashboard-master/assets/fonts/Pe-icon-7-stroke.eot +0 -0
  122. data/public/light-bootstrap-dashboard-master/assets/fonts/Pe-icon-7-stroke.svg +0 -212
  123. data/public/light-bootstrap-dashboard-master/assets/fonts/Pe-icon-7-stroke.ttf +0 -0
  124. data/public/light-bootstrap-dashboard-master/assets/fonts/Pe-icon-7-stroke.woff +0 -0
  125. data/public/light-bootstrap-dashboard-master/assets/img/default-avatar.png +0 -0
  126. data/public/light-bootstrap-dashboard-master/assets/img/faces/face-0.jpg +0 -0
  127. data/public/light-bootstrap-dashboard-master/assets/img/faces/face-1.jpg +0 -0
  128. data/public/light-bootstrap-dashboard-master/assets/img/faces/face-2.jpg +0 -0
  129. data/public/light-bootstrap-dashboard-master/assets/img/faces/face-3.jpg +0 -0
  130. data/public/light-bootstrap-dashboard-master/assets/img/faces/face-4.jpg +0 -0
  131. data/public/light-bootstrap-dashboard-master/assets/img/faces/face-5.jpg +0 -0
  132. data/public/light-bootstrap-dashboard-master/assets/img/faces/face-6.jpg +0 -0
  133. data/public/light-bootstrap-dashboard-master/assets/img/faces/face-7.jpg +0 -0
  134. data/public/light-bootstrap-dashboard-master/assets/img/faces/tim_vector.jpe +0 -0
  135. data/public/light-bootstrap-dashboard-master/assets/img/favicon.ico +0 -0
  136. data/public/light-bootstrap-dashboard-master/assets/img/loading-bubbles.svg +0 -14
  137. data/public/light-bootstrap-dashboard-master/assets/img/mask.png +0 -0
  138. data/public/light-bootstrap-dashboard-master/assets/img/new_logo.png +0 -0
  139. data/public/light-bootstrap-dashboard-master/assets/img/sidebar-1.jpg +0 -0
  140. data/public/light-bootstrap-dashboard-master/assets/img/sidebar-2.jpg +0 -0
  141. data/public/light-bootstrap-dashboard-master/assets/img/sidebar-3.jpg +0 -0
  142. data/public/light-bootstrap-dashboard-master/assets/img/sidebar-4.jpg +0 -0
  143. data/public/light-bootstrap-dashboard-master/assets/img/sidebar-5.jpg +0 -0
  144. data/public/light-bootstrap-dashboard-master/assets/img/tim_80x80.png +0 -0
  145. data/public/light-bootstrap-dashboard-master/assets/js/bootstrap-checkbox-radio-switch.js +0 -502
  146. data/public/light-bootstrap-dashboard-master/assets/js/bootstrap-notify.js +0 -404
  147. data/public/light-bootstrap-dashboard-master/assets/js/bootstrap-select.js +0 -438
  148. data/public/light-bootstrap-dashboard-master/assets/js/bootstrap.min.js +0 -7
  149. data/public/light-bootstrap-dashboard-master/assets/js/chartist.min.js +0 -9
  150. data/public/light-bootstrap-dashboard-master/assets/js/demo.js +0 -152
  151. data/public/light-bootstrap-dashboard-master/assets/js/jquery-1.10.2.js +0 -9789
  152. data/public/light-bootstrap-dashboard-master/assets/js/light-bootstrap-dashboard.js +0 -179
  153. data/public/logo-localtower-white-300.png +0 -0
  154. data/public/logo-localtower-white.png +0 -0
  155. data/public/logo-localtower.png +0 -0
  156. data/public/vendor/font-awesome.min.css +0 -4
  157. data/public/vendor/highlight-js-default.min.css +0 -9
  158. data/spec/dummy/app/models/post.rb +0 -3
  159. data/spec/dummy/db/migrate/20230119221452_create_users.rb +0 -14
  160. data/spec/dummy/db/migrate/20230119221751_change_users_at1674166670.rb +0 -7
  161. data/spec/dummy/db/migrate/20230119222054_create_posts.rb +0 -11
  162. data/spec/dummy/db/migrate/20230119222106_change_posts_at1674166865.rb +0 -5
  163. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/-Y/-YOiiBKqc2UODHFjctm8xc7xFoZaL7zOjWQj6qQ2wyE.cache +0 -1
  164. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/-d/-dwueM4vmPt8L51S3jeSyg_AjGDcj0GUN6pDpCA1gCg.cache +0 -3
  165. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/0g/0gaJnJQdtd2ACbihXxn8OnjLWlDjnQ_WxfgOpbiLzhg.cache +0 -1
  166. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/0r/0rFCsCV9kZnEYtZZ6sfig8329OU31bqjecDFqSVank8.cache +0 -1
  167. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/1J/1J2k_CpnQE3d-PZAQwOVGQALGkta4qVvhdsKjgG0e4Q.cache +0 -0
  168. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/2p/2pYVH2Z_syqh6ok8QYxJNKxXpx1Iwppf6JGElZI0gpw.cache +0 -0
  169. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/3W/3WBmqd-2V6q5N-jvbyp-tlcfn3aHYMwBppbOUm7x4qg.cache +0 -1
  170. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/4K/4KFPlHkhdDW0riGUmlbaR-kmDz6JUnQvY6fwW8qsdaE.cache +0 -3
  171. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/6x/6xMeRWmLpNK_flx6-JA3KazvUxSCxyPxHv9Zm3eC26Q.cache +0 -1
  172. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/7d/7dNqI_dCDJLJmI1oM4xwFp9nRRNOem-4P4OD7PMyz2E.cache +0 -0
  173. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/8X/8XquhxVcp5A8QquLtxO8NgKTMJch0eqQmzFmRGIZP6I.cache +0 -1
  174. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ah/AhdfXXtU63kXS4TnsH2Vi1yWgVkIEeV8Z8XA68hrNQc.cache +0 -0
  175. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Bt/BtAePnwLSGw82xUGI7wuhWDfuwarOQVS91YqCsweMcs.cache +0 -0
  176. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Bx/BxzoG0KxeNLac4xTNeJv3qfeytbNBw58xj2zD-xdbrE.cache +0 -2
  177. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/CC/CCD0ROPX0yxHwNpVZmuP8ZNtgQpaVCMXpdzC0Wb5n24.cache +0 -1
  178. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/DS/DS43oxBg6K5PMWLn2mTy_4EnxI03ehHkxpjV7NCi8yM.cache +0 -1
  179. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Do/Do83AoOat5W-c1g7piDGy2GMmffsY6JY0Qfuh5PY3GM.cache +0 -2
  180. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/EI/EI0Nxk-VRATWstMuVCVc0_GdYlQ-a0dx6n2g0l3vIik.cache +0 -0
  181. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/EN/ENhJnzJAU2IK-7aHqubj9N8Jo_UTmjG_VEQqyIkolQ8.cache +0 -1
  182. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Fc/FcS6VUHN3Bd4pHGqd5NHA8jA4OLwWrU94s3b4GGxX9c.cache +0 -1
  183. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/G0/G0kukI-r0q0Vbrg6e_jnYJoYcOX8K__h-mwKbCf4twE.cache +0 -0
  184. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/I1/I1Jw08-mz8xzgrgi6giCzpf1UmzGTSbl4eJEw4DAoJM.cache +0 -1
  185. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/IV/IVOO1dXBmgjieDk__g57p6aYt0Z3CmfTa32jhegoyko.cache +0 -3
  186. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/JY/JYPmv5WP4wxdI9EKEEPkK_fVtqeSLfmint_5E8fQLQ8.cache +0 -1
  187. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/MX/MXI3KxaQPZGImSvCNZ_TbQVruWCJ3E0xiVxza1ZCAjM.cache +0 -1
  188. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/OU/OUoioCqXALK909jXPV3VSyCJIdNC7bsogUfdnRTpc5o.cache +0 -1
  189. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/PH/PHjtqNLUPAUDiSlu5AbPjlIo20mOGNm0uNjMLhX2NvM.cache +0 -0
  190. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/RC/RC9vfALY5K634pTeau0BAhTHl7d5_5yA3tM-QTLiKtI.cache +0 -0
  191. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/RG/RG1PrmlixwaUlG8BV0kcm_3F7OQekxsrLYjBdf403-k.cache +0 -2
  192. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ut/UtoMO6n6FHTpRCGk9VfxlfTI2Ao2GYJ_6kMzx3B9VH8.cache +0 -1
  193. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/VE/VExnbpDk3LxYdPk3htUrZQXPI8NK_zlKtSFfVXJlxU4.cache +0 -1
  194. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Wm/WmKTjykiU-Tx_Faf5zduEeEQ-DozAs5omKToM2l1cZM.cache +0 -0
  195. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/X-/X-KjhDPd0nI155N_FaxFSgaOiYo0_ytqlmkBlLM7ayw.cache +0 -1
  196. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/XX/XXVhj-O91tJ5c8pz7DQlTABOv8TIRVg5haw9VOq9HuI.cache +0 -1
  197. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/YC/YCiifo5NCMwDChFqYFiV4EaYEx8hy3Efle1PsGbIdak.cache +0 -1
  198. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ya/YayMISAqD-Y3vBFywwKrXbUovGf5o77HUF5s8mnQgO0.cache +0 -0
  199. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Zl/Zl-NEb0aDLmZ9gN4gdY1OYlbUXD4JhkFY_y23m55zmo.cache +0 -0
  200. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/_h/_hnjPptBeD3GP5B0iJR6pvyVkiMiq-o2TxaYmGf9KJo.cache +0 -3
  201. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/_p/_poEF6QbTPYJiQCFGoXxIXjmvcn6T0I87ElzJGHguk0.cache +0 -1
  202. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/aa/aaSj2zt8ddc87nZqTpOI9gRCKVnoalXKFBww7t4t3Kg.cache +0 -0
  203. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/bZ/bZHWUkrOLp0WM_Ogo36Qjt4cxDt-rOFgtcj4LNB-BVE.cache +0 -1
  204. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/cP/cPSNG_663TNT944Rke919luRS6FtpMwVc_7aDph645w.cache +0 -1
  205. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/ce/ceq8fcZGIoqWrCl9vrCRrywEdx42iy9PrGG9CwFSIF4.cache +0 -0
  206. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/cl/cljhP0Jc018nLnG1rpdg-FUf6mlIqrQYvXTNXTNG9Bw.cache +0 -0
  207. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/dm/dmod3fTZdoKso2FGM5RTQtb4kTB6vywsiXLWDygYFN4.cache +0 -1
  208. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/dy/dySDGcUTqlKx2MTvOmIEP-WzhyhCfU5xhN9qgxbz3rI.cache +0 -0
  209. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/gQ/gQYdmEzbLjTcFCnsfzXzEmeminOchF263snAk3IvXM0.cache +0 -1
  210. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/gh/ghvuMAqccBGljlmEaI3Gt5tH5rEg6hseKYMYfRMkHdY.cache +0 -1
  211. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/gt/gt8QC7k92A4hXA3HlCpQulW73tqd6x63I3uT-YrGMj0.cache +0 -1
  212. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/hf/hfVg-y7dPSQKbb7V3I7M5w7IpOhDiIB2H31d2tmbZMU.cache +0 -0
  213. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/iF/iFLwyhZIu1Jxm77NUT2qWeTDMmyELW4U85t9rGE_KVg.cache +0 -0
  214. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/kF/kFlIcBBnSyKE00OjpM90pqSn93mLMUv9esz86nrO-Cs.cache +0 -1
  215. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/ma/MazNt_5OaYexRuZnccZZ_7AONlxn1a4W3KdWyHyBdws.cache +0 -0
  216. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/ma/ma3w08gnDTeqwY2-C9BlToxA6-AS8bvXlu-nBiz0UYs.cache +0 -1
  217. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/n_/n_xYqQYhwEMQknb3jFQnjlxxBE9TzMNHCdJ-bEyZFIw.cache +0 -2
  218. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/nx/nxTv3sKVUQZADJyM3dPaVmUA78MIsMLD_K279yN_GsI.cache +0 -2
  219. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/pv/pv6tV3CDkIAmLXdU8EPLlNEkXAKJPufVD4VP30o4fWo.cache +0 -0
  220. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/qP/qPmv5snMrDw830S6hSICDcnIy7kVEWoFKXhGKT38lG4.cache +0 -2
  221. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/sY/sYvTb1uPWWmnHJNXKuW_xSco-aUb-rN2f0J35zSIzuc.cache +0 -1
  222. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/su/suQ_jjDxRiIn4VEqFJYKaBWJILaeGKBvoTv49XNX0vo.cache +0 -1
  223. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/u8/u8IrW5IIQ7espwk2Vpk23zheL9YZA0tnbKq9X7E-WA0.cache +0 -1
  224. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/wh/whzETExjcZCkn4msasD2aylgfhfpKPZrNxTkY-SOIDg.cache +0 -2
  225. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/x7/x7PYh8DJvPykcEqpVab2vcY9-GFz-3cqtoMlRAu94Uc.cache +0 -2
  226. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/y6/y6oxsJD3pAY9ph1_5M-77uiEjTVw8BheLZNygCKPm1g.cache +0 -1
  227. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/yH/yHZ-a1J23ZCf2n5mEHINMz23Iec2cLGTKauW7k4yGTE.cache +0 -0
  228. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/z7/z7KfUWYoSaGq8tQ5mbHwyfXyT3Pa4FWKJswHcIdJuds.cache +0 -1
  229. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/zu/zuExWc5WHxeOUPZUKHl9a9ZRmN50g7jMOD28macn6M0.cache +0 -0
data/spec/spec_helper.rb CHANGED
@@ -25,7 +25,7 @@ def migration_files
25
25
  Dir["#{Rails.root}/db/migrate/*"]
26
26
  end
27
27
 
28
- def last_migration
28
+ def last_migration_pending
29
29
  migration_files.sort.last
30
30
  end
31
31
 
@@ -49,8 +49,7 @@ RSpec.configure do |config|
49
49
  config.mock_with :rspec
50
50
  config.use_transactional_fixtures = false
51
51
  config.infer_base_class_for_anonymous_controllers = true
52
-
53
- config.order = 123
52
+ config.fixture_path = "#{::Rails.root}/spec/fixtures"
54
53
 
55
54
  config.before(:suite) do
56
55
  FactoryBot.find_definitions
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: localtower
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Damian Le Nouaille Diez
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-19 00:00:00.000000000 Z
11
+ date: 2024-11-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -103,13 +103,20 @@ extra_rdoc_files: []
103
103
  files:
104
104
  - README.md
105
105
  - Rakefile
106
+ - app/assets/stylesheets/application.css
106
107
  - app/controllers/localtower/application_controller.rb
107
108
  - app/controllers/localtower/pages_controller.rb
108
109
  - app/helpers/localtower/application_helper.rb
110
+ - app/javascript/application.js
111
+ - app/javascript/components/DarkSelect.js
112
+ - app/javascript/components/ModernTooltip.js
113
+ - app/javascript/components/NewMigrationForm.js
114
+ - app/javascript/components/NewModelForm.js
115
+ - app/javascript/components/data/Stores.js
109
116
  - app/views/layouts/localtower/application.html.erb
117
+ - app/views/localtower/_migration.html.erb
110
118
  - app/views/localtower/pages/_alert_no_models.html.erb
111
119
  - app/views/localtower/pages/migrations.html.erb
112
- - app/views/localtower/pages/models.html.erb
113
120
  - app/views/localtower/pages/new_migration.html.erb
114
121
  - app/views/localtower/pages/new_model.html.erb
115
122
  - config/routes.rb
@@ -119,53 +126,29 @@ files:
119
126
  - lib/localtower/generators/model.rb
120
127
  - lib/localtower/generators/service_objects/insert_array.rb
121
128
  - lib/localtower/generators/service_objects/insert_defaults.rb
129
+ - lib/localtower/generators/service_objects/insert_foreign_keys.rb
122
130
  - lib/localtower/generators/service_objects/insert_indexes.rb
123
131
  - lib/localtower/generators/service_objects/insert_nullable.rb
124
132
  - lib/localtower/status.rb
125
133
  - lib/localtower/tools.rb
126
134
  - lib/localtower/version.rb
127
- - public/css/app.css
128
- - public/js/app.js
129
- - public/light-bootstrap-dashboard-master/assets/css/animate.min.css
130
- - public/light-bootstrap-dashboard-master/assets/css/bootstrap.min.css
131
- - public/light-bootstrap-dashboard-master/assets/css/demo.css
132
- - public/light-bootstrap-dashboard-master/assets/css/light-bootstrap-dashboard.css
133
- - public/light-bootstrap-dashboard-master/assets/css/pe-icon-7-stroke.css
134
- - public/light-bootstrap-dashboard-master/assets/fonts/Pe-icon-7-stroke.eot
135
- - public/light-bootstrap-dashboard-master/assets/fonts/Pe-icon-7-stroke.svg
136
- - public/light-bootstrap-dashboard-master/assets/fonts/Pe-icon-7-stroke.ttf
137
- - public/light-bootstrap-dashboard-master/assets/fonts/Pe-icon-7-stroke.woff
138
- - public/light-bootstrap-dashboard-master/assets/img/default-avatar.png
139
- - public/light-bootstrap-dashboard-master/assets/img/faces/face-0.jpg
140
- - public/light-bootstrap-dashboard-master/assets/img/faces/face-1.jpg
141
- - public/light-bootstrap-dashboard-master/assets/img/faces/face-2.jpg
142
- - public/light-bootstrap-dashboard-master/assets/img/faces/face-3.jpg
143
- - public/light-bootstrap-dashboard-master/assets/img/faces/face-4.jpg
144
- - public/light-bootstrap-dashboard-master/assets/img/faces/face-5.jpg
145
- - public/light-bootstrap-dashboard-master/assets/img/faces/face-6.jpg
146
- - public/light-bootstrap-dashboard-master/assets/img/faces/face-7.jpg
147
- - public/light-bootstrap-dashboard-master/assets/img/faces/tim_vector.jpe
148
- - public/light-bootstrap-dashboard-master/assets/img/favicon.ico
149
- - public/light-bootstrap-dashboard-master/assets/img/loading-bubbles.svg
150
- - public/light-bootstrap-dashboard-master/assets/img/mask.png
151
- - public/light-bootstrap-dashboard-master/assets/img/new_logo.png
152
- - public/light-bootstrap-dashboard-master/assets/img/sidebar-1.jpg
153
- - public/light-bootstrap-dashboard-master/assets/img/sidebar-2.jpg
154
- - public/light-bootstrap-dashboard-master/assets/img/sidebar-3.jpg
155
- - public/light-bootstrap-dashboard-master/assets/img/sidebar-4.jpg
156
- - public/light-bootstrap-dashboard-master/assets/img/sidebar-5.jpg
157
- - public/light-bootstrap-dashboard-master/assets/img/tim_80x80.png
158
- - public/light-bootstrap-dashboard-master/assets/js/bootstrap-checkbox-radio-switch.js
159
- - public/light-bootstrap-dashboard-master/assets/js/bootstrap-notify.js
160
- - public/light-bootstrap-dashboard-master/assets/js/bootstrap-select.js
161
- - public/light-bootstrap-dashboard-master/assets/js/bootstrap.min.js
162
- - public/light-bootstrap-dashboard-master/assets/js/chartist.min.js
163
- - public/light-bootstrap-dashboard-master/assets/js/demo.js
164
- - public/light-bootstrap-dashboard-master/assets/js/jquery-1.10.2.js
165
- - public/light-bootstrap-dashboard-master/assets/js/light-bootstrap-dashboard.js
166
- - public/logo-localtower-white-300.png
167
- - public/logo-localtower-white.png
168
- - public/logo-localtower.png
135
+ - public/com/favicon-64.png
136
+ - public/com/twitter-cover-1.png
137
+ - public/com/twitter-cover-2.png
138
+ - public/fonts/Circular/CircularStd-Black.otf
139
+ - public/fonts/Circular/CircularStd-BlackItalic.otf
140
+ - public/fonts/Circular/CircularStd-Bold.otf
141
+ - public/fonts/Circular/CircularStd-BoldItalic.otf
142
+ - public/fonts/Circular/CircularStd-Book.otf
143
+ - public/fonts/Circular/CircularStd-BookItalic.otf
144
+ - public/fonts/Circular/CircularStd-Light Italic.otf
145
+ - public/fonts/Circular/CircularStd-Light.otf
146
+ - public/fonts/Circular/CircularStd-Medium.otf
147
+ - public/fonts/Circular/CircularStd-MediumItalic.otf
148
+ - public/fonts/Circular/Read Me.txt
149
+ - public/fonts/Circular/www.dfonts.org.url
150
+ - public/javascripts/application.js
151
+ - public/javascripts/application.js.map
169
152
  - public/screenshots/v0.1.1/1_schema.png
170
153
  - public/screenshots/v0.1.1/2_models_1.png
171
154
  - public/screenshots/v0.1.1/2_models_2.png
@@ -180,10 +163,32 @@ files:
180
163
  - public/screenshots/v1.0.0/models.png
181
164
  - public/screenshots/v1.0.0/new_migration.png
182
165
  - public/screenshots/v1.0.0/new_model.png
183
- - public/vendor/font-awesome.min.css
184
- - public/vendor/highlight-js-default.min.css
166
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.44.30.jpg
167
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.44.42.jpg
168
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.44.54.jpg
169
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.48.21.jpg
170
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.48.28.jpg
171
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.48.51.jpg
172
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.49.09.jpg
173
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.50.04.jpg
174
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.50.11.jpg
175
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.50.19.jpg
176
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.51.47.jpg
177
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.51.48.jpg
178
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.52.02.jpg
179
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.52.18.jpg
180
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.52.26.jpg
181
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.52.38.jpg
182
+ - public/screenshots/v2.0.0/migrations.png
183
+ - public/screenshots/v2.0.0/new_migration.png
184
+ - public/screenshots/v2.0.0/new_model.png
185
+ - public/stylesheets/application.css
185
186
  - public/vendor/highlight.min.js
187
+ - public/vendor/jquery-3.7.1.min.js
188
+ - public/vendor/lucide.min.js
186
189
  - public/vendor/masonry.pkgd.min.js
190
+ - public/vendor/monokai-sublime.css
191
+ - public/vendor/rails-ujs.min.js
187
192
  - spec/dummy/Gemfile
188
193
  - spec/dummy/Gemfile.lock
189
194
  - spec/dummy/README.md
@@ -200,7 +205,6 @@ files:
200
205
  - spec/dummy/app/jobs/application_job.rb
201
206
  - spec/dummy/app/mailers/application_mailer.rb
202
207
  - spec/dummy/app/models/application_record.rb
203
- - spec/dummy/app/models/post.rb
204
208
  - spec/dummy/app/models/user.rb
205
209
  - spec/dummy/app/views/layouts/application.html.erb
206
210
  - spec/dummy/app/views/layouts/mailer.html.erb
@@ -236,82 +240,18 @@ files:
236
240
  - spec/dummy/config/routes.rb
237
241
  - spec/dummy/config/secrets.yml
238
242
  - spec/dummy/config/spring.rb
239
- - spec/dummy/db/migrate/20230119221452_create_users.rb
240
- - spec/dummy/db/migrate/20230119221751_change_users_at1674166670.rb
241
- - spec/dummy/db/migrate/20230119222054_create_posts.rb
242
- - spec/dummy/db/migrate/20230119222106_change_posts_at1674166865.rb
243
+ - spec/dummy/db/migrate/20241118233214_create_users.rb
244
+ - spec/dummy/db/migrate/20241118233233_add_column_titme_for_user.rb
243
245
  - spec/dummy/db/schema.rb
246
+ - spec/dummy/lib/tasks/reset.rake
244
247
  - spec/dummy/log/development.log
245
248
  - spec/dummy/log/localtower.log
246
249
  - spec/dummy/log/test.log
247
250
  - spec/dummy/test/index.html
248
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/-Y/-YOiiBKqc2UODHFjctm8xc7xFoZaL7zOjWQj6qQ2wyE.cache
249
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/-d/-dwueM4vmPt8L51S3jeSyg_AjGDcj0GUN6pDpCA1gCg.cache
250
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/0g/0gaJnJQdtd2ACbihXxn8OnjLWlDjnQ_WxfgOpbiLzhg.cache
251
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/0r/0rFCsCV9kZnEYtZZ6sfig8329OU31bqjecDFqSVank8.cache
252
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/1J/1J2k_CpnQE3d-PZAQwOVGQALGkta4qVvhdsKjgG0e4Q.cache
253
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/2p/2pYVH2Z_syqh6ok8QYxJNKxXpx1Iwppf6JGElZI0gpw.cache
254
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/3W/3WBmqd-2V6q5N-jvbyp-tlcfn3aHYMwBppbOUm7x4qg.cache
255
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/4K/4KFPlHkhdDW0riGUmlbaR-kmDz6JUnQvY6fwW8qsdaE.cache
256
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/6x/6xMeRWmLpNK_flx6-JA3KazvUxSCxyPxHv9Zm3eC26Q.cache
257
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/7d/7dNqI_dCDJLJmI1oM4xwFp9nRRNOem-4P4OD7PMyz2E.cache
258
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/8X/8XquhxVcp5A8QquLtxO8NgKTMJch0eqQmzFmRGIZP6I.cache
259
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ah/AhdfXXtU63kXS4TnsH2Vi1yWgVkIEeV8Z8XA68hrNQc.cache
260
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Bt/BtAePnwLSGw82xUGI7wuhWDfuwarOQVS91YqCsweMcs.cache
261
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Bx/BxzoG0KxeNLac4xTNeJv3qfeytbNBw58xj2zD-xdbrE.cache
262
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/CC/CCD0ROPX0yxHwNpVZmuP8ZNtgQpaVCMXpdzC0Wb5n24.cache
263
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/DS/DS43oxBg6K5PMWLn2mTy_4EnxI03ehHkxpjV7NCi8yM.cache
264
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Do/Do83AoOat5W-c1g7piDGy2GMmffsY6JY0Qfuh5PY3GM.cache
265
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/EI/EI0Nxk-VRATWstMuVCVc0_GdYlQ-a0dx6n2g0l3vIik.cache
266
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/EN/ENhJnzJAU2IK-7aHqubj9N8Jo_UTmjG_VEQqyIkolQ8.cache
267
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Fc/FcS6VUHN3Bd4pHGqd5NHA8jA4OLwWrU94s3b4GGxX9c.cache
268
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/G0/G0kukI-r0q0Vbrg6e_jnYJoYcOX8K__h-mwKbCf4twE.cache
269
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/I1/I1Jw08-mz8xzgrgi6giCzpf1UmzGTSbl4eJEw4DAoJM.cache
270
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/IV/IVOO1dXBmgjieDk__g57p6aYt0Z3CmfTa32jhegoyko.cache
271
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/JY/JYPmv5WP4wxdI9EKEEPkK_fVtqeSLfmint_5E8fQLQ8.cache
272
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/MX/MXI3KxaQPZGImSvCNZ_TbQVruWCJ3E0xiVxza1ZCAjM.cache
273
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/OU/OUoioCqXALK909jXPV3VSyCJIdNC7bsogUfdnRTpc5o.cache
274
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/PH/PHjtqNLUPAUDiSlu5AbPjlIo20mOGNm0uNjMLhX2NvM.cache
275
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/RC/RC9vfALY5K634pTeau0BAhTHl7d5_5yA3tM-QTLiKtI.cache
276
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/RG/RG1PrmlixwaUlG8BV0kcm_3F7OQekxsrLYjBdf403-k.cache
277
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ut/UtoMO6n6FHTpRCGk9VfxlfTI2Ao2GYJ_6kMzx3B9VH8.cache
278
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/VE/VExnbpDk3LxYdPk3htUrZQXPI8NK_zlKtSFfVXJlxU4.cache
279
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Wm/WmKTjykiU-Tx_Faf5zduEeEQ-DozAs5omKToM2l1cZM.cache
280
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/X-/X-KjhDPd0nI155N_FaxFSgaOiYo0_ytqlmkBlLM7ayw.cache
281
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/XX/XXVhj-O91tJ5c8pz7DQlTABOv8TIRVg5haw9VOq9HuI.cache
282
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/YC/YCiifo5NCMwDChFqYFiV4EaYEx8hy3Efle1PsGbIdak.cache
283
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ya/YayMISAqD-Y3vBFywwKrXbUovGf5o77HUF5s8mnQgO0.cache
284
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Zl/Zl-NEb0aDLmZ9gN4gdY1OYlbUXD4JhkFY_y23m55zmo.cache
285
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/_h/_hnjPptBeD3GP5B0iJR6pvyVkiMiq-o2TxaYmGf9KJo.cache
286
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/_p/_poEF6QbTPYJiQCFGoXxIXjmvcn6T0I87ElzJGHguk0.cache
287
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/aa/aaSj2zt8ddc87nZqTpOI9gRCKVnoalXKFBww7t4t3Kg.cache
288
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/bZ/bZHWUkrOLp0WM_Ogo36Qjt4cxDt-rOFgtcj4LNB-BVE.cache
289
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/cP/cPSNG_663TNT944Rke919luRS6FtpMwVc_7aDph645w.cache
290
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/ce/ceq8fcZGIoqWrCl9vrCRrywEdx42iy9PrGG9CwFSIF4.cache
291
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/cl/cljhP0Jc018nLnG1rpdg-FUf6mlIqrQYvXTNXTNG9Bw.cache
292
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/dm/dmod3fTZdoKso2FGM5RTQtb4kTB6vywsiXLWDygYFN4.cache
293
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/dy/dySDGcUTqlKx2MTvOmIEP-WzhyhCfU5xhN9qgxbz3rI.cache
294
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/gQ/gQYdmEzbLjTcFCnsfzXzEmeminOchF263snAk3IvXM0.cache
295
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/gh/ghvuMAqccBGljlmEaI3Gt5tH5rEg6hseKYMYfRMkHdY.cache
296
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/gt/gt8QC7k92A4hXA3HlCpQulW73tqd6x63I3uT-YrGMj0.cache
297
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/hf/hfVg-y7dPSQKbb7V3I7M5w7IpOhDiIB2H31d2tmbZMU.cache
298
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/iF/iFLwyhZIu1Jxm77NUT2qWeTDMmyELW4U85t9rGE_KVg.cache
299
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/kF/kFlIcBBnSyKE00OjpM90pqSn93mLMUv9esz86nrO-Cs.cache
300
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/ma/MazNt_5OaYexRuZnccZZ_7AONlxn1a4W3KdWyHyBdws.cache
301
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/ma/ma3w08gnDTeqwY2-C9BlToxA6-AS8bvXlu-nBiz0UYs.cache
302
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/n_/n_xYqQYhwEMQknb3jFQnjlxxBE9TzMNHCdJ-bEyZFIw.cache
303
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/nx/nxTv3sKVUQZADJyM3dPaVmUA78MIsMLD_K279yN_GsI.cache
304
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/pv/pv6tV3CDkIAmLXdU8EPLlNEkXAKJPufVD4VP30o4fWo.cache
305
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/qP/qPmv5snMrDw830S6hSICDcnIy7kVEWoFKXhGKT38lG4.cache
306
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/sY/sYvTb1uPWWmnHJNXKuW_xSco-aUb-rN2f0J35zSIzuc.cache
307
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/su/suQ_jjDxRiIn4VEqFJYKaBWJILaeGKBvoTv49XNX0vo.cache
308
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/u8/u8IrW5IIQ7espwk2Vpk23zheL9YZA0tnbKq9X7E-WA0.cache
309
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/wh/whzETExjcZCkn4msasD2aylgfhfpKPZrNxTkY-SOIDg.cache
310
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/x7/x7PYh8DJvPykcEqpVab2vcY9-GFz-3cqtoMlRAu94Uc.cache
311
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/y6/y6oxsJD3pAY9ph1_5M-77uiEjTVw8BheLZNygCKPm1g.cache
312
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/yH/yHZ-a1J23ZCf2n5mEHINMz23Iec2cLGTKauW7k4yGTE.cache
313
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/z7/z7KfUWYoSaGq8tQ5mbHwyfXyT3Pa4FWKJswHcIdJuds.cache
314
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/zu/zuExWc5WHxeOUPZUKHl9a9ZRmN50g7jMOD28macn6M0.cache
251
+ - spec/dummy/tmp/cache/sessions/localtower/726/FE1/_session_id%3A2%3A%3A69d6764784f832ea25700ea2f242210f3f8d94b48912b0f09ffc44311f0376eb
252
+ - spec/dummy/tmp/cache/sessions/localtower/77E/121/_session_id%3A2%3A%3A0b3c1fe7154461ba023ba6c81dd1b999348757880b505f4b082faed263a627f9
253
+ - spec/dummy/tmp/cache/sessions/localtower/7EB/8A1/_session_id%3A2%3A%3Af88237c1d157546a5dcde894fd6c1410162a8eba318748d4ac573ee75e40df16
254
+ - spec/dummy/tmp/local_secret.txt
315
255
  - spec/dummy/tmp/pids/server.pid
316
256
  - spec/dummy/tmp/restart.txt
317
257
  - spec/factories/migration.rb
@@ -320,6 +260,7 @@ files:
320
260
  - spec/lib/localtower/generators/model_spec.rb
321
261
  - spec/lib/localtower/generators/service_objects/insert_array_spec.rb
322
262
  - spec/lib/localtower/generators/service_objects/insert_defaults_spec.rb
263
+ - spec/lib/localtower/generators/service_objects/insert_foreign_keys_spec.rb
323
264
  - spec/lib/localtower/generators/service_objects/insert_indexes_spec.rb
324
265
  - spec/lib/localtower/generators/service_objects/insert_nullable_spec.rb
325
266
  - spec/lib/localtower/tools_spec.rb
@@ -327,7 +268,7 @@ files:
327
268
  homepage: https://github.com/damln/localtower
328
269
  licenses: []
329
270
  metadata: {}
330
- post_install_message:
271
+ post_install_message:
331
272
  rdoc_options: []
332
273
  require_paths:
333
274
  - lib
@@ -342,148 +283,84 @@ required_rubygems_version: !ruby/object:Gem::Requirement
342
283
  - !ruby/object:Gem::Version
343
284
  version: '0'
344
285
  requirements: []
345
- rubygems_version: 3.1.6
346
- signing_key:
286
+ rubygems_version: 3.5.20
287
+ signing_key:
347
288
  specification_version: 4
348
289
  summary: Manage your models, relations, and migrations from a simple UI.
349
290
  test_files:
350
- - spec/spec_helper.rb
291
+ - spec/dummy/Gemfile
292
+ - spec/dummy/Gemfile.lock
293
+ - spec/dummy/README.md
294
+ - spec/dummy/Rakefile
295
+ - spec/dummy/app/assets/config/manifest.js
296
+ - spec/dummy/app/assets/javascripts/application.js
297
+ - spec/dummy/app/assets/javascripts/cable.js
298
+ - spec/dummy/app/assets/stylesheets/application.css
299
+ - spec/dummy/app/channels/application_cable/channel.rb
300
+ - spec/dummy/app/channels/application_cable/connection.rb
301
+ - spec/dummy/app/controllers/application_controller.rb
302
+ - spec/dummy/app/controllers/pages_controller.rb
303
+ - spec/dummy/app/helpers/application_helper.rb
304
+ - spec/dummy/app/jobs/application_job.rb
351
305
  - spec/dummy/app/mailers/application_mailer.rb
352
306
  - spec/dummy/app/models/application_record.rb
353
- - spec/dummy/app/models/post.rb
354
307
  - spec/dummy/app/models/user.rb
355
- - spec/dummy/app/jobs/application_job.rb
356
- - spec/dummy/app/controllers/application_controller.rb
357
- - spec/dummy/app/controllers/pages_controller.rb
358
308
  - spec/dummy/app/views/layouts/application.html.erb
359
309
  - spec/dummy/app/views/layouts/mailer.html.erb
360
310
  - spec/dummy/app/views/layouts/mailer.text.erb
361
311
  - spec/dummy/app/views/pages/home.html.erb
362
- - spec/dummy/app/assets/config/manifest.js
363
- - spec/dummy/app/assets/javascripts/cable.js
364
- - spec/dummy/app/assets/javascripts/application.js
365
- - spec/dummy/app/assets/stylesheets/application.css
366
- - spec/dummy/app/helpers/application_helper.rb
367
- - spec/dummy/app/channels/application_cable/connection.rb
368
- - spec/dummy/app/channels/application_cable/channel.rb
369
- - spec/dummy/test/index.html
370
- - spec/dummy/bin/update
312
+ - spec/dummy/bin/bundle
313
+ - spec/dummy/bin/rails
371
314
  - spec/dummy/bin/rake
372
315
  - spec/dummy/bin/setup
373
- - spec/dummy/bin/bundle
374
316
  - spec/dummy/bin/spring
375
- - spec/dummy/bin/rails
376
- - spec/dummy/config/secrets.yml
377
- - spec/dummy/config/routes.rb
378
- - spec/dummy/config/locales/en.yml
317
+ - spec/dummy/bin/update
318
+ - spec/dummy/config/application.rb
319
+ - spec/dummy/config/boot.rb
379
320
  - spec/dummy/config/cable.yml
380
- - spec/dummy/config/environments/production.rb
321
+ - spec/dummy/config/database.yml
322
+ - spec/dummy/config/environment.rb
381
323
  - spec/dummy/config/environments/development.rb
324
+ - spec/dummy/config/environments/production.rb
382
325
  - spec/dummy/config/environments/test.rb
383
- - spec/dummy/config/spring.rb
384
- - spec/dummy/config/environment.rb
385
- - spec/dummy/config/application.rb
386
- - spec/dummy/config/puma.rb
387
- - spec/dummy/config/database.yml
388
- - spec/dummy/config/boot.rb
389
326
  - spec/dummy/config/initializers/application_controller_renderer.rb
327
+ - spec/dummy/config/initializers/assets.rb
390
328
  - spec/dummy/config/initializers/backtrace_silencers.rb
391
- - spec/dummy/config/initializers/mime_types.rb
329
+ - spec/dummy/config/initializers/cookies_serializer.rb
392
330
  - spec/dummy/config/initializers/filter_parameter_logging.rb
331
+ - spec/dummy/config/initializers/inflections.rb
332
+ - spec/dummy/config/initializers/mime_types.rb
333
+ - spec/dummy/config/initializers/new_framework_defaults.rb
393
334
  - spec/dummy/config/initializers/session_store.rb
394
335
  - spec/dummy/config/initializers/wrap_parameters.rb
395
- - spec/dummy/config/initializers/new_framework_defaults.rb
396
- - spec/dummy/config/initializers/assets.rb
397
- - spec/dummy/config/initializers/cookies_serializer.rb
398
- - spec/dummy/config/initializers/inflections.rb
336
+ - spec/dummy/config/locales/en.yml
337
+ - spec/dummy/config/puma.rb
338
+ - spec/dummy/config/routes.rb
339
+ - spec/dummy/config/secrets.yml
340
+ - spec/dummy/config/spring.rb
399
341
  - spec/dummy/config.ru
400
- - spec/dummy/README.md
401
- - spec/dummy/Rakefile
342
+ - spec/dummy/db/migrate/20241118233214_create_users.rb
343
+ - spec/dummy/db/migrate/20241118233233_add_column_titme_for_user.rb
402
344
  - spec/dummy/db/schema.rb
403
- - spec/dummy/db/migrate/20230119221751_change_users_at1674166670.rb
404
- - spec/dummy/db/migrate/20230119221452_create_users.rb
405
- - spec/dummy/db/migrate/20230119222054_create_posts.rb
406
- - spec/dummy/db/migrate/20230119222106_change_posts_at1674166865.rb
407
- - spec/dummy/Gemfile
345
+ - spec/dummy/lib/tasks/reset.rake
346
+ - spec/dummy/log/development.log
408
347
  - spec/dummy/log/localtower.log
409
348
  - spec/dummy/log/test.log
410
- - spec/dummy/log/development.log
411
- - spec/dummy/Gemfile.lock
349
+ - spec/dummy/test/index.html
350
+ - spec/dummy/tmp/cache/sessions/localtower/726/FE1/_session_id%3A2%3A%3A69d6764784f832ea25700ea2f242210f3f8d94b48912b0f09ffc44311f0376eb
351
+ - spec/dummy/tmp/cache/sessions/localtower/77E/121/_session_id%3A2%3A%3A0b3c1fe7154461ba023ba6c81dd1b999348757880b505f4b082faed263a627f9
352
+ - spec/dummy/tmp/cache/sessions/localtower/7EB/8A1/_session_id%3A2%3A%3Af88237c1d157546a5dcde894fd6c1410162a8eba318748d4ac573ee75e40df16
353
+ - spec/dummy/tmp/local_secret.txt
412
354
  - spec/dummy/tmp/pids/server.pid
413
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/3W/3WBmqd-2V6q5N-jvbyp-tlcfn3aHYMwBppbOUm7x4qg.cache
414
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/pv/pv6tV3CDkIAmLXdU8EPLlNEkXAKJPufVD4VP30o4fWo.cache
415
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/sY/sYvTb1uPWWmnHJNXKuW_xSco-aUb-rN2f0J35zSIzuc.cache
416
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/_h/_hnjPptBeD3GP5B0iJR6pvyVkiMiq-o2TxaYmGf9KJo.cache
417
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/u8/u8IrW5IIQ7espwk2Vpk23zheL9YZA0tnbKq9X7E-WA0.cache
418
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ut/UtoMO6n6FHTpRCGk9VfxlfTI2Ao2GYJ_6kMzx3B9VH8.cache
419
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Zl/Zl-NEb0aDLmZ9gN4gdY1OYlbUXD4JhkFY_y23m55zmo.cache
420
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/YC/YCiifo5NCMwDChFqYFiV4EaYEx8hy3Efle1PsGbIdak.cache
421
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/gh/ghvuMAqccBGljlmEaI3Gt5tH5rEg6hseKYMYfRMkHdY.cache
422
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/gt/gt8QC7k92A4hXA3HlCpQulW73tqd6x63I3uT-YrGMj0.cache
423
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/ma/ma3w08gnDTeqwY2-C9BlToxA6-AS8bvXlu-nBiz0UYs.cache
424
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/ma/MazNt_5OaYexRuZnccZZ_7AONlxn1a4W3KdWyHyBdws.cache
425
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Bx/BxzoG0KxeNLac4xTNeJv3qfeytbNBw58xj2zD-xdbrE.cache
426
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Do/Do83AoOat5W-c1g7piDGy2GMmffsY6JY0Qfuh5PY3GM.cache
427
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/DS/DS43oxBg6K5PMWLn2mTy_4EnxI03ehHkxpjV7NCi8yM.cache
428
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/G0/G0kukI-r0q0Vbrg6e_jnYJoYcOX8K__h-mwKbCf4twE.cache
429
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/n_/n_xYqQYhwEMQknb3jFQnjlxxBE9TzMNHCdJ-bEyZFIw.cache
430
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Fc/FcS6VUHN3Bd4pHGqd5NHA8jA4OLwWrU94s3b4GGxX9c.cache
431
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/I1/I1Jw08-mz8xzgrgi6giCzpf1UmzGTSbl4eJEw4DAoJM.cache
432
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/iF/iFLwyhZIu1Jxm77NUT2qWeTDMmyELW4U85t9rGE_KVg.cache
433
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Wm/WmKTjykiU-Tx_Faf5zduEeEQ-DozAs5omKToM2l1cZM.cache
434
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/4K/4KFPlHkhdDW0riGUmlbaR-kmDz6JUnQvY6fwW8qsdaE.cache
435
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/7d/7dNqI_dCDJLJmI1oM4xwFp9nRRNOem-4P4OD7PMyz2E.cache
436
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/RG/RG1PrmlixwaUlG8BV0kcm_3F7OQekxsrLYjBdf403-k.cache
437
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/x7/x7PYh8DJvPykcEqpVab2vcY9-GFz-3cqtoMlRAu94Uc.cache
438
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/X-/X-KjhDPd0nI155N_FaxFSgaOiYo0_ytqlmkBlLM7ayw.cache
439
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/VE/VExnbpDk3LxYdPk3htUrZQXPI8NK_zlKtSFfVXJlxU4.cache
440
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ya/YayMISAqD-Y3vBFywwKrXbUovGf5o77HUF5s8mnQgO0.cache
441
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/yH/yHZ-a1J23ZCf2n5mEHINMz23Iec2cLGTKauW7k4yGTE.cache
442
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/0r/0rFCsCV9kZnEYtZZ6sfig8329OU31bqjecDFqSVank8.cache
443
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/y6/y6oxsJD3pAY9ph1_5M-77uiEjTVw8BheLZNygCKPm1g.cache
444
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/zu/zuExWc5WHxeOUPZUKHl9a9ZRmN50g7jMOD28macn6M0.cache
445
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/0g/0gaJnJQdtd2ACbihXxn8OnjLWlDjnQ_WxfgOpbiLzhg.cache
446
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/z7/z7KfUWYoSaGq8tQ5mbHwyfXyT3Pa4FWKJswHcIdJuds.cache
447
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/_p/_poEF6QbTPYJiQCFGoXxIXjmvcn6T0I87ElzJGHguk0.cache
448
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/su/suQ_jjDxRiIn4VEqFJYKaBWJILaeGKBvoTv49XNX0vo.cache
449
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/PH/PHjtqNLUPAUDiSlu5AbPjlIo20mOGNm0uNjMLhX2NvM.cache
450
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/6x/6xMeRWmLpNK_flx6-JA3KazvUxSCxyPxHv9Zm3eC26Q.cache
451
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/nx/nxTv3sKVUQZADJyM3dPaVmUA78MIsMLD_K279yN_GsI.cache
452
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/hf/hfVg-y7dPSQKbb7V3I7M5w7IpOhDiIB2H31d2tmbZMU.cache
453
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Bt/BtAePnwLSGw82xUGI7wuhWDfuwarOQVS91YqCsweMcs.cache
454
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/dm/dmod3fTZdoKso2FGM5RTQtb4kTB6vywsiXLWDygYFN4.cache
455
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/bZ/bZHWUkrOLp0WM_Ogo36Qjt4cxDt-rOFgtcj4LNB-BVE.cache
456
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/-Y/-YOiiBKqc2UODHFjctm8xc7xFoZaL7zOjWQj6qQ2wyE.cache
457
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/dy/dySDGcUTqlKx2MTvOmIEP-WzhyhCfU5xhN9qgxbz3rI.cache
458
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/-d/-dwueM4vmPt8L51S3jeSyg_AjGDcj0GUN6pDpCA1gCg.cache
459
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/gQ/gQYdmEzbLjTcFCnsfzXzEmeminOchF263snAk3IvXM0.cache
460
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ah/AhdfXXtU63kXS4TnsH2Vi1yWgVkIEeV8Z8XA68hrNQc.cache
461
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/aa/aaSj2zt8ddc87nZqTpOI9gRCKVnoalXKFBww7t4t3Kg.cache
462
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/kF/kFlIcBBnSyKE00OjpM90pqSn93mLMUv9esz86nrO-Cs.cache
463
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/MX/MXI3KxaQPZGImSvCNZ_TbQVruWCJ3E0xiVxza1ZCAjM.cache
464
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/JY/JYPmv5WP4wxdI9EKEEPkK_fVtqeSLfmint_5E8fQLQ8.cache
465
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/IV/IVOO1dXBmgjieDk__g57p6aYt0Z3CmfTa32jhegoyko.cache
466
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/CC/CCD0ROPX0yxHwNpVZmuP8ZNtgQpaVCMXpdzC0Wb5n24.cache
467
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/EN/ENhJnzJAU2IK-7aHqubj9N8Jo_UTmjG_VEQqyIkolQ8.cache
468
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/EI/EI0Nxk-VRATWstMuVCVc0_GdYlQ-a0dx6n2g0l3vIik.cache
469
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/cP/cPSNG_663TNT944Rke919luRS6FtpMwVc_7aDph645w.cache
470
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/OU/OUoioCqXALK909jXPV3VSyCJIdNC7bsogUfdnRTpc5o.cache
471
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/cl/cljhP0Jc018nLnG1rpdg-FUf6mlIqrQYvXTNXTNG9Bw.cache
472
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/ce/ceq8fcZGIoqWrCl9vrCRrywEdx42iy9PrGG9CwFSIF4.cache
473
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/RC/RC9vfALY5K634pTeau0BAhTHl7d5_5yA3tM-QTLiKtI.cache
474
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/XX/XXVhj-O91tJ5c8pz7DQlTABOv8TIRVg5haw9VOq9HuI.cache
475
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/8X/8XquhxVcp5A8QquLtxO8NgKTMJch0eqQmzFmRGIZP6I.cache
476
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/qP/qPmv5snMrDw830S6hSICDcnIy7kVEWoFKXhGKT38lG4.cache
477
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/1J/1J2k_CpnQE3d-PZAQwOVGQALGkta4qVvhdsKjgG0e4Q.cache
478
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/2p/2pYVH2Z_syqh6ok8QYxJNKxXpx1Iwppf6JGElZI0gpw.cache
479
- - spec/dummy/tmp/cache/assets/sprockets/v4.0.0/wh/whzETExjcZCkn4msasD2aylgfhfpKPZrNxTkY-SOIDg.cache
480
355
  - spec/dummy/tmp/restart.txt
481
356
  - spec/factories/migration.rb
482
357
  - spec/factories/model.rb
483
- - spec/lib/localtower/tools_spec.rb
484
358
  - spec/lib/localtower/generators/migration_spec.rb
485
- - spec/lib/localtower/generators/service_objects/insert_defaults_spec.rb
359
+ - spec/lib/localtower/generators/model_spec.rb
486
360
  - spec/lib/localtower/generators/service_objects/insert_array_spec.rb
487
- - spec/lib/localtower/generators/service_objects/insert_nullable_spec.rb
361
+ - spec/lib/localtower/generators/service_objects/insert_defaults_spec.rb
362
+ - spec/lib/localtower/generators/service_objects/insert_foreign_keys_spec.rb
488
363
  - spec/lib/localtower/generators/service_objects/insert_indexes_spec.rb
489
- - spec/lib/localtower/generators/model_spec.rb
364
+ - spec/lib/localtower/generators/service_objects/insert_nullable_spec.rb
365
+ - spec/lib/localtower/tools_spec.rb
366
+ - spec/spec_helper.rb
@@ -1,63 +0,0 @@
1
- <% content_for :title do %>Models<% end %>
2
- <div class="row">
3
- <div class="col-md-12">
4
- <div class="content">
5
- <div class="">
6
- <div class="card">
7
- <div class="">
8
- <% if @models.empty? %>
9
- <%= render partial: 'alert_no_models' %>
10
- <% end %>
11
- </div>
12
- </div>
13
- <div class="grid">
14
- <div class="grid-sizer"></div>
15
- <% @models.each do |model| %>
16
- <div class="grid-item text-small card">
17
- <div class="text-center">
18
- <h5><%= model[:name] %></h5>
19
- </div>
20
- <table class="table table-hover table-striped table-condensed">
21
- <thead>
22
- <th>Field</th>
23
- <th>Type</th>
24
- <th>Belongs To</th>
25
- <th>Index?</th>
26
- </thead>
27
- <tbody>
28
- <% model[:attributes_list].each do |attribute_data| %>
29
- <tr>
30
- <td>
31
- <code>
32
- <%= attribute_data["name"] %>
33
- </code>
34
- </td>
35
- <td>
36
- <%= attribute_data["type_clean"] %>
37
- </td>
38
- <td>
39
- <% if attribute_data["belongs_to"] %>
40
- <span class="label label-primary">
41
- <%= attribute_data["belongs_to"] %>
42
- </span>
43
- <% end %>
44
- </td>
45
- <td>
46
- <% if attribute_data["index"].any? %>
47
- <span class="label label-success">Yes</span>
48
- <% else %>
49
- <span class="label label-default">No</span>
50
- <% end %>
51
- </td>
52
- </tr>
53
- <% end %>
54
- </tbody>
55
- </table>
56
- </div>
57
- <% end %>
58
- <div class="clearfix"></div>
59
- </div>
60
- </div>
61
- </div>
62
- </div>
63
- </div>
data/public/css/app.css DELETED
@@ -1,55 +0,0 @@
1
- .full-message {
2
- z-index: 999;
3
- position: fixed;
4
- background: rgba(0,0,0,0.9);
5
- top: 0;
6
- right: 0;
7
- bottom: 0;
8
- left: 0;
9
-
10
- color: #fff;
11
- }
12
-
13
- @-moz-keyframes spin {
14
- from { -moz-transform: rotate(0deg); }
15
- to { -moz-transform: rotate(360deg); }
16
- }
17
- @-webkit-keyframes spin {
18
- from { -webkit-transform: rotate(0deg); }
19
- to { -webkit-transform: rotate(360deg); }
20
- }
21
- @keyframes spin {
22
- from {transform:rotate(0deg);}
23
- to {transform:rotate(360deg);}
24
- }
25
-
26
- .rotate {
27
- -webkit-animation: spin 1s infinite linear;
28
- font-size: 4em;
29
- }
30
-
31
- /*=========================*/
32
-
33
- .table-condensed>tbody>tr>td, .table-condensed>tbody>tr>th, .table-condensed>tfoot>tr>td, .table-condensed>tfoot>tr>th, .table-condensed>thead>tr>td, .table-condensed>thead>tr>th {
34
- padding: 5px;
35
- }
36
-
37
- .grid-sizer, .grid-item {
38
- box-sizing: border-box;
39
- width: 45%;
40
- margin: 2%;
41
- }
42
-
43
- .pointer:hover {
44
- cursor: pointer;
45
- opacity: 0.9;
46
- }
47
-
48
- .pointer:active {
49
- position: relative;
50
- top: 1px;
51
- }
52
-
53
- .sidebar:after, body > .navbar-collapse:after {
54
- background: #1E8FE1;
55
- }