lizarb 1.0.5 → 1.0.6

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 (612) hide show
  1. checksums.yaml +4 -4
  2. data/.env +0 -0
  3. data/.tool-versions +2 -1
  4. data/Gemfile +23 -12
  5. data/Gemfile.lock +161 -117
  6. data/LICENSE.txt +1 -1
  7. data/README.md +29 -17
  8. data/Rakefile +2 -2
  9. data/app/dev/commands/stick_command.rb +3 -3
  10. data/app/dev/commands/stick_command_test.rb +1 -12
  11. data/app/dev_box.rb +23 -41
  12. data/app/eco_box.rb +5 -0
  13. data/app/net_box.rb +22 -20
  14. data/app/prime_box.rb +9 -0
  15. data/app/web/requests/api_request.rb +2 -0
  16. data/app/web/requests/assets_request.rb +1 -0
  17. data/app/web/requests/logo_request.rb +12 -0
  18. data/app/web/requests/logo_request.rb.index.html.erb +7 -0
  19. data/app/web/requests/logo_request_test.rb +10 -0
  20. data/app/web/requests/root_request.rb +1 -0
  21. data/app/web_box.rb +2 -4
  22. data/app.rb +22 -23
  23. data/app_global.gemfile.rb +8 -1
  24. data/app_global.gemfile.rb.lock +19 -16
  25. data/app_global.rb +3 -1
  26. data/examples/bench/app/dev/benches/loops_bench_test.rb +0 -4
  27. data/examples/bench/app/dev/benches/objects_bench_test.rb +0 -4
  28. data/examples/bench/app/dev/benches/sorted_bench.rb +7 -9
  29. data/examples/bench/app/dev/benches/sorted_bench_test.rb +0 -4
  30. data/examples/bench/app/dev/benches/variables_bench_test.rb +0 -4
  31. data/examples/command/app/dev/commands/calculator_command.rb +4 -4
  32. data/examples/command/app/dev/commands/calculator_command_test.rb +0 -4
  33. data/examples/command/app/dev/commands/circle_command.rb +4 -4
  34. data/examples/command/app/dev/commands/circle_command_test.rb +0 -4
  35. data/examples/command/app/dev/commands/narrative_method_command.rb +2 -11
  36. data/examples/command/app/dev/commands/narrative_method_command_test.rb +1 -5
  37. data/examples/command/app/dev/commands/quadratic_command.rb +4 -4
  38. data/examples/command/app/dev/commands/quadratic_command_test.rb +0 -4
  39. data/examples/log/app/dev/{logs/logger_log.rb → handler_logs/logger_handler_log.rb} +2 -1
  40. data/examples/log/app/dev/handler_logs/logger_handler_log_test.rb +15 -0
  41. data/examples/new/app/dev_box.rb +24 -46
  42. data/examples/new/app.rb +19 -23
  43. data/examples/shell/app/dev/shells/bash_adapter_shell_test.rb +0 -4
  44. data/examples/shell/app/dev/shells/business_logic_shell_test.rb +0 -4
  45. data/examples/shell/app/dev/shells/gem_adapter_shell_test.rb +0 -4
  46. data/exe/liza +4 -6
  47. data/exe/lizarb +4 -14
  48. data/gemfiles/gemfile.3.1.rb +1 -0
  49. data/gemfiles/gemfile.3.1.rb.lock +261 -0
  50. data/gemfiles/gemfile.3.2.rb +1 -0
  51. data/gemfiles/gemfile.3.2.rb.lock +261 -0
  52. data/gemfiles/gemfile.3.3.rb +1 -0
  53. data/gemfiles/gemfile.3.3.rb.lock +261 -0
  54. data/gemfiles/gemfile.3.4.rb +1 -0
  55. data/gemfiles/gemfile.3.4.rb.lock +243 -0
  56. data/gemfiles/gemfile.jruby-9.4.rb +3 -0
  57. data/gemfiles/gemfile.jruby-9.4.rb.lock +139 -0
  58. data/lib/app.rb +121 -32
  59. data/lib/art_system/art_system_test.rb +3 -0
  60. data/lib/art_system/commands/chatgpt_command.rb +91 -0
  61. data/lib/art_system/commands/chatgpt_command_test.rb +10 -0
  62. data/lib/art_system/commands/deepseek_command.rb +58 -0
  63. data/lib/art_system/commands/deepseek_command_test.rb +10 -0
  64. data/lib/art_system/commands/ollama_command.rb +69 -0
  65. data/lib/art_system/commands/ollama_command_test.rb +10 -0
  66. data/lib/art_system/gem_shells/ruby_openai_gem_shell.rb +32 -0
  67. data/lib/art_system/gem_shells/ruby_openai_gem_shell_test.rb +10 -0
  68. data/lib/art_system/shells/deepseek_shell.rb +15 -0
  69. data/lib/art_system/shells/deepseek_shell_test.rb +10 -0
  70. data/lib/art_system/shells/ollama_shell.rb +12 -0
  71. data/lib/art_system/shells/ollama_shell_test.rb +10 -0
  72. data/lib/art_system/shells/openai_shell.rb +13 -0
  73. data/lib/art_system/shells/openai_shell_test.rb +10 -0
  74. data/lib/crypto_system/crypto_system_test.rb +3 -0
  75. data/lib/crypto_system/gem_shells/digest_md5_gem_shell.rb +15 -0
  76. data/lib/crypto_system/gem_shells/digest_md5_gem_shell_test.rb +25 -0
  77. data/lib/deep_system/deep_system_test.rb +3 -0
  78. data/lib/desk_system/commands/glimmer_command.rb +1 -0
  79. data/lib/desk_system/desk_system_test.rb +3 -0
  80. data/lib/dev_system/commands/test_command.rb +105 -66
  81. data/lib/dev_system/commands/test_command_test.rb +3 -6
  82. data/lib/dev_system/dev_box.rb +20 -61
  83. data/lib/dev_system/dev_box_test.rb +5 -6
  84. data/lib/dev_system/dev_system_test.rb +3 -0
  85. data/lib/dev_system/generators/boxes_generator.rb +24 -0
  86. data/lib/dev_system/generators/boxes_generator_test.rb +12 -0
  87. data/lib/dev_system/generators/{env_generator.rb → envfile_generator.rb} +7 -14
  88. data/lib/dev_system/generators/envfile_generator_test.rb +14 -0
  89. data/lib/dev_system/generators/gemfile_generator.rb +14 -4
  90. data/lib/dev_system/generators/gemfile_generator_test.rb +4 -4
  91. data/lib/dev_system/generators/subsystem_generator.default.rb.erb +2 -0
  92. data/lib/dev_system/generators/subsystem_generator.rb +187 -0
  93. data/lib/dev_system/generators/subsystem_generator.rb.section_controller.rb.erb +8 -0
  94. data/lib/dev_system/generators/subsystem_generator.rb.section_controller_test.rb.erb +18 -0
  95. data/lib/dev_system/generators/subsystem_generator.rb.section_panel.rb.erb +19 -0
  96. data/lib/dev_system/generators/subsystem_generator.rb.section_panel_test.rb.erb +18 -0
  97. data/lib/dev_system/generators/subsystem_generator_test.rb +17 -0
  98. data/lib/dev_system/generators/system_generator.rb +92 -45
  99. data/lib/dev_system/generators/system_generator.rb.gemspec.rb.erb +36 -0
  100. data/lib/dev_system/generators/system_generator.rb.section_app_box_settings.rb.erb +4 -0
  101. data/lib/dev_system/generators/system_generator.rb.section_system_box_settings.rb.erb +4 -0
  102. data/lib/dev_system/generators/system_generator.rb.section_system_box_test.rb.erb +12 -0
  103. data/lib/dev_system/generators/system_generator.rb.section_system_default.rb.erb +3 -0
  104. data/lib/dev_system/generators/system_generator.rb.section_system_info.rb.erb +3 -0
  105. data/lib/dev_system/generators/system_generator.rb.system_test.rb.erb +5 -0
  106. data/lib/dev_system/generators/system_generator.rb.unit.rb.erb +7 -0
  107. data/lib/dev_system/generators/system_generator_test.rb +10 -3
  108. data/lib/dev_system/shells/unit_shell.rb +40 -0
  109. data/lib/dev_system/shells/unit_shell_test.rb +24 -0
  110. data/lib/dev_system/shells/zeitwerk_shell.rb +94 -0
  111. data/lib/dev_system/shells/zeitwerk_shell_test.rb +14 -0
  112. data/lib/dev_system/{sub → subsystems}/bench/bench.rb +2 -0
  113. data/lib/dev_system/subsystems/bench/bench_panel.rb +31 -0
  114. data/lib/dev_system/subsystems/bench/bench_panel_test.rb +55 -0
  115. data/lib/dev_system/{sub → subsystems}/bench/bench_test.rb +0 -2
  116. data/lib/dev_system/subsystems/bench/benches/not_found_bench.rb +73 -0
  117. data/lib/dev_system/subsystems/bench/benches/not_found_bench_test.rb +7 -0
  118. data/lib/dev_system/subsystems/bench/commands/bench_command.rb +21 -0
  119. data/lib/dev_system/subsystems/bench/commands/bench_command_test.rb +7 -0
  120. data/lib/dev_system/subsystems/bench/generators/bench_generator.rb +34 -0
  121. data/lib/dev_system/subsystems/bench/generators/bench_generator.rb.marks.rb.erb +18 -0
  122. data/lib/dev_system/subsystems/bench/generators/bench_generator.rb.setup.rb.erb +9 -0
  123. data/lib/dev_system/subsystems/bench/generators/bench_generator_test.rb +15 -0
  124. data/lib/dev_system/subsystems/command/command.rb +7 -0
  125. data/lib/dev_system/subsystems/command/command_panel.rb +30 -0
  126. data/lib/dev_system/subsystems/command/command_panel_test.rb +122 -0
  127. data/lib/dev_system/{sub → subsystems}/command/command_test.rb +2 -6
  128. data/lib/dev_system/subsystems/command/commands/base_command.rb +79 -0
  129. data/lib/dev_system/{sub → subsystems}/command/commands/base_command_test.rb +0 -4
  130. data/lib/dev_system/subsystems/command/commands/irb_command.rb +20 -0
  131. data/lib/dev_system/subsystems/command/commands/irb_command_test.rb +7 -0
  132. data/lib/dev_system/subsystems/command/commands/not_found_command.rb +83 -0
  133. data/lib/dev_system/{sub → subsystems}/command/commands/not_found_command_test.rb +0 -4
  134. data/lib/dev_system/subsystems/command/commands/pry_command.rb +10 -0
  135. data/lib/dev_system/subsystems/command/commands/pry_command_test.rb +7 -0
  136. data/lib/dev_system/subsystems/command/commands/simple_command.rb +433 -0
  137. data/lib/dev_system/subsystems/command/commands/simple_command_test.rb +153 -0
  138. data/lib/dev_system/subsystems/command/gem_shells/tty_prompt_gem_shell.rb +37 -0
  139. data/lib/dev_system/subsystems/command/gem_shells/tty_prompt_gem_shell_test.rb +10 -0
  140. data/lib/dev_system/subsystems/command/generators/command_generator.rb +73 -0
  141. data/lib/dev_system/subsystems/command/generators/command_generator.rb.section_base.rb.erb +10 -0
  142. data/lib/dev_system/subsystems/command/generators/command_generator.rb.section_simple_actions.rb.erb +21 -0
  143. data/lib/dev_system/subsystems/command/generators/command_generator.rb.section_simple_filters.rb.erb +25 -0
  144. data/lib/dev_system/subsystems/command/generators/command_generator.rb.view_simple.txt.erb +2 -0
  145. data/lib/dev_system/subsystems/command/generators/command_generator_test.rb +15 -0
  146. data/lib/dev_system/subsystems/command/parts/command_shortcut_part.rb +58 -0
  147. data/lib/dev_system/subsystems/command/parts/command_shortcut_part_test.rb +6 -0
  148. data/lib/dev_system/subsystems/command/shells/color_shell.rb +60 -0
  149. data/lib/dev_system/{sub/shell → subsystems/command}/shells/color_shell_test.rb +1 -6
  150. data/lib/dev_system/subsystems/command/shells/input_shell.rb +95 -0
  151. data/lib/dev_system/subsystems/command/shells/input_shell_test.rb +11 -0
  152. data/lib/dev_system/{sub/shell/shells/color_shell.rb → subsystems/command/shells/pallet_shell.rb} +11 -46
  153. data/lib/dev_system/subsystems/command/shells/pallet_shell_test.rb +15 -0
  154. data/lib/dev_system/subsystems/command/shells/typography_shell.rb +33 -0
  155. data/lib/dev_system/subsystems/command/shells/typography_shell_test.rb +10 -0
  156. data/lib/dev_system/subsystems/generator/commands/generate_command.rb +46 -0
  157. data/lib/dev_system/{sub → subsystems}/generator/commands/generate_command_test.rb +0 -4
  158. data/lib/dev_system/subsystems/generator/commands/new_command.rb +33 -0
  159. data/lib/dev_system/subsystems/generator/commands/new_command_test.rb +12 -0
  160. data/lib/dev_system/subsystems/generator/generator.rb +7 -0
  161. data/lib/dev_system/subsystems/generator/generator_panel.rb +51 -0
  162. data/lib/dev_system/subsystems/generator/generator_panel_test.rb +86 -0
  163. data/lib/dev_system/{sub → subsystems}/generator/generator_test.rb +0 -4
  164. data/lib/dev_system/subsystems/generator/generators/base_generator.rb +147 -0
  165. data/lib/dev_system/{sub → subsystems}/generator/generators/base_generator_test.rb +3 -4
  166. data/lib/dev_system/subsystems/generator/generators/controller_generator.rb +210 -0
  167. data/lib/dev_system/subsystems/generator/generators/controller_generator.rb.unit.rb.erb +18 -0
  168. data/lib/dev_system/subsystems/generator/generators/controller_generator_test.rb +48 -0
  169. data/lib/dev_system/subsystems/generator/generators/generator_generator.rb +58 -0
  170. data/lib/dev_system/subsystems/generator/generators/generator_generator.rb.section_controller_actions.rb.erb +23 -0
  171. data/lib/dev_system/subsystems/generator/generators/generator_generator.rb.section_simple_actions.rb.erb +19 -0
  172. data/lib/dev_system/subsystems/generator/generators/generator_generator.rb.view_controller_actions.rb.erb +11 -0
  173. data/lib/dev_system/subsystems/generator/generators/generator_generator.rb.view_controller_views.txt.erb +2 -0
  174. data/lib/dev_system/subsystems/generator/generators/generator_generator.rb.view_simple.txt.erb +2 -0
  175. data/lib/dev_system/subsystems/generator/generators/generator_generator_test.rb +16 -0
  176. data/lib/dev_system/subsystems/generator/generators/install_generator.rb +9 -0
  177. data/lib/dev_system/subsystems/generator/generators/install_generator_test.rb +8 -0
  178. data/lib/dev_system/subsystems/generator/generators/move_generator.rb +9 -0
  179. data/lib/dev_system/subsystems/generator/generators/move_generator_test.rb +8 -0
  180. data/lib/dev_system/subsystems/generator/generators/new_generator.rb +162 -0
  181. data/lib/dev_system/{sub → subsystems}/generator/generators/new_generator_test.rb +0 -4
  182. data/lib/dev_system/subsystems/generator/generators/not_found_generator.rb +87 -0
  183. data/lib/dev_system/subsystems/generator/generators/not_found_generator_test.rb +18 -0
  184. data/lib/dev_system/subsystems/generator/generators/overwrite_generator.rb +9 -0
  185. data/lib/dev_system/subsystems/generator/generators/overwrite_generator_test.rb +8 -0
  186. data/lib/dev_system/subsystems/generator/generators/remove_generator.rb +24 -0
  187. data/lib/dev_system/subsystems/generator/generators/remove_generator_test.rb +8 -0
  188. data/lib/dev_system/subsystems/generator/generators/simple_generator.rb +345 -0
  189. data/lib/dev_system/subsystems/generator/generators/simple_generator.rb.subject.rb.erb +9 -0
  190. data/lib/dev_system/subsystems/generator/generators/simple_generator.rb.unit.rb.erb +7 -0
  191. data/lib/dev_system/{sub → subsystems}/generator/generators/simple_generator_test.rb +7 -6
  192. data/lib/dev_system/subsystems/generator/generators/uninstall_generator.rb +9 -0
  193. data/lib/dev_system/subsystems/generator/generators/uninstall_generator_test.rb +8 -0
  194. data/lib/dev_system/subsystems/log/commands/log_command.rb +52 -0
  195. data/lib/dev_system/{sub → subsystems}/log/commands/log_command_test.rb +0 -4
  196. data/lib/dev_system/subsystems/log/generators/log_generator.rb +52 -0
  197. data/lib/dev_system/subsystems/log/generators/log_generator.rb.controller_section_1.rb.erb +7 -0
  198. data/lib/dev_system/subsystems/log/generators/log_generator.rb.controller_test_section_1.rb.erb +6 -0
  199. data/lib/dev_system/subsystems/log/generators/log_generator.rb.handler_section_1.rb.erb +8 -0
  200. data/lib/dev_system/subsystems/log/generators/log_generator.rb.handler_test_section_1.rb.erb +6 -0
  201. data/lib/dev_system/subsystems/log/generators/log_generator_test.rb +17 -0
  202. data/lib/dev_system/{sub/log/logs/output_log.rb → subsystems/log/handler_logs/color_output_handler_log.rb} +14 -31
  203. data/lib/dev_system/subsystems/log/handler_logs/color_output_handler_log_test.rb +41 -0
  204. data/lib/dev_system/subsystems/log/handler_logs/handler_log.rb +5 -0
  205. data/lib/dev_system/subsystems/log/handler_logs/handler_log_test.rb +12 -0
  206. data/lib/dev_system/subsystems/log/handler_logs/none_handler_log.rb +8 -0
  207. data/lib/dev_system/subsystems/log/handler_logs/none_handler_log_test.rb +10 -0
  208. data/lib/dev_system/subsystems/log/handler_logs/output_handler_log.rb +57 -0
  209. data/lib/dev_system/{sub/log/logs/output_log_test.rb → subsystems/log/handler_logs/output_handler_log_test.rb} +5 -9
  210. data/lib/dev_system/subsystems/log/log_panel.rb +108 -0
  211. data/lib/dev_system/subsystems/log/log_panel_test.rb +152 -0
  212. data/lib/dev_system/{sub → subsystems}/log/log_test.rb +5 -2
  213. data/lib/dev_system/subsystems/log/logs/array_log.rb +20 -0
  214. data/lib/dev_system/subsystems/log/logs/array_log_test.rb +49 -0
  215. data/lib/dev_system/subsystems/log/logs/hash_log.rb +17 -0
  216. data/lib/dev_system/subsystems/log/logs/hash_log_test.rb +40 -0
  217. data/lib/dev_system/{sub → subsystems}/log/logs/stick_log.rb +6 -5
  218. data/lib/dev_system/subsystems/log/logs/stick_log_log.rb +6 -0
  219. data/lib/dev_system/subsystems/log/logs/stick_log_log_test.rb +26 -0
  220. data/lib/dev_system/{sub → subsystems}/log/logs/stick_log_test.rb +12 -12
  221. data/lib/dev_system/subsystems/shell/commands/shell_command.rb +340 -0
  222. data/lib/dev_system/subsystems/shell/commands/shell_command_test.rb +12 -0
  223. data/lib/dev_system/subsystems/shell/converter_shells/coffee_converter_shell.rb +20 -0
  224. data/lib/dev_system/{sub → subsystems}/shell/converter_shells/coffee_converter_shell_test.rb +1 -8
  225. data/lib/dev_system/subsystems/shell/converter_shells/converter_shell.rb +27 -0
  226. data/lib/dev_system/{sub → subsystems}/shell/converter_shells/converter_shell_test.rb +9 -2
  227. data/lib/dev_system/subsystems/shell/converter_shells/haml_converter_shell.rb +29 -0
  228. data/lib/dev_system/{sub → subsystems}/shell/converter_shells/haml_converter_shell_test.rb +1 -8
  229. data/lib/dev_system/subsystems/shell/converter_shells/md_converter_shell.rb +20 -0
  230. data/lib/dev_system/{sub → subsystems}/shell/converter_shells/md_converter_shell_test.rb +1 -8
  231. data/lib/dev_system/{sub → subsystems}/shell/converter_shells/scss_converter_shell.rb +13 -12
  232. data/lib/dev_system/{sub → subsystems}/shell/converter_shells/scss_converter_shell_test.rb +1 -8
  233. data/lib/dev_system/subsystems/shell/formatter_shells/formatter_shell.rb +30 -0
  234. data/lib/dev_system/{sub → subsystems}/shell/formatter_shells/formatter_shell_test.rb +9 -2
  235. data/lib/dev_system/subsystems/shell/formatter_shells/html_formatter_shell.rb +19 -0
  236. data/lib/dev_system/{sub → subsystems}/shell/formatter_shells/html_formatter_shell_test.rb +1 -9
  237. data/lib/dev_system/subsystems/shell/gem_shells/coderay_gem_shell.rb +33 -0
  238. data/lib/dev_system/subsystems/shell/gem_shells/coderay_gem_shell_test.rb +21 -0
  239. data/lib/dev_system/subsystems/shell/gem_shells/gem_shell.rb +4 -0
  240. data/lib/dev_system/subsystems/shell/gem_shells/gem_shell_test.rb +10 -0
  241. data/lib/dev_system/subsystems/shell/generators/shell_generator.rb +120 -0
  242. data/lib/dev_system/subsystems/shell/generators/shell_generator.rb.actions.rb.erb +11 -0
  243. data/lib/dev_system/subsystems/shell/generators/shell_generator.rb.converter.rb.erb +15 -0
  244. data/lib/dev_system/subsystems/shell/generators/shell_generator.rb.formatter.rb.erb +15 -0
  245. data/lib/dev_system/subsystems/shell/generators/shell_generator.rb.helpers.rb.erb +39 -0
  246. data/lib/dev_system/subsystems/shell/generators/shell_generator.rb.instance.rb.erb +71 -0
  247. data/lib/dev_system/subsystems/shell/generators/shell_generator.rb.renderer.rb.erb +15 -0
  248. data/lib/dev_system/subsystems/shell/generators/shell_generator.rb.test.rb.erb +2 -0
  249. data/lib/dev_system/subsystems/shell/generators/shell_generator.rb.view_simple.txt.erb +2 -0
  250. data/lib/dev_system/subsystems/shell/generators/shell_generator_test.rb +21 -0
  251. data/lib/dev_system/subsystems/shell/renderer_shells/renderer_shell.rb +4 -0
  252. data/lib/dev_system/subsystems/shell/renderer_shells/renderer_shell_test.rb +10 -0
  253. data/lib/dev_system/{sub → subsystems}/shell/shell.rb +5 -0
  254. data/lib/dev_system/subsystems/shell/shell_panel.rb +87 -0
  255. data/lib/dev_system/subsystems/shell/shell_panel_test.rb +14 -0
  256. data/lib/dev_system/{sub → subsystems}/shell/shell_test.rb +1 -5
  257. data/lib/dev_system/subsystems/shell/shells/app_shell.rb +684 -0
  258. data/lib/dev_system/subsystems/shell/shells/app_shell_test.rb +113 -0
  259. data/lib/dev_system/{sub → subsystems}/shell/shells/bin_shell_test.rb +0 -4
  260. data/lib/dev_system/subsystems/shell/shells/controller_shell.rb +87 -0
  261. data/lib/dev_system/subsystems/shell/shells/controller_shell_test.rb +33 -0
  262. data/lib/dev_system/{sub → subsystems}/shell/shells/dir_shell.rb +2 -2
  263. data/lib/dev_system/{sub → subsystems}/shell/shells/dir_shell_test.rb +0 -4
  264. data/lib/dev_system/subsystems/shell/shells/env_shell.rb +19 -0
  265. data/lib/dev_system/subsystems/shell/shells/env_shell_test.rb +27 -0
  266. data/lib/dev_system/subsystems/shell/shells/erb_shell.rb +168 -0
  267. data/lib/dev_system/subsystems/shell/shells/erb_shell_test.rb +10 -0
  268. data/lib/dev_system/subsystems/shell/shells/file_shell.rb +130 -0
  269. data/lib/dev_system/{sub → subsystems}/shell/shells/file_shell_test.rb +3 -6
  270. data/lib/dev_system/{sub/shell/shells/gem_shell.rb → subsystems/shell/shells/gemspec_shell.rb} +1 -1
  271. data/lib/dev_system/{sub/shell/shells/gem_shell_test.rb → subsystems/shell/shells/gemspec_shell_test.rb} +3 -3
  272. data/lib/dev_system/subsystems/shell/shells/kernel_shell.rb +26 -0
  273. data/lib/dev_system/{sub → subsystems}/shell/shells/line_diff_shell.rb +4 -3
  274. data/lib/dev_system/{sub → subsystems}/shell/shells/line_diff_shell_test.rb +0 -4
  275. data/lib/dev_system/subsystems/shell/shells/line_shell.rb +104 -0
  276. data/lib/dev_system/{sub → subsystems}/shell/shells/line_shell_test.rb +36 -4
  277. data/lib/dev_system/subsystems/shell/shells/main_shell.rb +29 -0
  278. data/lib/dev_system/subsystems/shell/shells/main_shell_test.rb +10 -0
  279. data/lib/dev_system/subsystems/shell/shells/method_shell_test.rb +30 -0
  280. data/lib/dev_system/subsystems/shell/shells/signal_shell.rb +53 -0
  281. data/lib/dev_system/subsystems/shell/shells/signal_shell_test.rb +28 -0
  282. data/lib/dev_system/{sub → subsystems}/shell/shells/text_file_shell_test.rb +0 -4
  283. data/lib/dev_system/{sub → subsystems}/shell/shells/text_shell.rb +2 -2
  284. data/lib/dev_system/{sub → subsystems}/shell/shells/text_shell_test.rb +0 -4
  285. data/lib/dev_system/subsystems/shell/soft_shells/soft_shell.rb +4 -0
  286. data/lib/dev_system/subsystems/shell/soft_shells/soft_shell_test.rb +10 -0
  287. data/lib/dev_system/subsystems/shell/view_shells/logo_view_shell.rb +12 -0
  288. data/lib/dev_system/subsystems/shell/view_shells/logo_view_shell.rb.svg.erb +59 -0
  289. data/lib/dev_system/subsystems/shell/view_shells/logo_view_shell_test.rb +15 -0
  290. data/lib/dev_system/subsystems/shell/view_shells/view_shell.rb +5 -0
  291. data/lib/dev_system/subsystems/shell/view_shells/view_shell_test.rb +10 -0
  292. data/lib/dev_system.rb +6 -6
  293. data/lib/eco_system/eco_box.rb +5 -0
  294. data/lib/eco_system/eco_box_test.rb +16 -0
  295. data/lib/eco_system/eco_system_test.rb +9 -0
  296. data/lib/eco_system.rb +11 -0
  297. data/lib/happy_system/happy_box_test.rb +0 -4
  298. data/lib/happy_system/happy_system_test.rb +3 -0
  299. data/lib/happy_system/{sub → subsystems}/axo/axo.rb +2 -1
  300. data/lib/happy_system/{sub → subsystems}/axo/axo_panel.rb +1 -1
  301. data/lib/happy_system/{sub → subsystems}/axo/axo_panel_test.rb +0 -4
  302. data/lib/happy_system/{sub → subsystems}/axo/axo_test.rb +0 -4
  303. data/lib/happy_system/{sub → subsystems}/axo/commands/axo_command.rb +4 -3
  304. data/lib/happy_system/subsystems/axo/generators/axo_generator.rb +17 -0
  305. data/lib/happy_system/{sub/axo/generators/axo_generator.rb → subsystems/axo/generators/axo_generator.rb.controller.rb.erb} +1 -31
  306. data/lib/happy_system/subsystems/axo/generators/axo_generator_test.rb +12 -0
  307. data/lib/happy_system.rb +1 -1
  308. data/lib/lab_system/clients/kroki_client.rb +1 -0
  309. data/lib/lab_system/clients/kroki_client_test.rb +0 -4
  310. data/lib/lab_system/clients/liza_kroki_client_test.rb +0 -4
  311. data/lib/lab_system/commands/docker_command.rb +12 -6
  312. data/lib/lab_system/commands/docker_command_test.rb +1 -5
  313. data/lib/lab_system/lab_system_test.rb +3 -0
  314. data/lib/lab_system/requests/kroki_request_test.rb +0 -4
  315. data/lib/lab_system/shells/docker_installer_shell.rb +69 -0
  316. data/lib/lab_system/shells/docker_installer_shell_test.rb +12 -0
  317. data/lib/lab_system/shells/kroki_docker_shell.rb +1 -1
  318. data/lib/lab_system/shells/kroki_docker_shell_test.rb +1 -5
  319. data/lib/lab_system/{shells/docker_shell.rb → soft_shells/docker_soft_shell.rb} +4 -4
  320. data/lib/lab_system/{shells/docker_shell_test.rb → soft_shells/docker_soft_shell_test.rb} +5 -6
  321. data/lib/liza/{ruby_tests → extra_tests}/app_test.rb +3 -6
  322. data/lib/liza/extra_tests/class_test.rb +26 -0
  323. data/lib/liza/extra_tests/liza_test.rb +7 -0
  324. data/lib/liza/extra_tests/lizarb_test.rb +20 -0
  325. data/lib/liza/extra_tests/module_test.rb +21 -0
  326. data/lib/liza/extra_tests/time_test.rb +19 -0
  327. data/lib/liza/helper_units/part.rb +25 -0
  328. data/lib/liza/helper_units/part_test.rb +26 -0
  329. data/lib/liza/helper_units/test.rb +940 -0
  330. data/lib/liza/{safety → helper_units}/test_test.rb +66 -35
  331. data/lib/liza/subsystemic_units/controller.rb +221 -0
  332. data/lib/liza/subsystemic_units/controller_test.rb +62 -0
  333. data/lib/liza/{base → subsystemic_units}/panel.rb +8 -16
  334. data/lib/liza/subsystemic_units/panel_test.rb +22 -0
  335. data/lib/liza/systemic_units/box.rb +82 -0
  336. data/lib/liza/systemic_units/box_test.rb +36 -0
  337. data/lib/liza/systemic_units/system.rb +52 -0
  338. data/lib/liza/systemic_units/system_test.rb +14 -0
  339. data/lib/liza/unit.rb +620 -32
  340. data/lib/liza/unit_test.rb +88 -97
  341. data/lib/liza.rb +14 -10
  342. data/lib/lizarb/version.rb +1 -1
  343. data/lib/lizarb.rb +671 -255
  344. data/lib/media_system/media_box.rb +3 -0
  345. data/lib/media_system/media_box_test.rb +10 -0
  346. data/lib/media_system/media_system_test.rb +3 -0
  347. data/lib/media_system.rb +8 -0
  348. data/lib/micro_system/micro_system_test.rb +3 -0
  349. data/lib/micro_system.rb +1 -1
  350. data/lib/net_system/net_box.rb +38 -9
  351. data/lib/net_system/net_box_test.rb +0 -4
  352. data/lib/net_system/net_system_test.rb +3 -0
  353. data/lib/net_system/{sub → subsystems}/client/client_panel_test.rb +0 -4
  354. data/lib/net_system/{sub → subsystems}/client/client_test.rb +0 -4
  355. data/lib/net_system/subsystems/client/commands/client_command.rb +12 -0
  356. data/lib/net_system/subsystems/client/commands/client_command_test.rb +10 -0
  357. data/lib/net_system/subsystems/client/generators/client_generator.rb +22 -0
  358. data/lib/net_system/subsystems/client/generators/client_generator.rb.controller.rb.erb +41 -0
  359. data/lib/net_system/subsystems/client/generators/client_generator.rb.test.rb.erb +16 -0
  360. data/lib/net_system/subsystems/client/generators/client_generator_test.rb +15 -0
  361. data/lib/net_system/{sub → subsystems}/database/clients/mongo_client.rb +16 -2
  362. data/lib/net_system/{sub → subsystems}/database/clients/mysql_client.rb +6 -1
  363. data/lib/net_system/{sub → subsystems}/database/clients/mysql_client_test.rb +1 -1
  364. data/lib/net_system/{sub → subsystems}/database/clients/pgsql_client.rb +2 -1
  365. data/lib/net_system/subsystems/database/clients/redis_client.rb +46 -0
  366. data/lib/net_system/{sub → subsystems}/database/clients/sqlite_client.rb +6 -2
  367. data/lib/net_system/subsystems/database/commands/database_command.rb +23 -0
  368. data/lib/net_system/subsystems/database/commands/database_command_test.rb +7 -0
  369. data/lib/net_system/subsystems/database/database_panel.rb +3 -0
  370. data/lib/net_system/{sub → subsystems}/database/database_panel_test.rb +2 -5
  371. data/lib/net_system/{sub → subsystems}/database/database_test.rb +0 -4
  372. data/lib/net_system/subsystems/filebase/commands/filebase_command.rb +12 -0
  373. data/lib/net_system/subsystems/filebase/commands/filebase_command_test.rb +10 -0
  374. data/lib/net_system/subsystems/filebase/filebase.rb +12 -0
  375. data/lib/net_system/subsystems/filebase/filebase_panel.rb +23 -0
  376. data/lib/net_system/subsystems/filebase/filebase_panel_test.rb +22 -0
  377. data/lib/net_system/subsystems/filebase/filebase_test.rb +22 -0
  378. data/lib/net_system/subsystems/record/commands/record_command.rb +12 -0
  379. data/lib/net_system/subsystems/record/commands/record_command_test.rb +10 -0
  380. data/lib/net_system/subsystems/record/generators/record_generator.rb +35 -0
  381. data/lib/net_system/subsystems/record/generators/record_generator.rb.controller.rb.erb +4 -0
  382. data/lib/net_system/subsystems/record/generators/record_generator.rb.test.rb.erb +2 -0
  383. data/lib/net_system/subsystems/record/generators/record_generator_test.rb +13 -0
  384. data/lib/net_system/subsystems/record/record.rb +19 -0
  385. data/lib/net_system/{sub → subsystems}/record/record_panel_test.rb +0 -4
  386. data/lib/net_system/subsystems/record/record_test.rb +11 -0
  387. data/lib/net_system/subsystems/socket/commands/socket_command.rb +12 -0
  388. data/lib/net_system/subsystems/socket/commands/socket_command_test.rb +10 -0
  389. data/lib/net_system/subsystems/socket/socket.rb +12 -0
  390. data/lib/net_system/subsystems/socket/socket_panel.rb +23 -0
  391. data/lib/net_system/subsystems/socket/socket_panel_test.rb +22 -0
  392. data/lib/net_system/subsystems/socket/socket_test.rb +22 -0
  393. data/lib/net_system.rb +6 -4
  394. data/lib/prime_system/prime_box.rb +9 -0
  395. data/lib/prime_system/prime_box_test.rb +16 -0
  396. data/lib/prime_system/prime_system_test.rb +9 -0
  397. data/lib/prime_system/subsystems/epic/commands/epic_command.rb +12 -0
  398. data/lib/prime_system/subsystems/epic/commands/epic_command_test.rb +10 -0
  399. data/lib/prime_system/subsystems/epic/epic.rb +12 -0
  400. data/lib/prime_system/subsystems/epic/epic_panel.rb +23 -0
  401. data/lib/prime_system/subsystems/epic/epic_panel_test.rb +22 -0
  402. data/lib/prime_system/subsystems/epic/epic_test.rb +22 -0
  403. data/lib/prime_system.rb +13 -0
  404. data/lib/web_system/{sub → subsystems}/rack/commands/rack_command.rb +5 -2
  405. data/lib/web_system/subsystems/rack/commands/rack_command_test.rb +7 -0
  406. data/lib/web_system/{sub → subsystems}/rack/middle_racks/first_middle_rack_test.rb +0 -4
  407. data/lib/web_system/{sub → subsystems}/rack/middle_racks/last_middle_rack_test.rb +0 -4
  408. data/lib/web_system/{sub → subsystems}/rack/middle_racks/middle_rack.rb +1 -1
  409. data/lib/web_system/{sub → subsystems}/rack/middle_racks/middle_rack_test.rb +0 -4
  410. data/lib/web_system/{sub → subsystems}/rack/middle_racks/zeitwerk_middle_rack.rb +3 -4
  411. data/lib/web_system/{sub → subsystems}/rack/middle_racks/zeitwerk_middle_rack_test.rb +0 -4
  412. data/lib/web_system/subsystems/rack/rack.rb +3 -0
  413. data/lib/web_system/{sub → subsystems}/rack/rack_panel.rb +10 -6
  414. data/lib/web_system/subsystems/rack/rack_panel_test.rb +25 -0
  415. data/lib/web_system/{sub → subsystems}/rack/rack_test.rb +0 -4
  416. data/lib/web_system/{sub → subsystems}/rack/server_racks/agoo_server_rack.rb +2 -1
  417. data/lib/web_system/{sub → subsystems}/rack/server_racks/agoo_server_rack_test.rb +0 -4
  418. data/lib/web_system/{sub → subsystems}/rack/server_racks/falcon_server_rack.rb +2 -1
  419. data/lib/web_system/{sub → subsystems}/rack/server_racks/falcon_server_rack_test.rb +0 -4
  420. data/lib/web_system/{sub → subsystems}/rack/server_racks/iodine_server_rack.rb +2 -1
  421. data/lib/web_system/{sub → subsystems}/rack/server_racks/iodine_server_rack_test.rb +0 -4
  422. data/lib/web_system/{sub → subsystems}/rack/server_racks/puma_server_rack.rb +4 -2
  423. data/lib/web_system/{sub → subsystems}/rack/server_racks/puma_server_rack_test.rb +0 -4
  424. data/lib/web_system/{sub → subsystems}/rack/server_racks/server_rack.rb +0 -9
  425. data/lib/web_system/{sub → subsystems}/rack/server_racks/server_rack_test.rb +0 -4
  426. data/lib/web_system/{sub → subsystems}/rack/server_racks/thin_server_rack.rb +6 -5
  427. data/lib/web_system/{sub → subsystems}/rack/server_racks/thin_server_rack_test.rb +0 -4
  428. data/lib/web_system/{sub → subsystems}/request/commands/request_command.rb +32 -43
  429. data/lib/web_system/subsystems/request/commands/request_command_test.rb +7 -0
  430. data/lib/web_system/subsystems/request/generators/request_generator.rb +39 -0
  431. data/lib/web_system/subsystems/request/generators/request_generator.rb.base.rb.erb +14 -0
  432. data/lib/web_system/subsystems/request/generators/request_generator.rb.simple_actions.rb.erb +16 -0
  433. data/lib/web_system/subsystems/request/generators/request_generator.rb.simple_view.html.erb +9 -0
  434. data/lib/web_system/subsystems/request/generators/request_generator.rb.test.rb.erb +2 -0
  435. data/lib/web_system/subsystems/request/generators/request_generator_test.rb +15 -0
  436. data/lib/web_system/{sub → subsystems}/request/request_panel.rb +22 -16
  437. data/lib/web_system/subsystems/request/request_panel_test.rb +82 -0
  438. data/lib/web_system/{sub → subsystems}/request/request_test.rb +0 -4
  439. data/lib/web_system/{sub → subsystems}/request/requests/client_error_request.rb +1 -0
  440. data/lib/web_system/{sub → subsystems}/request/requests/not_found_request.rb +1 -0
  441. data/lib/web_system/{sub → subsystems}/request/requests/server_error_request.rb +1 -0
  442. data/lib/web_system/{sub → subsystems}/request/requests/simple_request.rb +8 -1
  443. data/lib/web_system/{sub → subsystems}/request/requests/simple_request_test.rb +0 -4
  444. data/lib/web_system/{sub → subsystems}/request/router_requests/router_request_test.rb +0 -4
  445. data/lib/web_system/{sub → subsystems}/request/router_requests/simple_router_request.rb +7 -4
  446. data/lib/web_system/{sub → subsystems}/request/router_requests/simple_router_request_test.rb +0 -4
  447. data/lib/web_system/web_box.rb +23 -3
  448. data/lib/web_system/web_box_test.rb +0 -4
  449. data/lib/web_system/web_system_test.rb +3 -0
  450. data/lib/web_system.rb +2 -2
  451. data/lib/work_system/work_system_test.rb +3 -0
  452. data/lizarb.gemspec +2 -16
  453. metadata +414 -346
  454. data/examples/log/app/dev/logs/logger_log_test.rb +0 -16
  455. data/lib/dev_system/generators/env_generator_test.rb +0 -11
  456. data/lib/dev_system/sub/bench/bench_panel.rb +0 -3
  457. data/lib/dev_system/sub/bench/bench_panel_test.rb +0 -16
  458. data/lib/dev_system/sub/bench/benches/not_found_bench.rb +0 -33
  459. data/lib/dev_system/sub/bench/benches/not_found_bench_test.rb +0 -11
  460. data/lib/dev_system/sub/bench/commands/bench_command.rb +0 -27
  461. data/lib/dev_system/sub/bench/commands/bench_command_test.rb +0 -11
  462. data/lib/dev_system/sub/bench/generators/bench_generator.rb +0 -70
  463. data/lib/dev_system/sub/bench/generators/bench_generator_test.rb +0 -10
  464. data/lib/dev_system/sub/command/command.rb +0 -28
  465. data/lib/dev_system/sub/command/command_panel.rb +0 -151
  466. data/lib/dev_system/sub/command/command_panel_test.rb +0 -78
  467. data/lib/dev_system/sub/command/commands/base_command.rb +0 -48
  468. data/lib/dev_system/sub/command/commands/irb_command.rb +0 -19
  469. data/lib/dev_system/sub/command/commands/irb_command_test.rb +0 -11
  470. data/lib/dev_system/sub/command/commands/not_found_command.rb +0 -156
  471. data/lib/dev_system/sub/command/commands/pry_command.rb +0 -10
  472. data/lib/dev_system/sub/command/commands/pry_command_test.rb +0 -11
  473. data/lib/dev_system/sub/command/commands/simple_command.rb +0 -143
  474. data/lib/dev_system/sub/command/commands/simple_command_test.rb +0 -11
  475. data/lib/dev_system/sub/command/generators/command_generator.rb +0 -90
  476. data/lib/dev_system/sub/command/generators/command_generator_test.rb +0 -11
  477. data/lib/dev_system/sub/command/input_commands/highline_input_command.rb +0 -17
  478. data/lib/dev_system/sub/command/input_commands/highline_input_command_test.rb +0 -19
  479. data/lib/dev_system/sub/command/input_commands/input_command.rb +0 -20
  480. data/lib/dev_system/sub/command/input_commands/input_command_test.rb +0 -19
  481. data/lib/dev_system/sub/command/input_commands/tty_input_command.rb +0 -55
  482. data/lib/dev_system/sub/command/input_commands/tty_input_command_test.rb +0 -19
  483. data/lib/dev_system/sub/generator/commands/generate_command.rb +0 -9
  484. data/lib/dev_system/sub/generator/commands/new_command.rb +0 -10
  485. data/lib/dev_system/sub/generator/commands/new_command_test.rb +0 -7
  486. data/lib/dev_system/sub/generator/generator.rb +0 -19
  487. data/lib/dev_system/sub/generator/generator_panel.rb +0 -98
  488. data/lib/dev_system/sub/generator/generator_panel_test.rb +0 -79
  489. data/lib/dev_system/sub/generator/generators/base_generator.rb +0 -64
  490. data/lib/dev_system/sub/generator/generators/generator_generator.rb +0 -71
  491. data/lib/dev_system/sub/generator/generators/generator_generator_test.rb +0 -11
  492. data/lib/dev_system/sub/generator/generators/new_generator.rb +0 -74
  493. data/lib/dev_system/sub/generator/generators/not_found_generator.rb +0 -155
  494. data/lib/dev_system/sub/generator/generators/not_found_generator_test.rb +0 -11
  495. data/lib/dev_system/sub/generator/generators/simple_generator.rb +0 -257
  496. data/lib/dev_system/sub/log/commands/log_command.rb +0 -11
  497. data/lib/dev_system/sub/log/generators/log_generator.rb +0 -54
  498. data/lib/dev_system/sub/log/generators/log_generator_test.rb +0 -10
  499. data/lib/dev_system/sub/log/log_panel.rb +0 -47
  500. data/lib/dev_system/sub/log/log_panel_test.rb +0 -50
  501. data/lib/dev_system/sub/shell/commands/convert_command.rb +0 -27
  502. data/lib/dev_system/sub/shell/commands/convert_command_test.rb +0 -10
  503. data/lib/dev_system/sub/shell/commands/format_command.rb +0 -25
  504. data/lib/dev_system/sub/shell/commands/format_command_test.rb +0 -10
  505. data/lib/dev_system/sub/shell/commands/loc_command.rb +0 -211
  506. data/lib/dev_system/sub/shell/commands/loc_command_test.rb +0 -10
  507. data/lib/dev_system/sub/shell/commands/shell_command.rb +0 -45
  508. data/lib/dev_system/sub/shell/commands/shell_command_test.rb +0 -11
  509. data/lib/dev_system/sub/shell/converter_shells/coffee_converter_shell.rb +0 -21
  510. data/lib/dev_system/sub/shell/converter_shells/converter_shell.rb +0 -13
  511. data/lib/dev_system/sub/shell/converter_shells/haml_converter_shell.rb +0 -30
  512. data/lib/dev_system/sub/shell/converter_shells/md_converter_shell.rb +0 -21
  513. data/lib/dev_system/sub/shell/formatter_shells/formatter_shell.rb +0 -13
  514. data/lib/dev_system/sub/shell/formatter_shells/html_formatter_shell.rb +0 -20
  515. data/lib/dev_system/sub/shell/generators/shell_generator.rb +0 -68
  516. data/lib/dev_system/sub/shell/generators/shell_generator_test.rb +0 -10
  517. data/lib/dev_system/sub/shell/shell_panel.rb +0 -98
  518. data/lib/dev_system/sub/shell/shell_panel_test.rb +0 -18
  519. data/lib/dev_system/sub/shell/shells/app_shell.rb +0 -185
  520. data/lib/dev_system/sub/shell/shells/app_shell_test.rb +0 -26
  521. data/lib/dev_system/sub/shell/shells/controller_shell.rb +0 -20
  522. data/lib/dev_system/sub/shell/shells/controller_shell_test.rb +0 -16
  523. data/lib/dev_system/sub/shell/shells/file_shell.rb +0 -59
  524. data/lib/dev_system/sub/shell/shells/kernel_shell.rb +0 -22
  525. data/lib/dev_system/sub/shell/shells/line_shell.rb +0 -56
  526. data/lib/dev_system/sub/shell/shells/method_shell_test.rb +0 -34
  527. data/lib/happy_system/sub/axo/generators/axo_generator_test.rb +0 -11
  528. data/lib/lerb.rb +0 -152
  529. data/lib/liza/base/controller.rb +0 -26
  530. data/lib/liza/base/controller_test.rb +0 -36
  531. data/lib/liza/base/panel_test.rb +0 -179
  532. data/lib/liza/base_parts/controller_subsystem_part.rb +0 -93
  533. data/lib/liza/base_parts/panel_rescuer_part.rb +0 -129
  534. data/lib/liza/meta/box.rb +0 -24
  535. data/lib/liza/meta/box_test.rb +0 -20
  536. data/lib/liza/meta/part.rb +0 -17
  537. data/lib/liza/meta/part_test.rb +0 -11
  538. data/lib/liza/meta/system.rb +0 -61
  539. data/lib/liza/meta/system_test.rb +0 -15
  540. data/lib/liza/ruby_tests/class_test.rb +0 -20
  541. data/lib/liza/ruby_tests/module_test.rb +0 -21
  542. data/lib/liza/safety/test.rb +0 -19
  543. data/lib/liza/safety_parts/test_assertions_advanced_part.rb +0 -125
  544. data/lib/liza/safety_parts/test_assertions_part.rb +0 -109
  545. data/lib/liza/safety_parts/test_dsl_part.rb +0 -68
  546. data/lib/liza/safety_parts/test_log_part.rb +0 -142
  547. data/lib/liza/safety_parts/test_subject_part.rb +0 -32
  548. data/lib/liza/safety_parts/test_tree_part.rb +0 -87
  549. data/lib/liza/unit_parts/unit_classes_part.rb +0 -37
  550. data/lib/liza/unit_parts/unit_classes_part_test.rb +0 -3
  551. data/lib/liza/unit_parts/unit_logging_part.rb +0 -139
  552. data/lib/liza/unit_parts/unit_logging_part_test.rb +0 -3
  553. data/lib/liza/unit_parts/unit_methods_part.rb +0 -35
  554. data/lib/liza/unit_parts/unit_methods_part_test.rb +0 -3
  555. data/lib/liza/unit_parts/unit_procedure_part.rb +0 -17
  556. data/lib/liza/unit_parts/unit_procedure_part_test.rb +0 -65
  557. data/lib/liza/unit_parts/unit_renderer_part.rb +0 -171
  558. data/lib/liza/unit_parts/unit_renderer_part_test.rb +0 -15
  559. data/lib/liza/unit_parts/unit_settings_part.rb +0 -84
  560. data/lib/liza/unit_parts/unit_settings_part_test.rb +0 -3
  561. data/lib/lizarb/ruby/class.rb +0 -25
  562. data/lib/lizarb/ruby/module.rb +0 -17
  563. data/lib/lizarb/ruby/proc.rb +0 -12
  564. data/lib/lizarb/ruby/string.rb +0 -35
  565. data/lib/lizarb/ruby/time.rb +0 -9
  566. data/lib/net_system/sub/client/generators/client_generator.rb +0 -88
  567. data/lib/net_system/sub/client/generators/client_generator_test.rb +0 -10
  568. data/lib/net_system/sub/database/clients/redis_client.rb +0 -29
  569. data/lib/net_system/sub/database/commands/database_command.rb +0 -32
  570. data/lib/net_system/sub/database/commands/database_command_test.rb +0 -11
  571. data/lib/net_system/sub/database/database_panel.rb +0 -10
  572. data/lib/net_system/sub/record/generators/record_generator.rb +0 -33
  573. data/lib/net_system/sub/record/generators/record_generator_test.rb +0 -11
  574. data/lib/net_system/sub/record/record.rb +0 -29
  575. data/lib/net_system/sub/record/record_test.rb +0 -11
  576. data/lib/web_system/sub/rack/commands/rack_command_test.rb +0 -11
  577. data/lib/web_system/sub/rack/rack.rb +0 -6
  578. data/lib/web_system/sub/rack/rack_panel_test.rb +0 -11
  579. data/lib/web_system/sub/request/commands/request_command_test.rb +0 -11
  580. data/lib/web_system/sub/request/generators/request_generator.rb +0 -96
  581. data/lib/web_system/sub/request/generators/request_generator_test.rb +0 -11
  582. data/lib/web_system/sub/request/request_panel_test.rb +0 -54
  583. /data/lib/dev_system/{sub → subsystems}/log/log.rb +0 -0
  584. /data/lib/dev_system/{sub → subsystems}/shell/shells/bin_shell.rb +0 -0
  585. /data/lib/dev_system/{sub → subsystems}/shell/shells/kernel_shell_test.rb +0 -0
  586. /data/lib/dev_system/{sub → subsystems}/shell/shells/method_shell.rb +0 -0
  587. /data/lib/dev_system/{sub → subsystems}/shell/shells/text_file_shell.rb +0 -0
  588. /data/lib/happy_system/{sub → subsystems}/axo/commands/axo_command_test.rb +0 -0
  589. /data/lib/liza/{ruby_tests → extra_tests}/object_test.rb +0 -0
  590. /data/lib/liza/{ruby_tests → extra_tests}/string_test.rb +0 -0
  591. /data/lib/net_system/{sub → subsystems}/client/client.rb +0 -0
  592. /data/lib/net_system/{sub → subsystems}/client/client_panel.rb +0 -0
  593. /data/lib/net_system/{sub → subsystems}/database/clients/mongo_client_test.rb +0 -0
  594. /data/lib/net_system/{sub → subsystems}/database/clients/pgsql_client_test.rb +0 -0
  595. /data/lib/net_system/{sub → subsystems}/database/clients/redis_client_test.rb +0 -0
  596. /data/lib/net_system/{sub → subsystems}/database/clients/sqlite_client_test.rb +0 -0
  597. /data/lib/net_system/{sub → subsystems}/database/database.rb +0 -0
  598. /data/lib/net_system/{sub → subsystems}/database/databases/mongo_db.rb +0 -0
  599. /data/lib/net_system/{sub → subsystems}/database/databases/mongo_db_test.rb +0 -0
  600. /data/lib/net_system/{sub → subsystems}/database/databases/mysql_db.rb +0 -0
  601. /data/lib/net_system/{sub → subsystems}/database/databases/mysql_db_test.rb +0 -0
  602. /data/lib/net_system/{sub → subsystems}/database/databases/pgsql_db.rb +0 -0
  603. /data/lib/net_system/{sub → subsystems}/database/databases/pgsql_db_test.rb +0 -0
  604. /data/lib/net_system/{sub → subsystems}/database/databases/redis_db.rb +0 -0
  605. /data/lib/net_system/{sub → subsystems}/database/databases/redis_db_test.rb +0 -0
  606. /data/lib/net_system/{sub → subsystems}/database/databases/sqlite_db.rb +0 -0
  607. /data/lib/net_system/{sub → subsystems}/database/databases/sqlite_db_test.rb +0 -0
  608. /data/lib/net_system/{sub → subsystems}/record/record_panel.rb +0 -0
  609. /data/lib/web_system/{sub → subsystems}/rack/middle_racks/first_middle_rack.rb +0 -0
  610. /data/lib/web_system/{sub → subsystems}/rack/middle_racks/last_middle_rack.rb +0 -0
  611. /data/lib/web_system/{sub → subsystems}/request/request.rb +0 -0
  612. /data/lib/web_system/{sub → subsystems}/request/router_requests/router_request.rb +0 -0
