localtower 1.0.0 → 2.0.1

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 (227) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +133 -33
  3. data/app/assets/javascripts/localtower/application.js +30830 -0
  4. data/app/assets/javascripts/localtower/application.js.map +7 -0
  5. data/app/assets/stylesheets/localtower/application.css +1179 -0
  6. data/app/assets/stylesheets/src/application.css +68 -0
  7. data/app/controllers/localtower/pages_controller.rb +20 -35
  8. data/app/javascript/application.js +46 -0
  9. data/app/javascript/components/DarkSelect.js +115 -0
  10. data/app/javascript/components/ModernTooltip.js +26 -0
  11. data/app/javascript/components/NewMigrationForm.js +687 -0
  12. data/app/javascript/components/NewModelForm.js +432 -0
  13. data/app/javascript/components/data/Stores.js +294 -0
  14. data/app/views/layouts/localtower/application.html.erb +80 -66
  15. data/app/views/localtower/_migration.html.erb +30 -0
  16. data/app/views/localtower/pages/_alert_no_models.html.erb +1 -1
  17. data/app/views/localtower/pages/migrations.html.erb +24 -55
  18. data/app/views/localtower/pages/new_migration.html.erb +33 -96
  19. data/app/views/localtower/pages/new_model.html.erb +17 -83
  20. data/config/routes.rb +1 -1
  21. data/lib/localtower/engine.rb +9 -2
  22. data/lib/localtower/generators/migration.rb +218 -91
  23. data/lib/localtower/generators/model.rb +29 -20
  24. data/lib/localtower/generators/service_objects/insert_array.rb +5 -3
  25. data/lib/localtower/generators/service_objects/insert_defaults.rb +73 -3
  26. data/lib/localtower/generators/service_objects/insert_foreign_keys.rb +35 -0
  27. data/lib/localtower/generators/service_objects/insert_indexes.rb +41 -18
  28. data/lib/localtower/generators/service_objects/insert_nullable.rb +5 -3
  29. data/lib/localtower/status.rb +3 -1
  30. data/lib/localtower/tools.rb +20 -9
  31. data/lib/localtower/version.rb +1 -1
  32. data/lib/localtower.rb +0 -6
  33. data/public/com/favicon-64.png +0 -0
  34. data/public/com/twitter-cover-1.png +0 -0
  35. data/public/com/twitter-cover-2.png +0 -0
  36. data/public/fonts/Circular/CircularStd-Black.otf +0 -0
  37. data/public/fonts/Circular/CircularStd-BlackItalic.otf +0 -0
  38. data/public/fonts/Circular/CircularStd-Bold.otf +0 -0
  39. data/public/fonts/Circular/CircularStd-BoldItalic.otf +0 -0
  40. data/public/fonts/Circular/CircularStd-Book.otf +0 -0
  41. data/public/fonts/Circular/CircularStd-BookItalic.otf +0 -0
  42. data/public/fonts/Circular/CircularStd-Light Italic.otf +0 -0
  43. data/public/fonts/Circular/CircularStd-Light.otf +0 -0
  44. data/public/fonts/Circular/CircularStd-Medium.otf +0 -0
  45. data/public/fonts/Circular/CircularStd-MediumItalic.otf +0 -0
  46. data/public/fonts/Circular/Read Me.txt +5 -0
  47. data/public/fonts/Circular/www.dfonts.org.url +2 -0
  48. data/public/screenshots/v0.1.1/1_schema.png +0 -0
  49. data/public/screenshots/v0.1.1/2_models_1.png +0 -0
  50. data/public/screenshots/v0.1.1/2_models_2.png +0 -0
  51. data/public/screenshots/v0.1.1/3_relations.png +0 -0
  52. data/public/screenshots/v0.1.1/4_migrations.png +0 -0
  53. data/public/screenshots/v0.1.6/1_schema.png +0 -0
  54. data/public/screenshots/v0.1.6/2_models_1.png +0 -0
  55. data/public/screenshots/v0.1.6/3_relations.png +0 -0
  56. data/public/screenshots/v0.1.6/4_migrations.png +0 -0
  57. data/public/screenshots/v0.1.6/5_capture.png +0 -0
  58. data/public/screenshots/v1.0.0/migrations.png +0 -0
  59. data/public/screenshots/v1.0.0/models.png +0 -0
  60. data/public/screenshots/v1.0.0/new_migration.png +0 -0
  61. data/public/screenshots/v1.0.0/new_model.png +0 -0
  62. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.44.30.jpg +0 -0
  63. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.44.42.jpg +0 -0
  64. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.44.54.jpg +0 -0
  65. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.48.21.jpg +0 -0
  66. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.48.28.jpg +0 -0
  67. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.48.51.jpg +0 -0
  68. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.49.09.jpg +0 -0
  69. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.50.04.jpg +0 -0
  70. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.50.11.jpg +0 -0
  71. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.50.19.jpg +0 -0
  72. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.51.47.jpg +0 -0
  73. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.51.48.jpg +0 -0
  74. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.52.02.jpg +0 -0
  75. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.52.18.jpg +0 -0
  76. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.52.26.jpg +0 -0
  77. data/public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.52.38.jpg +0 -0
  78. data/public/screenshots/v2.0.0/migrations.png +0 -0
  79. data/public/screenshots/v2.0.0/new_migration.png +0 -0
  80. data/public/screenshots/v2.0.0/new_model.png +0 -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 +146 -104
  87. data/spec/dummy/config/database.yml +4 -6
  88. data/spec/dummy/config/puma.rb +1 -1
  89. data/spec/dummy/db/schema.rb +2 -39
  90. data/spec/dummy/lib/tasks/reset.rake +16 -0
  91. data/spec/dummy/log/development.log +22746 -15994
  92. data/spec/dummy/log/localtower.log +747 -1891
  93. data/spec/dummy/log/test.log +1145 -0
  94. data/spec/dummy/tmp/cache/sessions/localtower/726/FE1/_session_id%3A2%3A%3A69d6764784f832ea25700ea2f242210f3f8d94b48912b0f09ffc44311f0376eb +0 -0
  95. data/spec/dummy/tmp/cache/sessions/localtower/77E/121/_session_id%3A2%3A%3A0b3c1fe7154461ba023ba6c81dd1b999348757880b505f4b082faed263a627f9 +1 -0
  96. data/spec/dummy/tmp/cache/sessions/localtower/7EB/8A1/_session_id%3A2%3A%3Af88237c1d157546a5dcde894fd6c1410162a8eba318748d4ac573ee75e40df16 +0 -0
  97. data/spec/dummy/tmp/local_secret.txt +1 -0
  98. data/spec/factories/migration.rb +77 -40
  99. data/spec/factories/model.rb +46 -26
  100. data/spec/lib/localtower/generators/migration_spec.rb +16 -24
  101. data/spec/lib/localtower/generators/model_spec.rb +71 -8
  102. data/spec/lib/localtower/generators/service_objects/insert_array_spec.rb +1 -1
  103. data/spec/lib/localtower/generators/service_objects/insert_defaults_spec.rb +1 -1
  104. data/spec/lib/localtower/generators/service_objects/insert_foreign_keys_spec.rb +101 -0
  105. data/spec/lib/localtower/generators/service_objects/insert_indexes_spec.rb +1 -1
  106. data/spec/lib/localtower/generators/service_objects/insert_nullable_spec.rb +2 -2
  107. data/spec/spec_helper.rb +2 -3
  108. metadata +107 -238
  109. data/app/views/localtower/pages/models.html.erb +0 -63
  110. data/public/css/app.css +0 -55
  111. data/public/js/app.js +0 -337
  112. data/public/light-bootstrap-dashboard-master/assets/css/animate.min.css +0 -6
  113. data/public/light-bootstrap-dashboard-master/assets/css/bootstrap.min.css +0 -5
  114. data/public/light-bootstrap-dashboard-master/assets/css/demo.css +0 -61
  115. data/public/light-bootstrap-dashboard-master/assets/css/light-bootstrap-dashboard.css +0 -2789
  116. data/public/light-bootstrap-dashboard-master/assets/css/pe-icon-7-stroke.css +0 -632
  117. data/public/light-bootstrap-dashboard-master/assets/fonts/Pe-icon-7-stroke.eot +0 -0
  118. data/public/light-bootstrap-dashboard-master/assets/fonts/Pe-icon-7-stroke.svg +0 -212
  119. data/public/light-bootstrap-dashboard-master/assets/fonts/Pe-icon-7-stroke.ttf +0 -0
  120. data/public/light-bootstrap-dashboard-master/assets/fonts/Pe-icon-7-stroke.woff +0 -0
  121. data/public/light-bootstrap-dashboard-master/assets/img/default-avatar.png +0 -0
  122. data/public/light-bootstrap-dashboard-master/assets/img/faces/face-0.jpg +0 -0
  123. data/public/light-bootstrap-dashboard-master/assets/img/faces/face-1.jpg +0 -0
  124. data/public/light-bootstrap-dashboard-master/assets/img/faces/face-2.jpg +0 -0
  125. data/public/light-bootstrap-dashboard-master/assets/img/faces/face-3.jpg +0 -0
  126. data/public/light-bootstrap-dashboard-master/assets/img/faces/face-4.jpg +0 -0
  127. data/public/light-bootstrap-dashboard-master/assets/img/faces/face-5.jpg +0 -0
  128. data/public/light-bootstrap-dashboard-master/assets/img/faces/face-6.jpg +0 -0
  129. data/public/light-bootstrap-dashboard-master/assets/img/faces/face-7.jpg +0 -0
  130. data/public/light-bootstrap-dashboard-master/assets/img/faces/tim_vector.jpe +0 -0
  131. data/public/light-bootstrap-dashboard-master/assets/img/favicon.ico +0 -0
  132. data/public/light-bootstrap-dashboard-master/assets/img/loading-bubbles.svg +0 -14
  133. data/public/light-bootstrap-dashboard-master/assets/img/mask.png +0 -0
  134. data/public/light-bootstrap-dashboard-master/assets/img/new_logo.png +0 -0
  135. data/public/light-bootstrap-dashboard-master/assets/img/sidebar-1.jpg +0 -0
  136. data/public/light-bootstrap-dashboard-master/assets/img/sidebar-2.jpg +0 -0
  137. data/public/light-bootstrap-dashboard-master/assets/img/sidebar-3.jpg +0 -0
  138. data/public/light-bootstrap-dashboard-master/assets/img/sidebar-4.jpg +0 -0
  139. data/public/light-bootstrap-dashboard-master/assets/img/sidebar-5.jpg +0 -0
  140. data/public/light-bootstrap-dashboard-master/assets/img/tim_80x80.png +0 -0
  141. data/public/light-bootstrap-dashboard-master/assets/js/bootstrap-checkbox-radio-switch.js +0 -502
  142. data/public/light-bootstrap-dashboard-master/assets/js/bootstrap-notify.js +0 -404
  143. data/public/light-bootstrap-dashboard-master/assets/js/bootstrap-select.js +0 -438
  144. data/public/light-bootstrap-dashboard-master/assets/js/bootstrap.min.js +0 -7
  145. data/public/light-bootstrap-dashboard-master/assets/js/chartist.min.js +0 -9
  146. data/public/light-bootstrap-dashboard-master/assets/js/demo.js +0 -152
  147. data/public/light-bootstrap-dashboard-master/assets/js/jquery-1.10.2.js +0 -9789
  148. data/public/light-bootstrap-dashboard-master/assets/js/light-bootstrap-dashboard.js +0 -179
  149. data/public/logo-localtower-white-300.png +0 -0
  150. data/public/logo-localtower-white.png +0 -0
  151. data/public/logo-localtower.png +0 -0
  152. data/public/vendor/font-awesome.min.css +0 -4
  153. data/public/vendor/highlight-js-default.min.css +0 -9
  154. data/spec/dummy/app/models/post.rb +0 -3
  155. data/spec/dummy/app/models/user.rb +0 -3
  156. data/spec/dummy/db/migrate/20230119221452_create_users.rb +0 -14
  157. data/spec/dummy/db/migrate/20230119221751_change_users_at1674166670.rb +0 -7
  158. data/spec/dummy/db/migrate/20230119222054_create_posts.rb +0 -11
  159. data/spec/dummy/db/migrate/20230119222106_change_posts_at1674166865.rb +0 -5
  160. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/-Y/-YOiiBKqc2UODHFjctm8xc7xFoZaL7zOjWQj6qQ2wyE.cache +0 -1
  161. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/-d/-dwueM4vmPt8L51S3jeSyg_AjGDcj0GUN6pDpCA1gCg.cache +0 -3
  162. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/0g/0gaJnJQdtd2ACbihXxn8OnjLWlDjnQ_WxfgOpbiLzhg.cache +0 -1
  163. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/0r/0rFCsCV9kZnEYtZZ6sfig8329OU31bqjecDFqSVank8.cache +0 -1
  164. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/1J/1J2k_CpnQE3d-PZAQwOVGQALGkta4qVvhdsKjgG0e4Q.cache +0 -0
  165. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/2p/2pYVH2Z_syqh6ok8QYxJNKxXpx1Iwppf6JGElZI0gpw.cache +0 -0
  166. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/3W/3WBmqd-2V6q5N-jvbyp-tlcfn3aHYMwBppbOUm7x4qg.cache +0 -1
  167. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/4K/4KFPlHkhdDW0riGUmlbaR-kmDz6JUnQvY6fwW8qsdaE.cache +0 -3
  168. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/6x/6xMeRWmLpNK_flx6-JA3KazvUxSCxyPxHv9Zm3eC26Q.cache +0 -1
  169. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/7d/7dNqI_dCDJLJmI1oM4xwFp9nRRNOem-4P4OD7PMyz2E.cache +0 -0
  170. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/8X/8XquhxVcp5A8QquLtxO8NgKTMJch0eqQmzFmRGIZP6I.cache +0 -1
  171. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ah/AhdfXXtU63kXS4TnsH2Vi1yWgVkIEeV8Z8XA68hrNQc.cache +0 -0
  172. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Bt/BtAePnwLSGw82xUGI7wuhWDfuwarOQVS91YqCsweMcs.cache +0 -0
  173. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Bx/BxzoG0KxeNLac4xTNeJv3qfeytbNBw58xj2zD-xdbrE.cache +0 -2
  174. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/CC/CCD0ROPX0yxHwNpVZmuP8ZNtgQpaVCMXpdzC0Wb5n24.cache +0 -1
  175. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/DS/DS43oxBg6K5PMWLn2mTy_4EnxI03ehHkxpjV7NCi8yM.cache +0 -1
  176. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Do/Do83AoOat5W-c1g7piDGy2GMmffsY6JY0Qfuh5PY3GM.cache +0 -2
  177. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/EI/EI0Nxk-VRATWstMuVCVc0_GdYlQ-a0dx6n2g0l3vIik.cache +0 -0
  178. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/EN/ENhJnzJAU2IK-7aHqubj9N8Jo_UTmjG_VEQqyIkolQ8.cache +0 -1
  179. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Fc/FcS6VUHN3Bd4pHGqd5NHA8jA4OLwWrU94s3b4GGxX9c.cache +0 -1
  180. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/G0/G0kukI-r0q0Vbrg6e_jnYJoYcOX8K__h-mwKbCf4twE.cache +0 -0
  181. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/I1/I1Jw08-mz8xzgrgi6giCzpf1UmzGTSbl4eJEw4DAoJM.cache +0 -1
  182. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/IV/IVOO1dXBmgjieDk__g57p6aYt0Z3CmfTa32jhegoyko.cache +0 -3
  183. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/JY/JYPmv5WP4wxdI9EKEEPkK_fVtqeSLfmint_5E8fQLQ8.cache +0 -1
  184. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/MX/MXI3KxaQPZGImSvCNZ_TbQVruWCJ3E0xiVxza1ZCAjM.cache +0 -1
  185. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/OU/OUoioCqXALK909jXPV3VSyCJIdNC7bsogUfdnRTpc5o.cache +0 -1
  186. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/PH/PHjtqNLUPAUDiSlu5AbPjlIo20mOGNm0uNjMLhX2NvM.cache +0 -0
  187. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/RC/RC9vfALY5K634pTeau0BAhTHl7d5_5yA3tM-QTLiKtI.cache +0 -0
  188. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/RG/RG1PrmlixwaUlG8BV0kcm_3F7OQekxsrLYjBdf403-k.cache +0 -2
  189. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ut/UtoMO6n6FHTpRCGk9VfxlfTI2Ao2GYJ_6kMzx3B9VH8.cache +0 -1
  190. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/VE/VExnbpDk3LxYdPk3htUrZQXPI8NK_zlKtSFfVXJlxU4.cache +0 -1
  191. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Wm/WmKTjykiU-Tx_Faf5zduEeEQ-DozAs5omKToM2l1cZM.cache +0 -0
  192. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/X-/X-KjhDPd0nI155N_FaxFSgaOiYo0_ytqlmkBlLM7ayw.cache +0 -1
  193. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/XX/XXVhj-O91tJ5c8pz7DQlTABOv8TIRVg5haw9VOq9HuI.cache +0 -1
  194. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/YC/YCiifo5NCMwDChFqYFiV4EaYEx8hy3Efle1PsGbIdak.cache +0 -1
  195. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Ya/YayMISAqD-Y3vBFywwKrXbUovGf5o77HUF5s8mnQgO0.cache +0 -0
  196. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/Zl/Zl-NEb0aDLmZ9gN4gdY1OYlbUXD4JhkFY_y23m55zmo.cache +0 -0
  197. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/_h/_hnjPptBeD3GP5B0iJR6pvyVkiMiq-o2TxaYmGf9KJo.cache +0 -3
  198. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/_p/_poEF6QbTPYJiQCFGoXxIXjmvcn6T0I87ElzJGHguk0.cache +0 -1
  199. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/aa/aaSj2zt8ddc87nZqTpOI9gRCKVnoalXKFBww7t4t3Kg.cache +0 -0
  200. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/bZ/bZHWUkrOLp0WM_Ogo36Qjt4cxDt-rOFgtcj4LNB-BVE.cache +0 -1
  201. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/cP/cPSNG_663TNT944Rke919luRS6FtpMwVc_7aDph645w.cache +0 -1
  202. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/ce/ceq8fcZGIoqWrCl9vrCRrywEdx42iy9PrGG9CwFSIF4.cache +0 -0
  203. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/cl/cljhP0Jc018nLnG1rpdg-FUf6mlIqrQYvXTNXTNG9Bw.cache +0 -0
  204. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/dm/dmod3fTZdoKso2FGM5RTQtb4kTB6vywsiXLWDygYFN4.cache +0 -1
  205. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/dy/dySDGcUTqlKx2MTvOmIEP-WzhyhCfU5xhN9qgxbz3rI.cache +0 -0
  206. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/gQ/gQYdmEzbLjTcFCnsfzXzEmeminOchF263snAk3IvXM0.cache +0 -1
  207. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/gh/ghvuMAqccBGljlmEaI3Gt5tH5rEg6hseKYMYfRMkHdY.cache +0 -1
  208. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/gt/gt8QC7k92A4hXA3HlCpQulW73tqd6x63I3uT-YrGMj0.cache +0 -1
  209. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/hf/hfVg-y7dPSQKbb7V3I7M5w7IpOhDiIB2H31d2tmbZMU.cache +0 -0
  210. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/iF/iFLwyhZIu1Jxm77NUT2qWeTDMmyELW4U85t9rGE_KVg.cache +0 -0
  211. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/kF/kFlIcBBnSyKE00OjpM90pqSn93mLMUv9esz86nrO-Cs.cache +0 -1
  212. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/ma/MazNt_5OaYexRuZnccZZ_7AONlxn1a4W3KdWyHyBdws.cache +0 -0
  213. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/ma/ma3w08gnDTeqwY2-C9BlToxA6-AS8bvXlu-nBiz0UYs.cache +0 -1
  214. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/n_/n_xYqQYhwEMQknb3jFQnjlxxBE9TzMNHCdJ-bEyZFIw.cache +0 -2
  215. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/nx/nxTv3sKVUQZADJyM3dPaVmUA78MIsMLD_K279yN_GsI.cache +0 -2
  216. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/pv/pv6tV3CDkIAmLXdU8EPLlNEkXAKJPufVD4VP30o4fWo.cache +0 -0
  217. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/qP/qPmv5snMrDw830S6hSICDcnIy7kVEWoFKXhGKT38lG4.cache +0 -2
  218. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/sY/sYvTb1uPWWmnHJNXKuW_xSco-aUb-rN2f0J35zSIzuc.cache +0 -1
  219. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/su/suQ_jjDxRiIn4VEqFJYKaBWJILaeGKBvoTv49XNX0vo.cache +0 -1
  220. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/u8/u8IrW5IIQ7espwk2Vpk23zheL9YZA0tnbKq9X7E-WA0.cache +0 -1
  221. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/wh/whzETExjcZCkn4msasD2aylgfhfpKPZrNxTkY-SOIDg.cache +0 -2
  222. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/x7/x7PYh8DJvPykcEqpVab2vcY9-GFz-3cqtoMlRAu94Uc.cache +0 -2
  223. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/y6/y6oxsJD3pAY9ph1_5M-77uiEjTVw8BheLZNygCKPm1g.cache +0 -1
  224. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/yH/yHZ-a1J23ZCf2n5mEHINMz23Iec2cLGTKauW7k4yGTE.cache +0 -0
  225. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/z7/z7KfUWYoSaGq8tQ5mbHwyfXyT3Pa4FWKJswHcIdJuds.cache +0 -1
  226. data/spec/dummy/tmp/cache/assets/sprockets/v4.0.0/zu/zuExWc5WHxeOUPZUKHl9a9ZRmN50g7jMOD28macn6M0.cache +0 -0
  227. data/spec/dummy/tmp/pids/server.pid +0 -1
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.1
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-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -103,13 +103,23 @@ extra_rdoc_files: []
103
103
  files:
104
104
  - README.md
105
105
  - Rakefile
106
+ - app/assets/javascripts/localtower/application.js
107
+ - app/assets/javascripts/localtower/application.js.map
108
+ - app/assets/stylesheets/localtower/application.css
109
+ - app/assets/stylesheets/src/application.css
106
110
  - app/controllers/localtower/application_controller.rb
107
111
  - app/controllers/localtower/pages_controller.rb
108
112
  - app/helpers/localtower/application_helper.rb
113
+ - app/javascript/application.js
114
+ - app/javascript/components/DarkSelect.js
115
+ - app/javascript/components/ModernTooltip.js
116
+ - app/javascript/components/NewMigrationForm.js
117
+ - app/javascript/components/NewModelForm.js
118
+ - app/javascript/components/data/Stores.js
109
119
  - app/views/layouts/localtower/application.html.erb
120
+ - app/views/localtower/_migration.html.erb
110
121
  - app/views/localtower/pages/_alert_no_models.html.erb
111
122
  - app/views/localtower/pages/migrations.html.erb
112
- - app/views/localtower/pages/models.html.erb
113
123
  - app/views/localtower/pages/new_migration.html.erb
114
124
  - app/views/localtower/pages/new_model.html.erb
115
125
  - config/routes.rb
@@ -119,53 +129,27 @@ files:
119
129
  - lib/localtower/generators/model.rb