@@ -0,0 +1,9 @@
1
+ class DevSystem::MoveGenerator < DevSystem::SimpleGenerator
2
+
3
+ # liza g move
4
+
5
+ def call_default
6
+ log stick :red, "Not implemented yet"
7
+ end
8
+
9
+ end
@@ -0,0 +1,8 @@
1
+ class DevSystem::MoveGeneratorTest < DevSystem::SimpleGeneratorTest
2
+
3
+ test :subject_class, :subject do
4
+ assert_equality DevSystem::MoveGenerator, subject_class
5
+ assert_equality DevSystem::MoveGenerator, subject.class
6
+ end
7
+
8
+ end
@@ -0,0 +1,162 @@
1
+ class DevSystem::NewGenerator < DevSystem::SimpleGenerator
2
+
3
+ # liza g new name
4
+
5
+ def call_default
6
+ call_project
7
+ end
8
+
9
+ # liza g new:project name
10
+
11
+ def call_project
12
+ log "args = #{args.inspect}"
13
+ # setup
14
+
15
+ name! "project"
16
+
17
+ from = "#{Lizarb.liz_dir}/examples/new"
18
+ log "from: #{from}"
19
+ to = "#{Dir.pwd}/#{@name}"
20
+
21
+ return log "Directory #{stick :light_green, to} already exists." if Dir.exist? to
22
+
23
+ log "Liza Application initializing at `#{to}`"
24
+
25
+ # app
26
+
27
+ FileShell.copy from, to
28
+
29
+ # extra
30
+
31
+ puts
32
+
33
+ FileShell.gitkeep "#{to}/lib"
34
+ FileShell.gitkeep "#{to}/tmp"
35
+
36
+ TextShell.write "#{to}/.gitignore", render(:gitignore, format: :gitignore)
37
+ # TextShell.write "#{to}/Procfile", render(:Procfile, format: :yml)
38
+ TextShell.write "#{to}/.tool-versions", render(:toolversions, format: :txt)
39
+
40
+ FileShell.copy "#{Lizarb.liz_dir}/README.md", "#{to}/README.md"
41
+ # FileShell.copy "#{Lizarb.app_dir}/web_files", "#{to}/web_files"
42
+
43
+ puts
44
+
45
+ KernelShell.call_system \
46
+ "liza generate gemfile #{@name}/Gemfile +confirm",
47
+ log_level: :normal
48
+
49
+ KernelShell.call_backticks \
50
+ "cd #{to}; BUNDLE_GEMFILE=Gemfile bundle install",
51
+ log_level: :normal
52
+
53
+ KernelShell.call_backticks \
54
+ "cd #{to}; git init -b main; git add .; git commit -m 'lizarb new app_1 (v#{Lizarb::VERSION})'",
55
+ log_level: :normal
56
+
57
+ log "Liza Application initialized at `#{to}`"
58
+ end
59
+
60
+ # liza g new:script name
61
+
62
+ def call_script
63
+ if !App.project? or App.global?
64
+ call_script_independent
65
+ else
66
+ call_script_dependent
67
+ end
68
+
69
+ end
70
+
71
+ # liza g new:script_dependent name
72
+
73
+ def call_script_dependent
74
+ name_with_period! "script"
75
+
76
+ @systems = ["dev"]
77
+
78
+ create_file "scripts/#{@name}", :script_dependent, :rb
79
+ end
80
+
81
+ # liza g new:script_independent name
82
+
83
+ def call_script_independent
84
+ name_with_period! "script"
85
+
86
+ @systems = ["dev"]
87
+
88
+ create_file @name, :script_independent, :rb
89
+ end
90
+
91
+ # helper methods
92
+
93
+ def name! name
94
+ @name = command.simple_arg_ask_snakecase 1, "Name your new #{name}:"
95
+ log "@name = #{@name.inspect}"
96
+ end
97
+
98
+ def name_with_period! name
99
+ @name = command.simple_arg_ask_snakecase 1, "Name your new #{name}:", regexp: /^[a-zA-Z_\.]*$/
100
+ log "@name = #{@name.inspect}"
101
+ end
102
+
103
+ end
104
+
105
+ __END__
106
+
107
+ # view gitignore.gitignore.erb
108
+ # Ignore all files in all subdirectories
109
+ .gitignore
110
+ /.bundle/
111
+ /tmp/
112
+ *.sqlite
113
+ *.rdb
114
+
115
+ # view toolversions.txt.erb
116
+ ruby <%= RUBY_VERSION %>
117
+
118
+ # view Procfile.yml.erb
119
+ # HEROKU EXAMPLE
120
+
121
+ web: MODE=demo bundle exec liza rack h=0.0.0.0 p=$PORT
122
+
123
+ # view script_dependent.rb.erb
124
+ #!/usr/bin/env ruby
125
+
126
+ require "lizarb"
127
+ Lizarb.init_script_dependent! :dev, app: "app"
128
+
129
+ # YOUR CODE HERE
130
+
131
+ # use Shell instead of DevSystem::Shell
132
+ DevSystem::MainShell.easy!
133
+
134
+ puts
135
+ puts stick " MainShell ".center(100, "-"), :b, :black, :green
136
+ puts
137
+
138
+ log "MainShell is a wrapper for main: #{self}"
139
+
140
+ # DevSystem::DevBox.command ["shell"]
141
+ DevBox.command ["shell"]
142
+
143
+ # view script_independent.rb.erb
144
+ #!/usr/bin/env ruby
145
+
146
+ require "lizarb"
147
+ Lizarb.init_script_independent! :dev, pwd: __dir__
148
+ puts "#{$boot_time.diff}s to boot" if $log_boot_high
149
+
150
+ # YOUR CODE HERE
151
+
152
+ # use Shell instead of DevSystem::Shell
153
+ DevSystem::MainShell.easy!
154
+
155
+ puts
156
+ puts stick " MainShell ".center(100, "-"), :b, :black, :green
157
+ puts
158
+
159
+ log "MainShell is a wrapper for main: #{self}"
160
+
161
+ # DevSystem::DevBox.command ["shell"]
162
+ DevBox.command ["shell"]
@@ -4,8 +4,4 @@ class DevSystem::NewGeneratorTest < DevSystem::SimpleGeneratorTest
4
4
  assert subject_class == DevSystem::NewGenerator