120
130
  - lib/localtower/generators/service_objects/insert_array.rb
121
131
  - lib/localtower/generators/service_objects/insert_defaults.rb
132
+ - lib/localtower/generators/service_objects/insert_foreign_keys.rb
122
133
  - lib/localtower/generators/service_objects/insert_indexes.rb
123
134
  - lib/localtower/generators/service_objects/insert_nullable.rb
124
135
  - lib/localtower/status.rb
125
136
  - lib/localtower/tools.rb
126
137
  - 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
138
+ - public/com/favicon-64.png
139
+ - public/com/twitter-cover-1.png
140
+ - public/com/twitter-cover-2.png
141
+ - public/fonts/Circular/CircularStd-Black.otf
142
+ - public/fonts/Circular/CircularStd-BlackItalic.otf
143
+ - public/fonts/Circular/CircularStd-Bold.otf
144
+ - public/fonts/Circular/CircularStd-BoldItalic.otf
145
+ - public/fonts/Circular/CircularStd-Book.otf
146
+ - public/fonts/Circular/CircularStd-BookItalic.otf
147
+ - public/fonts/Circular/CircularStd-Light Italic.otf
148
+ - public/fonts/Circular/CircularStd-Light.otf
149
+ - public/fonts/Circular/CircularStd-Medium.otf
150
+ - public/fonts/Circular/CircularStd-MediumItalic.otf
151
+ - public/fonts/Circular/Read Me.txt
152
+ - public/fonts/Circular/www.dfonts.org.url
169
153
  - public/screenshots/v0.1.1/1_schema.png
170
154
  - public/screenshots/v0.1.1/2_models_1.png
171
155
  - public/screenshots/v0.1.1/2_models_2.png
@@ -180,10 +164,31 @@ files:
180
164
  - public/screenshots/v1.0.0/models.png
181
165
  - public/screenshots/v1.0.0/new_migration.png
182
166
  - public/screenshots/v1.0.0/new_model.png
183
- - public/vendor/font-awesome.min.css
184
- - public/vendor/highlight-js-default.min.css
167
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.44.30.jpg
168
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.44.42.jpg
169
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.44.54.jpg
170
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.48.21.jpg
171
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.48.28.jpg
172
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.48.51.jpg
173
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.49.09.jpg
174
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.50.04.jpg
175
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.50.11.jpg
176
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.50.19.jpg
177
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.51.47.jpg
178
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.51.48.jpg
179
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.52.02.jpg
180
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.52.18.jpg
181
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.52.26.jpg
182
+ - public/screenshots/v2.0.0/Screenshot 2024-11-18 at 22.52.38.jpg
183
+ - public/screenshots/v2.0.0/migrations.png
184
+ - public/screenshots/v2.0.0/new_migration.png
185
+ - public/screenshots/v2.0.0/new_model.png
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,8 +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
- - spec/dummy/app/models/user.rb
205
208
  - spec/dummy/app/views/layouts/application.html.erb