5
5
  end
6
6
 
7
- test :settings do
8
- assert_equality subject_class.log_level, 0
9
- end
10
-
11
7
  end
@@ -0,0 +1,87 @@
1
+ class DevSystem::NotFoundGenerator < DevSystem::SimpleGenerator
2
+ #
3
+
4
+ def before
5
+ super
6
+ env[:generator_action] = "default"
7
+ end
8
+
9
+ def call_default
10
+ is_global = App.global?
11
+ self.log_level 1 if is_global
12
+
13
+ app_shell = AppShell.new
14
+ app_shell.filter_by_unit Generator
15
+
16
+ if is_global
17
+ app_shell.filter_in_units NewGenerator, NotFoundGenerator
18
+ else
19
+ app_shell.filter_out_units BaseGenerator, SimpleGenerator, NewGenerator
20
+ failed_name = menv[:generator_name_original]
21
+ app_shell.filter_by_name_including failed_name if failed_name
22
+ end
23
+
24
+ outputs(app_shell, failed_name)
25
+ end
26
+
27
+ section :helpers
28
+
29
+ def outputs(app_shell, failed_name)
30
+ domains = app_shell.get_domains.reject(&:empty?)
31
+ log "domains: #{domains.count}"
32
+ puts
33
+
34
+ if domains.empty?
35
+ log stick :black, :green, "No results found for '#{failed_name}'"
36
+ app_shell.undo_filter!
37
+ domains = app_shell.get_domains
38
+ log "domains: #{domains.count}"
39
+ end
40
+
41
+ domains.each do |domain|
42
+ next if domain.empty?
43
+
44
+ if log? :normal
45
+ puts typo.h1 domain.name.snakecase.upcase, domain.color
46
+ end
47
+
48
+ puts
49
+ domain.layers.each do |layer|
50
+ next if layer.objects.empty?
51
+
52
+ if log? :normal
53
+ m = "h#{layer.level}"
54
+ name = layer.level==1 ? domain.name.snakecase.upcase : layer.name.to_s
55
+ puts typo.send m, name, layer.color unless layer.level==3
56
+
57
+ puts stick layer.color, layer.path
58
+ puts
59
+ end
60
+
61
+ layer.objects.each { print_class _1 }
62
+ puts
63
+ end
64
+ end
65
+ end
66
+
67
+ def print_class klass, description: nil
68
+ return if [NotFoundCommand].include? klass
69
+
70
+ sidebar_length = Log.panel.sidebar_size
71
+ klass.get_generator_signatures.each do |signature|
72
+ signature[:name] =
73
+ signature[:name].empty? \
74
+ ? klass.token.to_s
75
+ : "#{klass.token}:#{signature[:name]}"
76
+ #
77
+ end.sort_by { _1[:name] }.map do |signature|
78
+ puts [
79
+ "liza generate #{signature[:name]}".ljust(sidebar_length),
80
+ (description or signature[:description])
81
+ ].join ""
82
+ end
83
+ end
84
+
85
+ def typo () = TypographyShell
86
+
87
+ end
@@ -0,0 +1,18 @@
1
+ class DevSystem::NotFoundGeneratorTest < DevSystem::SimpleGeneratorTest
2
+
3
+ test :subject_class, :subject do
4
+ assert_equality subject_class, DevSystem::NotFoundGenerator
5
+ assert_equality subject.class, DevSystem::NotFoundGenerator
6
+ end
7
+
8
+ test :call_default do
9
+ assert_raises NoMethodError do
10
+ subject.call_default
11
+ end
12
+ assert_no_raise do
13
+ subject.menv = {}
14
+ subject.call_default
15
+ end
16
+ end
17
+
18
+ end
@@ -0,0 +1,9 @@
1
+ class DevSystem::OverwriteGenerator < DevSystem::SimpleGenerator
2
+
3
+ # liza g overwrite
4
+
5
+ def call_default
6
+ log stick :red, "Not implemented yet"
7
+ end
8
+
9
+ end
@@ -0,0 +1,8 @@
1
+ class DevSystem::OverwriteGeneratorTest < DevSystem::SimpleGeneratorTest
2
+
3
+ test :subject_class do
4
+ assert_equality DevSystem::OverwriteGenerator, subject_class
5
+ assert_equality DevSystem::OverwriteGenerator, subject.class
6
+ end
7
+
8
+ end
@@ -0,0 +1,24 @@
1
+ class DevSystem::RemoveGenerator < DevSystem::SimpleGenerator
2
+
3
+ # liza g remove [controller] [filter]
4
+
5
+ def call_default
6
+ units = app_shell.sorted_writable_units.select { _1 < Controller and _1.superclass != Controller }
7
+
8
+ a_filter = Array command.simple_args[1..2]
9
+
10
+ if a_filter[0]
11
+ c = Liza.const a_filter[0]
12
+ units = units.select { _1 < c }
13
+ end
14
+
15
+ if a_filter[1]
16
+ units = units.select { _1.to_s.snakecase.include? a_filter[1] }
17
+ end
18
+
19
+ units = pick_many_units units
20
+ units = units.map { [_1, _1.test_class] rescue _1 }.flatten
21
+ remove_units units
22
+ end
23
+
24
+ end
@@ -0,0 +1,8 @@
1
+ class DevSystem::RemoveGeneratorTest < DevSystem::SimpleGeneratorTest
2
+
3
+ test :subject_class, :subject do
4
+ assert_equality DevSystem::RemoveGenerator, subject_class
5
+ assert_equality DevSystem::RemoveGenerator, subject.class
6
+ end
7
+
8
+ end
@@ -0,0 +1,345 @@
1
+ class DevSystem::SimpleGenerator < DevSystem::BaseGenerator
2
+
3
+ section :filters
4
+
5
+ def self.before_instance_calls()= fetch(:before_instance_calls) { [] }
6
+
7
+ def self.before_instance_call(method, *args, &block)
8
+ log :higher, "before_instance_call save #{method}, #{args}, #{block}"
9
+ before_instance_calls << [method, args, block]
10
+ end
11
+
12
+ def before
13
+ super
14
+
15
+ before_instance_calls
16
+ end
17
+
18
+ def before_instance_calls
19
+ self.class.before_instance_calls.each do |method, args, block|
20
+ log :higher, "before_instance_call send #{method}, #{args}, #{block}"
21
+ send method, *args, &block
22
+ end
23
+ end
24
+
25
+ section :panel
26
+
27
+ def inform
28
+ log :lowest, "informing #{mapper.changes.count} changes"
29
+
30
+ mapper.changes.each do |fname, data|
31
+ mapper.changes.delete fname if data[:before] == data[:after]
32
+ end
33
+
34
+ mapper.changes.each do |fname, data|
35
+ puts_line
36
+
37
+ action = "updating"
38
+ action = "creating" if data[:before] == ""
39
+ action = "deleting" if data[:after] == ""
40
+
41
+ diff = {
42
+ "+": (data[:after].split("\n") - data[:before].split("\n")).count,
43
+ "-": (data[:before].split("\n") - data[:after].split("\n")).count,
44
+ }
45
+
46
+ bit = diff.map { "#{_1}#{_2}" }.join(" ")
47
+ relative = Pathname(fname).relative_path_from(App.root)
48
+ string = "#{action.ljust 8} | #{"#{bit}".rjust 8} lines | #{relative}"
49
+ log :lowest, string
50
+
51
+ if log_level? :low
52
+ puts relative
53
+ LineDiffShell.log_diff(data[:before].split("\n"), data[:after].split("\n")) if diff.values.sum.positive?
54
+ end
55
+ end
56
+ end
57
+
58
+ def save
59
+ puts_line
60
+ diff = {
61
+ "+": mapper.changes.map { _2[:after].split("\n").count }.sum,
62
+ "-": mapper.changes.map { _2[:before].split("\n").count }.sum,
63
+ }
64
+ log "saving #{mapper.changes.count} files changed: #{diff[:"+"]} insertions(+), #{diff[:"-"]} deletions(-)"
65
+
66
+ choices = mapper.changes.keys.map { [_1, _1] }.to_h
67
+ if command.simple_boolean :confirm
68
+ answers = choices.keys
69
+ else
70
+ answers = InputShell.multi_select "Approve all changes?", choices
71
+ end
72
+
73
+ #
74
+
75
+ puts_line
76
+ diff = {
77
+ "+": mapper.changes.map { _2[:after].split("\n").count }.sum,
78
+ "-": mapper.changes.map { _2[:before].split("\n").count }.sum,
79
+ }
80
+ log "saving #{answers.count} files changed: #{diff[:"+"]} insertions(+), #{diff[:"-"]} deletions(-)"
81
+
82
+ answers.each do |fname|
83
+ answer = mapper.changes[fname]
84
+ if answer[:after] == ""
85
+ FileShell.remove fname, log_level: :higher
86
+ else
87
+ FileShell.write_text fname, answer[:after], log_level: :higher
88
+ end
89
+ end
90
+ end
91
+
92
+ section :mapping
93
+
94
+ def generate(*args, &block)
95
+ args = args.flatten
96
+ cmd_menv = Command.panel.forge ["generate", *args]
97
+ cmd_menv[:command] = SimpleCommand.new.tap do |cmd|
98
+ cmd.instance_variable_set :@menv, cmd_menv
99
+ cmd.before
100
+ end
101
+
102
+ gen_menv = panel.forge cmd_menv
103
+ gen_menv[:simple_mapper] = mapper
104
+ panel.forge_shortcut gen_menv
105
+ panel.find gen_menv
106
+ panel.find_shortcut gen_menv
107
+ panel.forward gen_menv
108
+ end
109
+
110
+ def mapper() = menv[:simple_mapper] ||= Mapper.new(self)
111
+
112
+ class Mapper
113
+ attr_reader :changes
114
+
115
+ def log(*args, **kwargs)
116
+ kwargs[:method_name] = 'map'
117
+ @gen.log(*args, **kwargs)
118
+ end
119
+
120
+ def initialize(generator)
121
+ @gen = generator
122
+ log "#{self.class.last_namespace}.#{__method__}"
123
+ @changes = {}
124
+ end
125
+
126
+ def get(fname)
127
+ changes[fname]
128
+ end
129
+
130
+ def read_before(fname)
131
+ cache fname
132
+ changes[fname][:before]
133
+ end
134
+
135
+ def read_after(fname)
136
+ cache fname
137
+ changes[fname][:after]
138
+ end
139
+
140
+ def write_after(fname, text)
141
+ log "#{self.class.last_namespace}.#{__method__} #{fname.to_s.sub App.root.to_s, "."}, #{text.size} bytes"
142
+ cache fname
143
+ changes[fname][:after] = text
144
+ end
145
+
146
+ def delete_after(fname)
147
+ log "#{self.class.last_namespace}.#{__method__} #{fname.to_s.sub App.root.to_s, "."}"
148
+ cache fname
149
+ changes[fname][:after] = ""
150
+ end
151
+
152
+ private
153
+
154
+ def cache(fname)
155
+ raise "fname must be a Pathname" unless fname.is_a? Pathname
156
+ return true if changes.key? fname
157
+
158
+ s = ""
159
+ s = DevSystem::FileShell.read_text(fname) if DevSystem::FileShell.exist? fname
160
+ changes[fname] = {before: s, after: s}
161
+
162
+ true
163
+ end
164
+
165
+ end
166
+
167
+ section :files
168
+
169
+ def create_file name, template, format
170
+ contents = render! template, format: format
171
+ create_file_contents name, contents
172
+ end
173
+
174
+ def create_file_contents name, contents
175
+ update_file name, contents
176
+ end
177
+
178
+ def read_file name
179
+ path = App.root.join name
180
+ mapper.read_after path
181
+ end
182
+
183
+ def update_file name, contents
184
+ path = App.root.join name
185
+ mapper.write_after path, contents
186
+ end
187
+
188
+ def delete_file name
189
+ path = App.root.join name
190
+ mapper.delete_after path
191
+ end
192
+
193
+ def copy_examples controller
194
+ puts
195
+ log controller.to_s
196
+ singular = controller.singular
197
+ sys = controller.system.token
198
+
199
+ [
200
+ Lizarb.gem_dir,
201
+ Lizarb.app_dir,
202
+ ].uniq.each do |dir|
203
+ FileShell.directory? "#{dir}/examples/#{singular}" or next
204
+ copy_files "#{dir}/examples/#{singular}/app/#{sys}", "#{App.directory}/#{sys}"
205
+ end
206
+ end
207
+
208
+ #
209
+
210
+ def copy_files from_folder, to_folder
211
+ from_pattern = "#{from_folder}/**/*"
212
+ log "from_pattern = #{from_pattern}"
213
+
214
+ from_files = Dir[from_pattern]
215
+ log "from_files"
216
+ log_array from_files
217
+ puts
218
+
219
+ from_files.each do |source|
220
+ next if File.directory? source
221
+
222
+ target = source.sub(from_folder, to_folder)
223
+ copy_file source, target
224
+ end
225
+ end
226
+
227
+ def copy_file source, target
228
+ path = App.root.join target
229
+ text = FileShell.read_text source
230
+ mapper.write_after path, text
231
+ end
232
+
233
+ section :arg_views
234
+
235
+ def arg_views_none?() = arg_views == 'none'
236
+
237
+ def arg_views_eof?() = arg_views == 'eof'
238
+
239
+ def arg_views_adjacent?() = arg_views == 'adjacent'
240
+
241
+ def arg_views_nested?() = arg_views == 'nested'
242
+
243
+ def self.set_default_views(views) = before_instance_call(:set_default_views, views)
244
+
245
+ def set_default_views(views) = command.set_default_string(:views, views)
246
+
247
+ def valid_views() = @valid_views ||= %w[none eof adjacent nested]
248
+
249
+ def arg_views() = @arg_views ||= command.simple_string(:views)
250
+
251
+ set_input_string :views do |default|
252
+ title = "Choose views"
253
+ valid_views = menv[:generator].valid_views
254
+ index_base_1 = valid_views.index(default) + 1 rescue 1
255
+ InputShell.select title, valid_views, default: index_base_1
256
+ end
257
+
258
+ set_default_views "none"
259
+
260
+ section :unit
261
+
262
+ def add_unit(unit, class_names, unit_path)
263
+ raise "unit_path cannot be empty" if unit_path.nil?
264
+ @current_unit = unit
265
+ @class_names = class_names
266
+ @class_name = class_names[0]
267
+ unit.sections.each do |section|
268
+ @current_section = section
269
+ section[:content] = render! section[:render_key], format: :rb
270
+ end
271
+ unit.views.each do |view|
272
+ view[:content] = render! view[:render_key], format: view[:render_format]
273
+ end
274
+
275
+ new_lines = render! :unit, format: :rb
276
+ if arg_views_eof? && unit.views.any?
277
+ new_lines << "\n__END__\n\n"
278
+ unit.views.each do |view|
279
+ new_lines << "# view #{view[:name]}.#{view[:format]}.erb\n#{view[:content]}"
280
+ end
281
+ end
282
+ mapper.write_after unit_path, new_lines
283
+ end
284
+
285
+ def add_view(unit, view, view_path)
286
+ raise "view_path cannot be empty" if view_path.nil?
287
+ view[:content] = render! view[:render_key], format: view[:render_format]
288
+
289
+ new_content = view[:content].dup
290
+ new_content.prepend "# view #{view[:name]}.#{view[:format]}.erb\n" if arg_views_adjacent?
291
+ mapper.write_after view_path, new_content
292
+ end
293
+
294
+ class UnitHelper
295
+ def section section = {}
296
+ sections << section
297
+ section[:name] or raise "name is required"
298
+ section[:render_key] ||= section[:name]
299
+ end
300
+
301
+ def view view = {}
302
+ views << view
303
+ view[:render_key] or raise "render_key is required"
304
+ view[:render_format] ||= view[:format]
305
+ view[:render_format] or raise "render_format is required"
306
+ end
307
+
308
+ def sections
309
+ @sections ||= []
310
+ end
311
+
312
+ def views
313
+ @views ||= []
314
+ end
315
+ end
316
+
317
+ def remove_units(units)
318
+ units.each do |unit|
319
+ unit_path_radical = unit.source_location_radical
320
+ unit_path = "#{unit_path_radical}.rb"
321
+
322
+ mapper.delete_after Pathname unit_path
323
+ views = Dir["#{unit_path_radical}*/**/*"]
324
+ views.each do |fname|
325
+ mapper.delete_after Pathname fname
326
+ end
327
+ end
328
+ end
329
+
330
+ def pick_many_units(units)
331
+ options = units.map do |unit|
332
+ [
333
+ "#{TypographyShell.color_class unit}",
334
+ unit
335
+ ]
336
+ end.to_h
337
+ selected = units.count == 1 ? :all : :none
338
+ InputShell.multi_select "Pick Multiple Controllers", options, selected: selected
339
+ end
340
+
341
+ def app_shell() = @app_shell ||= AppShell.new
342
+
343
+ def puts_line() = puts "-" * 120
344
+
345
+ end
@@ -0,0 +1,9 @@
1
+ # view subject.rb.erb
2
+ <%
3
+ string = @class_name.end_with?("Test") ? @class_name[0..-5] : @class_name
4
+ -%>
5
+
6
+ test :subject_class, :subject do
7
+ assert_equality subject_class, <%= string %>
8
+ assert_equality subject.class, <%= string %>
9
+ end