206
209
  - spec/dummy/app/views/layouts/mailer.html.erb
207
210
  - spec/dummy/app/views/layouts/mailer.text.erb
@@ -236,83 +239,16 @@ files:
236
239
  - spec/dummy/config/routes.rb
237
240
  - spec/dummy/config/secrets.yml
238
241
  - 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
242
  - spec/dummy/db/schema.rb
243
+ - spec/dummy/lib/tasks/reset.rake
244
244
  - spec/dummy/log/development.log
245
245
  - spec/dummy/log/localtower.log
246
246
  - spec/dummy/log/test.log
247
247
  - 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
315
- - spec/dummy/tmp/pids/server.pid
248
+ - spec/dummy/tmp/cache/sessions/localtower/726/FE1/_session_id%3A2%3A%3A69d6764784f832ea25700ea2f242210f3f8d94b48912b0f09ffc44311f0376eb
249
+ - spec/dummy/tmp/cache/sessions/localtower/77E/121/_session_id%3A2%3A%3A0b3c1fe7154461ba023ba6c81dd1b999348757880b505f4b082faed263a627f9
250
+ - spec/dummy/tmp/cache/sessions/localtower/7EB/8A1/_session_id%3A2%3A%3Af88237c1d157546a5dcde894fd6c1410162a8eba318748d4ac573ee75e40df16
251
+ - spec/dummy/tmp/local_secret.txt
316
252
  - spec/dummy/tmp/restart.txt
317
253
  - spec/factories/migration.rb
318
254
  - spec/factories/model.rb
@@ -320,6 +256,7 @@ files:
320
256
  - spec/lib/localtower/generators/model_spec.rb
321
257
  - spec/lib/localtower/generators/service_objects/insert_array_spec.rb
322
258
  - spec/lib/localtower/generators/service_objects/insert_defaults_spec.rb
259
+ - spec/lib/localtower/generators/service_objects/insert_foreign_keys_spec.rb
323
260
  - spec/lib/localtower/generators/service_objects/insert_indexes_spec.rb
324
261
  - spec/lib/localtower/generators/service_objects/insert_nullable_spec.rb
325
262
  - spec/lib/localtower/tools_spec.rb
@@ -327,7 +264,7 @@ files:
327
264
  homepage: https://github.com/damln/localtower
328
265
  licenses: []
329
266
  metadata: {}
330
- post_install_message:
267
+ post_install_message:
331
268
  rdoc_options: []
332
269
  require_paths:
333
270
  - lib
@@ -342,148 +279,80 @@ required_rubygems_version: !ruby/object:Gem::Requirement
342
279
  - !ruby/object:Gem::Version
343
280
  version: '0'
344
281
  requirements: []
345
- rubygems_version: 3.1.6
346
- signing_key:
282
+ rubygems_version: 3.5.20
283
+ signing_key:
347
284
  specification_version: 4
348
285
  summary: Manage your models, relations, and migrations from a simple UI.
349
286
  test_files:
350
- - spec/spec_helper.rb
351
- - spec/dummy/app/mailers/application_mailer.rb
352
- - spec/dummy/app/models/application_record.rb
353
- - spec/dummy/app/models/post.rb
354
- - spec/dummy/app/models/user.rb
355
- - spec/dummy/app/jobs/application_job.rb
287
+ - spec/dummy/Gemfile
288
+ - spec/dummy/Gemfile.lock
289
+ - spec/dummy/README.md
290
+ - spec/dummy/Rakefile
291
+ - spec/dummy/app/assets/config/manifest.js
292
+ - spec/dummy/app/assets/javascripts/application.js
293
+ - spec/dummy/app/assets/javascripts/cable.js
294
+ - spec/dummy/app/assets/stylesheets/application.css
295
+ - spec/dummy/app/channels/application_cable/channel.rb
296
+ - spec/dummy/app/channels/application_cable/connection.rb
356
297
  - spec/dummy/app/controllers/application_controller.rb
357
298
  - spec/dummy/app/controllers/pages_controller.rb
299
+ - spec/dummy/app/helpers/application_helper.rb
300
+ - spec/dummy/app/jobs/application_job.rb
301
+ - spec/dummy/app/mailers/application_mailer.rb
302
+ - spec/dummy/app/models/application_record.rb
358
303
  - spec/dummy/app/views/layouts/application.html.erb
359
304
  - spec/dummy/app/views/layouts/mailer.html.erb
360
305
  - spec/dummy/app/views/layouts/mailer.text.erb
361
306
  - 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
307
+ - spec/dummy/bin/bundle
308
+ - spec/dummy/bin/rails
371
309
  - spec/dummy/bin/rake
372
310
  - spec/dummy/bin/setup
373
- - spec/dummy/bin/bundle
374
311
  - 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
312
+ - spec/dummy/bin/update
313
+ - spec/dummy/config/application.rb
314
+ - spec/dummy/config/boot.rb
379
315
  - spec/dummy/config/cable.yml
380
- - spec/dummy/config/environments/production.rb
316
+ - spec/dummy/config/database.yml
317
+ - spec/dummy/config/environment.rb
381
318
  - spec/dummy/config/environments/development.rb
319
+ - spec/dummy/config/environments/production.rb
382
320
  - 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
321
  - spec/dummy/config/initializers/application_controller_renderer.rb
322
+ - spec/dummy/config/initializers/assets.rb
390
323
  - spec/dummy/config/initializers/backtrace_silencers.rb
391
- - spec/dummy/config/initializers/mime_types.rb
324
+ - spec/dummy/config/initializers/cookies_serializer.rb
392
325
  - spec/dummy/config/initializers/filter_parameter_logging.rb
326
+ - spec/dummy/config/initializers/inflections.rb
327
+ - spec/dummy/config/initializers/mime_types.rb
328
+ - spec/dummy/config/initializers/new_framework_defaults.rb
393
329
  - spec/dummy/config/initializers/session_store.rb
394
330
  - 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
331
+ - spec/dummy/config/locales/en.yml
332
+ - spec/dummy/config/puma.rb
333
+ - spec/dummy/config/routes.rb
334
+ - spec/dummy/config/secrets.yml
335
+ - spec/dummy/config/spring.rb
399
336
  - spec/dummy/config.ru
400
- - spec/dummy/README.md
401
- - spec/dummy/Rakefile
402
337
  - 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
338
+ - spec/dummy/lib/tasks/reset.rake
339
+ - spec/dummy/log/development.log
408
340
  - spec/dummy/log/localtower.log
409
341
  - spec/dummy/log/test.log
410
- - spec/dummy/log/development.log
411
- - spec/dummy/Gemfile.lock
412
- - 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
342
+ - spec/dummy/test/index.html
343
+ - spec/dummy/tmp/cache/sessions/localtower/726/FE1/_session_id%3A2%3A%3A69d6764784f832ea25700ea2f242210f3f8d94b48912b0f09ffc44311f0376eb
344
+ - spec/dummy/tmp/cache/sessions/localtower/77E/121/_session_id%3A2%3A%3A0b3c1fe7154461ba023ba6c81dd1b999348757880b505f4b082faed263a627f9
345
+ - spec/dummy/tmp/cache/sessions/localtower/7EB/8A1/_session_id%3A2%3A%3Af88237c1d157546a5dcde894fd6c1410162a8eba318748d4ac573ee75e40df16
346
+ - spec/dummy/tmp/local_secret.txt
480
347
  - spec/dummy/tmp/restart.txt
481
348
  - spec/factories/migration.rb
482
349
  - spec/factories/model.rb
483
- - spec/lib/localtower/tools_spec.rb
484
350
  - spec/lib/localtower/generators/migration_spec.rb
485
- - spec/lib/localtower/generators/service_objects/insert_defaults_spec.rb
351
+ - spec/lib/localtower/generators/model_spec.rb
486
352
  - spec/lib/localtower/generators/service_objects/insert_array_spec.rb
487
- - spec/lib/localtower/generators/service_objects/insert_nullable_spec.rb
353
+ - spec/lib/localtower/generators/service_objects/insert_defaults_spec.rb
354
+ - spec/lib/localtower/generators/service_objects/insert_foreign_keys_spec.rb
488
355
  - spec/lib/localtower/generators/service_objects/insert_indexes_spec.rb
489
- - spec/lib/localtower/generators/model_spec.rb
356
+ - spec/lib/localtower/generators/service_objects/insert_nullable_spec.rb
357
+ - spec/lib/localtower/tools_spec.rb
358
+ - 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
- }