lizarb 1.0.5 → 1.0.7

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 (613) 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 +46 -25
  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 +260 -0
  50. data/gemfiles/gemfile.3.2.rb +1 -0
  51. data/gemfiles/gemfile.3.2.rb.lock +260 -0
  52. data/gemfiles/gemfile.3.3.rb +1 -0
  53. data/gemfiles/gemfile.3.3.rb.lock +260 -0
  54. data/gemfiles/gemfile.3.4.rb +1 -0
  55. data/gemfiles/gemfile.3.4.rb.lock +260 -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 +6 -34
  90. data/lib/dev_system/generators/gemfile_generator.rb.gemfile.rb.erb +35 -0
  91. data/lib/dev_system/generators/gemfile_generator_test.rb +4 -4
  92. data/lib/dev_system/generators/subsystem_generator.default.rb.erb +2 -0
  93. data/lib/dev_system/generators/subsystem_generator.rb +187 -0
  94. data/lib/dev_system/generators/subsystem_generator.rb.section_controller.rb.erb +8 -0
  95. data/lib/dev_system/generators/subsystem_generator.rb.section_controller_test.rb.erb +18 -0
  96. data/lib/dev_system/generators/subsystem_generator.rb.section_panel.rb.erb +19 -0
  97. data/lib/dev_system/generators/subsystem_generator.rb.section_panel_test.rb.erb +18 -0
  98. data/lib/dev_system/generators/subsystem_generator_test.rb +17 -0
  99. data/lib/dev_system/generators/system_generator.rb +108 -45
  100. data/lib/dev_system/generators/system_generator.rb.gemspec.rb.erb +36 -0
  101. data/lib/dev_system/generators/system_generator.rb.section_app_box_settings.rb.erb +4 -0
  102. data/lib/dev_system/generators/system_generator.rb.section_system_box_settings.rb.erb +4 -0
  103. data/lib/dev_system/generators/system_generator.rb.section_system_box_test.rb.erb +12 -0
  104. data/lib/dev_system/generators/system_generator.rb.section_system_default.rb.erb +3 -0
  105. data/lib/dev_system/generators/system_generator.rb.section_system_info.rb.erb +3 -0
  106. data/lib/dev_system/generators/system_generator.rb.system_test.rb.erb +5 -0
  107. data/lib/dev_system/generators/system_generator.rb.unit.rb.erb +7 -0
  108. data/lib/dev_system/generators/system_generator_test.rb +10 -3
  109. data/lib/dev_system/shells/unit_shell.rb +40 -0
  110. data/lib/dev_system/shells/unit_shell_test.rb +24 -0
  111. data/lib/dev_system/shells/zeitwerk_shell.rb +94 -0
  112. data/lib/dev_system/shells/zeitwerk_shell_test.rb +14 -0
  113. data/lib/dev_system/{sub → subsystems}/bench/bench.rb +2 -0
  114. data/lib/dev_system/subsystems/bench/bench_panel.rb +31 -0
  115. data/lib/dev_system/subsystems/bench/bench_panel_test.rb +55 -0
  116. data/lib/dev_system/{sub → subsystems}/bench/bench_test.rb +0 -2
  117. data/lib/dev_system/subsystems/bench/benches/not_found_bench.rb +73 -0
  118. data/lib/dev_system/subsystems/bench/benches/not_found_bench_test.rb +7 -0
  119. data/lib/dev_system/subsystems/bench/commands/bench_command.rb +21 -0
  120. data/lib/dev_system/subsystems/bench/commands/bench_command_test.rb +7 -0
  121. data/lib/dev_system/subsystems/bench/generators/bench_generator.rb +34 -0
  122. data/lib/dev_system/subsystems/bench/generators/bench_generator.rb.marks.rb.erb +18 -0
  123. data/lib/dev_system/subsystems/bench/generators/bench_generator.rb.setup.rb.erb +9 -0
  124. data/lib/dev_system/subsystems/bench/generators/bench_generator_test.rb +15 -0
  125. data/lib/dev_system/subsystems/command/command.rb +7 -0
  126. data/lib/dev_system/subsystems/command/command_panel.rb +30 -0
  127. data/lib/dev_system/subsystems/command/command_panel_test.rb +122 -0
  128. data/lib/dev_system/{sub → subsystems}/command/command_test.rb +2 -6
  129. data/lib/dev_system/subsystems/command/commands/base_command.rb +79 -0
  130. data/lib/dev_system/{sub → subsystems}/command/commands/base_command_test.rb +0 -4
  131. data/lib/dev_system/subsystems/command/commands/irb_command.rb +20 -0
  132. data/lib/dev_system/subsystems/command/commands/irb_command_test.rb +7 -0
  133. data/lib/dev_system/subsystems/command/commands/not_found_command.rb +83 -0
  134. data/lib/dev_system/{sub → subsystems}/command/commands/not_found_command_test.rb +0 -4
  135. data/lib/dev_system/subsystems/command/commands/pry_command.rb +10 -0
  136. data/lib/dev_system/subsystems/command/commands/pry_command_test.rb +7 -0
  137. data/lib/dev_system/subsystems/command/commands/simple_command.rb +433 -0
  138. data/lib/dev_system/subsystems/command/commands/simple_command_test.rb +153 -0
  139. data/lib/dev_system/subsystems/command/gem_shells/tty_prompt_gem_shell.rb +37 -0
  140. data/lib/dev_system/subsystems/command/gem_shells/tty_prompt_gem_shell_test.rb +10 -0
  141. data/lib/dev_system/subsystems/command/generators/command_generator.rb +73 -0
  142. data/lib/dev_system/subsystems/command/generators/command_generator.rb.section_base.rb.erb +10 -0
  143. data/lib/dev_system/subsystems/command/generators/command_generator.rb.section_simple_actions.rb.erb +21 -0
  144. data/lib/dev_system/subsystems/command/generators/command_generator.rb.section_simple_filters.rb.erb +25 -0
  145. data/lib/dev_system/subsystems/command/generators/command_generator.rb.view_simple.txt.erb +2 -0
  146. data/lib/dev_system/subsystems/command/generators/command_generator_test.rb +15 -0
  147. data/lib/dev_system/subsystems/command/parts/command_shortcut_part.rb +58 -0
  148. data/lib/dev_system/subsystems/command/parts/command_shortcut_part_test.rb +6 -0
  149. data/lib/dev_system/subsystems/command/shells/color_shell.rb +60 -0
  150. data/lib/dev_system/{sub/shell → subsystems/command}/shells/color_shell_test.rb +1 -6
  151. data/lib/dev_system/subsystems/command/shells/input_shell.rb +95 -0
  152. data/lib/dev_system/subsystems/command/shells/input_shell_test.rb +11 -0
  153. data/lib/dev_system/{sub/shell/shells/color_shell.rb → subsystems/command/shells/pallet_shell.rb} +11 -46
  154. data/lib/dev_system/subsystems/command/shells/pallet_shell_test.rb +15 -0
  155. data/lib/dev_system/subsystems/command/shells/typography_shell.rb +33 -0
  156. data/lib/dev_system/subsystems/command/shells/typography_shell_test.rb +10 -0
  157. data/lib/dev_system/subsystems/generator/commands/generate_command.rb +46 -0
  158. data/lib/dev_system/{sub → subsystems}/generator/commands/generate_command_test.rb +0 -4
  159. data/lib/dev_system/subsystems/generator/commands/new_command.rb +33 -0
  160. data/lib/dev_system/subsystems/generator/commands/new_command_test.rb +12 -0
  161. data/lib/dev_system/{sub/shell/shells/line_diff_shell.rb → subsystems/generator/gem_shells/difflcs_gem_shell.rb} +11 -9
  162. data/lib/dev_system/subsystems/generator/gem_shells/difflcs_gem_shell_test.rb +10 -0
  163. data/lib/dev_system/subsystems/generator/generator.rb +7 -0
  164. data/lib/dev_system/subsystems/generator/generator_panel.rb +51 -0
  165. data/lib/dev_system/subsystems/generator/generator_panel_test.rb +86 -0
  166. data/lib/dev_system/{sub → subsystems}/generator/generator_test.rb +0 -4
  167. data/lib/dev_system/subsystems/generator/generators/base_generator.rb +147 -0
  168. data/lib/dev_system/{sub → subsystems}/generator/generators/base_generator_test.rb +3 -4
  169. data/lib/dev_system/subsystems/generator/generators/controller_generator.rb +210 -0
  170. data/lib/dev_system/subsystems/generator/generators/controller_generator.rb.unit.rb.erb +18 -0
  171. data/lib/dev_system/subsystems/generator/generators/controller_generator_test.rb +48 -0
  172. data/lib/dev_system/subsystems/generator/generators/generator_generator.rb +58 -0
  173. data/lib/dev_system/subsystems/generator/generators/generator_generator.rb.section_controller_actions.rb.erb +23 -0
  174. data/lib/dev_system/subsystems/generator/generators/generator_generator.rb.section_simple_actions.rb.erb +19 -0
  175. data/lib/dev_system/subsystems/generator/generators/generator_generator.rb.view_controller_actions.rb.erb +11 -0
  176. data/lib/dev_system/subsystems/generator/generators/generator_generator.rb.view_controller_views.txt.erb +2 -0
  177. data/lib/dev_system/subsystems/generator/generators/generator_generator.rb.view_simple.txt.erb +2 -0
  178. data/lib/dev_system/subsystems/generator/generators/generator_generator_test.rb +16 -0
  179. data/lib/dev_system/subsystems/generator/generators/install_generator.rb +9 -0
  180. data/lib/dev_system/subsystems/generator/generators/install_generator_test.rb +8 -0
  181. data/lib/dev_system/subsystems/generator/generators/move_generator.rb +9 -0
  182. data/lib/dev_system/subsystems/generator/generators/move_generator_test.rb +8 -0
  183. data/lib/dev_system/subsystems/generator/generators/new_generator.rb +179 -0
  184. data/lib/dev_system/{sub → subsystems}/generator/generators/new_generator_test.rb +0 -4
  185. data/lib/dev_system/subsystems/generator/generators/not_found_generator.rb +87 -0
  186. data/lib/dev_system/subsystems/generator/generators/not_found_generator_test.rb +18 -0
  187. data/lib/dev_system/subsystems/generator/generators/overwrite_generator.rb +9 -0
  188. data/lib/dev_system/subsystems/generator/generators/overwrite_generator_test.rb +8 -0
  189. data/lib/dev_system/subsystems/generator/generators/remove_generator.rb +24 -0
  190. data/lib/dev_system/subsystems/generator/generators/remove_generator_test.rb +8 -0
  191. data/lib/dev_system/subsystems/generator/generators/simple_generator.rb +345 -0
  192. data/lib/dev_system/subsystems/generator/generators/simple_generator.rb.subject.rb.erb +9 -0
  193. data/lib/dev_system/subsystems/generator/generators/simple_generator.rb.unit.rb.erb +7 -0
  194. data/lib/dev_system/{sub → subsystems}/generator/generators/simple_generator_test.rb +7 -6
  195. data/lib/dev_system/subsystems/generator/generators/uninstall_generator.rb +9 -0
  196. data/lib/dev_system/subsystems/generator/generators/uninstall_generator_test.rb +8 -0
  197. data/lib/dev_system/subsystems/log/commands/log_command.rb +52 -0
  198. data/lib/dev_system/{sub → subsystems}/log/commands/log_command_test.rb +0 -4
  199. data/lib/dev_system/subsystems/log/generators/log_generator.rb +52 -0
  200. data/lib/dev_system/subsystems/log/generators/log_generator.rb.controller_section_1.rb.erb +7 -0
  201. data/lib/dev_system/subsystems/log/generators/log_generator.rb.controller_test_section_1.rb.erb +6 -0
  202. data/lib/dev_system/subsystems/log/generators/log_generator.rb.handler_section_1.rb.erb +8 -0
  203. data/lib/dev_system/subsystems/log/generators/log_generator.rb.handler_test_section_1.rb.erb +6 -0
  204. data/lib/dev_system/subsystems/log/generators/log_generator_test.rb +17 -0
  205. data/lib/dev_system/{sub/log/logs/output_log.rb → subsystems/log/handler_logs/color_output_handler_log.rb} +14 -31
  206. data/lib/dev_system/subsystems/log/handler_logs/color_output_handler_log_test.rb +41 -0
  207. data/lib/dev_system/subsystems/log/handler_logs/handler_log.rb +5 -0
  208. data/lib/dev_system/subsystems/log/handler_logs/handler_log_test.rb +12 -0
  209. data/lib/dev_system/subsystems/log/handler_logs/none_handler_log.rb +8 -0
  210. data/lib/dev_system/subsystems/log/handler_logs/none_handler_log_test.rb +10 -0
  211. data/lib/dev_system/subsystems/log/handler_logs/output_handler_log.rb +57 -0
  212. data/lib/dev_system/{sub/log/logs/output_log_test.rb → subsystems/log/handler_logs/output_handler_log_test.rb} +5 -9
  213. data/lib/dev_system/subsystems/log/log_panel.rb +108 -0
  214. data/lib/dev_system/subsystems/log/log_panel_test.rb +152 -0
  215. data/lib/dev_system/{sub → subsystems}/log/log_test.rb +5 -2
  216. data/lib/dev_system/subsystems/log/logs/array_log.rb +20 -0
  217. data/lib/dev_system/subsystems/log/logs/array_log_test.rb +49 -0
  218. data/lib/dev_system/subsystems/log/logs/hash_log.rb +17 -0
  219. data/lib/dev_system/subsystems/log/logs/hash_log_test.rb +40 -0
  220. data/lib/dev_system/{sub → subsystems}/log/logs/stick_log.rb +6 -5
  221. data/lib/dev_system/subsystems/log/logs/stick_log_log.rb +6 -0
  222. data/lib/dev_system/subsystems/log/logs/stick_log_log_test.rb +26 -0
  223. data/lib/dev_system/{sub → subsystems}/log/logs/stick_log_test.rb +12 -12
  224. data/lib/dev_system/subsystems/shell/commands/shell_command.rb +340 -0
  225. data/lib/dev_system/subsystems/shell/commands/shell_command_test.rb +12 -0
  226. data/lib/dev_system/subsystems/shell/converter_shells/coffee_converter_shell.rb +20 -0
  227. data/lib/dev_system/{sub → subsystems}/shell/converter_shells/coffee_converter_shell_test.rb +1 -8
  228. data/lib/dev_system/subsystems/shell/converter_shells/converter_shell.rb +27 -0
  229. data/lib/dev_system/{sub → subsystems}/shell/converter_shells/converter_shell_test.rb +9 -2
  230. data/lib/dev_system/subsystems/shell/converter_shells/haml_converter_shell.rb +29 -0
  231. data/lib/dev_system/{sub → subsystems}/shell/converter_shells/haml_converter_shell_test.rb +1 -8
  232. data/lib/dev_system/subsystems/shell/converter_shells/md_converter_shell.rb +20 -0
  233. data/lib/dev_system/{sub → subsystems}/shell/converter_shells/md_converter_shell_test.rb +1 -8
  234. data/lib/dev_system/{sub → subsystems}/shell/converter_shells/scss_converter_shell.rb +13 -12
  235. data/lib/dev_system/{sub → subsystems}/shell/converter_shells/scss_converter_shell_test.rb +1 -8
  236. data/lib/dev_system/subsystems/shell/formatter_shells/formatter_shell.rb +30 -0
  237. data/lib/dev_system/{sub → subsystems}/shell/formatter_shells/formatter_shell_test.rb +9 -2
  238. data/lib/dev_system/subsystems/shell/formatter_shells/html_formatter_shell.rb +19 -0
  239. data/lib/dev_system/{sub → subsystems}/shell/formatter_shells/html_formatter_shell_test.rb +1 -9
  240. data/lib/dev_system/subsystems/shell/gem_shells/coderay_gem_shell.rb +33 -0
  241. data/lib/dev_system/subsystems/shell/gem_shells/coderay_gem_shell_test.rb +21 -0
  242. data/lib/dev_system/subsystems/shell/gem_shells/gem_shell.rb +4 -0
  243. data/lib/dev_system/subsystems/shell/gem_shells/gem_shell_test.rb +10 -0
  244. data/lib/dev_system/subsystems/shell/generators/shell_generator.rb +120 -0
  245. data/lib/dev_system/subsystems/shell/generators/shell_generator.rb.actions.rb.erb +11 -0
  246. data/lib/dev_system/subsystems/shell/generators/shell_generator.rb.converter.rb.erb +15 -0
  247. data/lib/dev_system/subsystems/shell/generators/shell_generator.rb.formatter.rb.erb +15 -0
  248. data/lib/dev_system/subsystems/shell/generators/shell_generator.rb.helpers.rb.erb +39 -0
  249. data/lib/dev_system/subsystems/shell/generators/shell_generator.rb.instance.rb.erb +71 -0
  250. data/lib/dev_system/subsystems/shell/generators/shell_generator.rb.renderer.rb.erb +15 -0
  251. data/lib/dev_system/subsystems/shell/generators/shell_generator.rb.test.rb.erb +2 -0
  252. data/lib/dev_system/subsystems/shell/generators/shell_generator.rb.view_simple.txt.erb +2 -0
  253. data/lib/dev_system/subsystems/shell/generators/shell_generator_test.rb +21 -0
  254. data/lib/dev_system/subsystems/shell/renderer_shells/renderer_shell.rb +4 -0
  255. data/lib/dev_system/subsystems/shell/renderer_shells/renderer_shell_test.rb +10 -0
  256. data/lib/dev_system/{sub → subsystems}/shell/shell.rb +5 -0
  257. data/lib/dev_system/subsystems/shell/shell_panel.rb +87 -0
  258. data/lib/dev_system/subsystems/shell/shell_panel_test.rb +14 -0
  259. data/lib/dev_system/{sub → subsystems}/shell/shell_test.rb +1 -5
  260. data/lib/dev_system/subsystems/shell/shells/app_shell.rb +684 -0
  261. data/lib/dev_system/subsystems/shell/shells/app_shell_test.rb +113 -0
  262. data/lib/dev_system/{sub → subsystems}/shell/shells/bin_shell_test.rb +0 -4
  263. data/lib/dev_system/subsystems/shell/shells/controller_shell.rb +87 -0
  264. data/lib/dev_system/subsystems/shell/shells/controller_shell_test.rb +33 -0
  265. data/lib/dev_system/{sub → subsystems}/shell/shells/dir_shell.rb +2 -2
  266. data/lib/dev_system/{sub → subsystems}/shell/shells/dir_shell_test.rb +0 -4
  267. data/lib/dev_system/subsystems/shell/shells/env_shell.rb +19 -0
  268. data/lib/dev_system/subsystems/shell/shells/env_shell_test.rb +27 -0
  269. data/lib/dev_system/subsystems/shell/shells/erb_shell.rb +168 -0
  270. data/lib/dev_system/subsystems/shell/shells/erb_shell_test.rb +10 -0
  271. data/lib/dev_system/subsystems/shell/shells/file_shell.rb +130 -0
  272. data/lib/dev_system/{sub → subsystems}/shell/shells/file_shell_test.rb +3 -6
  273. data/lib/dev_system/{sub/shell/shells/gem_shell.rb → subsystems/shell/shells/gemspec_shell.rb} +1 -1
  274. data/lib/dev_system/{sub/shell/shells/gem_shell_test.rb → subsystems/shell/shells/gemspec_shell_test.rb} +3 -3
  275. data/lib/dev_system/subsystems/shell/shells/kernel_shell.rb +26 -0
  276. data/lib/dev_system/subsystems/shell/shells/line_shell.rb +104 -0
  277. data/lib/dev_system/{sub → subsystems}/shell/shells/line_shell_test.rb +36 -4
  278. data/lib/dev_system/subsystems/shell/shells/main_shell.rb +29 -0
  279. data/lib/dev_system/subsystems/shell/shells/main_shell_test.rb +10 -0
  280. data/lib/dev_system/subsystems/shell/shells/method_shell_test.rb +30 -0
  281. data/lib/dev_system/subsystems/shell/shells/signal_shell.rb +53 -0
  282. data/lib/dev_system/subsystems/shell/shells/signal_shell_test.rb +28 -0
  283. data/lib/dev_system/{sub → subsystems}/shell/shells/text_file_shell_test.rb +0 -4
  284. data/lib/dev_system/{sub → subsystems}/shell/shells/text_shell.rb +2 -2
  285. data/lib/dev_system/{sub → subsystems}/shell/shells/text_shell_test.rb +0 -4
  286. data/lib/dev_system/subsystems/shell/soft_shells/soft_shell.rb +4 -0
  287. data/lib/dev_system/subsystems/shell/soft_shells/soft_shell_test.rb +10 -0
  288. data/lib/dev_system/subsystems/shell/view_shells/logo_view_shell.rb +12 -0
  289. data/lib/dev_system/subsystems/shell/view_shells/logo_view_shell.rb.svg.erb +59 -0
  290. data/lib/dev_system/subsystems/shell/view_shells/logo_view_shell_test.rb +15 -0
  291. data/lib/dev_system/subsystems/shell/view_shells/view_shell.rb +5 -0
  292. data/lib/dev_system/subsystems/shell/view_shells/view_shell_test.rb +10 -0
  293. data/lib/dev_system.rb +6 -6
  294. data/lib/eco_system/eco_box.rb +5 -0
  295. data/lib/eco_system/eco_box_test.rb +16 -0
  296. data/lib/eco_system/eco_system_test.rb +9 -0
  297. data/lib/eco_system.rb +11 -0
  298. data/lib/happy_system/happy_box_test.rb +0 -4
  299. data/lib/happy_system/happy_system_test.rb +3 -0
  300. data/lib/happy_system/{sub → subsystems}/axo/axo.rb +2 -1
  301. data/lib/happy_system/{sub → subsystems}/axo/axo_panel.rb +1 -1
  302. data/lib/happy_system/{sub → subsystems}/axo/axo_panel_test.rb +0 -4
  303. data/lib/happy_system/{sub → subsystems}/axo/axo_test.rb +0 -4
  304. data/lib/happy_system/{sub → subsystems}/axo/commands/axo_command.rb +4 -3
  305. data/lib/happy_system/subsystems/axo/generators/axo_generator.rb +17 -0
  306. data/lib/happy_system/{sub/axo/generators/axo_generator.rb → subsystems/axo/generators/axo_generator.rb.controller.rb.erb} +1 -31
  307. data/lib/happy_system/subsystems/axo/generators/axo_generator_test.rb +12 -0
  308. data/lib/happy_system.rb +1 -1
  309. data/lib/lab_system/clients/kroki_client.rb +1 -0
  310. data/lib/lab_system/clients/kroki_client_test.rb +0 -4
  311. data/lib/lab_system/clients/liza_kroki_client_test.rb +0 -4
  312. data/lib/lab_system/commands/docker_command.rb +12 -6
  313. data/lib/lab_system/commands/docker_command_test.rb +1 -5
  314. data/lib/lab_system/lab_system_test.rb +3 -0
  315. data/lib/lab_system/requests/kroki_request_test.rb +0 -4
  316. data/lib/lab_system/shells/docker_installer_shell.rb +69 -0
  317. data/lib/lab_system/shells/docker_installer_shell_test.rb +12 -0
  318. data/lib/lab_system/shells/kroki_docker_shell.rb +1 -1
  319. data/lib/lab_system/shells/kroki_docker_shell_test.rb +1 -5
  320. data/lib/lab_system/{shells/docker_shell.rb → soft_shells/docker_soft_shell.rb} +4 -4
  321. data/lib/lab_system/{shells/docker_shell_test.rb → soft_shells/docker_soft_shell_test.rb} +5 -6
  322. data/lib/liza/{ruby_tests → extra_tests}/app_test.rb +3 -6
  323. data/lib/liza/extra_tests/class_test.rb +26 -0
  324. data/lib/liza/extra_tests/liza_test.rb +7 -0
  325. data/lib/liza/extra_tests/lizarb_test.rb +20 -0
  326. data/lib/liza/extra_tests/module_test.rb +21 -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 +7 -5
  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_diff_shell_test.rb +0 -11
  526. data/lib/dev_system/sub/shell/shells/line_shell.rb +0 -56
  527. data/lib/dev_system/sub/shell/shells/method_shell_test.rb +0 -34
  528. data/lib/happy_system/sub/axo/generators/axo_generator_test.rb +0 -11
  529. data/lib/lerb.rb +0 -152
  530. data/lib/liza/base/controller.rb +0 -26
  531. data/lib/liza/base/controller_test.rb +0 -36
  532. data/lib/liza/base/panel_test.rb +0 -179
  533. data/lib/liza/base_parts/controller_subsystem_part.rb +0 -93
  534. data/lib/liza/base_parts/panel_rescuer_part.rb +0 -129
  535. data/lib/liza/meta/box.rb +0 -24
  536. data/lib/liza/meta/box_test.rb +0 -20
  537. data/lib/liza/meta/part.rb +0 -17
  538. data/lib/liza/meta/part_test.rb +0 -11
  539. data/lib/liza/meta/system.rb +0 -61
  540. data/lib/liza/meta/system_test.rb +0 -15
  541. data/lib/liza/ruby_tests/class_test.rb +0 -20
  542. data/lib/liza/ruby_tests/module_test.rb +0 -21
  543. data/lib/liza/safety/test.rb +0 -19
  544. data/lib/liza/safety_parts/test_assertions_advanced_part.rb +0 -125
  545. data/lib/liza/safety_parts/test_assertions_part.rb +0 -109
  546. data/lib/liza/safety_parts/test_dsl_part.rb +0 -68
  547. data/lib/liza/safety_parts/test_log_part.rb +0 -142
  548. data/lib/liza/safety_parts/test_subject_part.rb +0 -32
  549. data/lib/liza/safety_parts/test_tree_part.rb +0 -87
  550. data/lib/liza/unit_parts/unit_classes_part.rb +0 -37
  551. data/lib/liza/unit_parts/unit_classes_part_test.rb +0 -3
  552. data/lib/liza/unit_parts/unit_logging_part.rb +0 -139
  553. data/lib/liza/unit_parts/unit_logging_part_test.rb +0 -3
  554. data/lib/liza/unit_parts/unit_methods_part.rb +0 -35
  555. data/lib/liza/unit_parts/unit_methods_part_test.rb +0 -3
  556. data/lib/liza/unit_parts/unit_procedure_part.rb +0 -17
  557. data/lib/liza/unit_parts/unit_procedure_part_test.rb +0 -65
  558. data/lib/liza/unit_parts/unit_renderer_part.rb +0 -171
  559. data/lib/liza/unit_parts/unit_renderer_part_test.rb +0 -15
  560. data/lib/liza/unit_parts/unit_settings_part.rb +0 -84
  561. data/lib/liza/unit_parts/unit_settings_part_test.rb +0 -3
  562. data/lib/lizarb/ruby/class.rb +0 -25
  563. data/lib/lizarb/ruby/module.rb +0 -17
  564. data/lib/lizarb/ruby/proc.rb +0 -12
  565. data/lib/lizarb/ruby/string.rb +0 -35
  566. data/lib/lizarb/ruby/time.rb +0 -9
  567. data/lib/net_system/sub/client/generators/client_generator.rb +0 -88
  568. data/lib/net_system/sub/client/generators/client_generator_test.rb +0 -10
  569. data/lib/net_system/sub/database/clients/redis_client.rb +0 -29
  570. data/lib/net_system/sub/database/commands/database_command.rb +0 -32
  571. data/lib/net_system/sub/database/commands/database_command_test.rb +0 -11
  572. data/lib/net_system/sub/database/database_panel.rb +0 -10
  573. data/lib/net_system/sub/record/generators/record_generator.rb +0 -33
  574. data/lib/net_system/sub/record/generators/record_generator_test.rb +0 -11
  575. data/lib/net_system/sub/record/record.rb +0 -29
  576. data/lib/net_system/sub/record/record_test.rb +0 -11
  577. data/lib/web_system/sub/rack/commands/rack_command_test.rb +0 -11
  578. data/lib/web_system/sub/rack/rack.rb +0 -6
  579. data/lib/web_system/sub/rack/rack_panel_test.rb +0 -11
  580. data/lib/web_system/sub/request/commands/request_command_test.rb +0 -11
  581. data/lib/web_system/sub/request/generators/request_generator.rb +0 -96
  582. data/lib/web_system/sub/request/generators/request_generator_test.rb +0 -11
  583. data/lib/web_system/sub/request/request_panel_test.rb +0 -54
  584. /data/lib/dev_system/{sub → subsystems}/log/log.rb +0 -0
  585. /data/lib/dev_system/{sub → subsystems}/shell/shells/bin_shell.rb +0 -0
  586. /data/lib/dev_system/{sub → subsystems}/shell/shells/kernel_shell_test.rb +0 -0
  587. /data/lib/dev_system/{sub → subsystems}/shell/shells/method_shell.rb +0 -0
  588. /data/lib/dev_system/{sub → subsystems}/shell/shells/text_file_shell.rb +0 -0
  589. /data/lib/happy_system/{sub → subsystems}/axo/commands/axo_command_test.rb +0 -0
  590. /data/lib/liza/{ruby_tests → extra_tests}/object_test.rb +0 -0
  591. /data/lib/liza/{ruby_tests → extra_tests}/string_test.rb +0 -0
  592. /data/lib/net_system/{sub → subsystems}/client/client.rb +0 -0
  593. /data/lib/net_system/{sub → subsystems}/client/client_panel.rb +0 -0
  594. /data/lib/net_system/{sub → subsystems}/database/clients/mongo_client_test.rb +0 -0
  595. /data/lib/net_system/{sub → subsystems}/database/clients/pgsql_client_test.rb +0 -0
  596. /data/lib/net_system/{sub → subsystems}/database/clients/redis_client_test.rb +0 -0
  597. /data/lib/net_system/{sub → subsystems}/database/clients/sqlite_client_test.rb +0 -0
  598. /data/lib/net_system/{sub → subsystems}/database/database.rb +0 -0
  599. /data/lib/net_system/{sub → subsystems}/database/databases/mongo_db.rb +0 -0
  600. /data/lib/net_system/{sub → subsystems}/database/databases/mongo_db_test.rb +0 -0
  601. /data/lib/net_system/{sub → subsystems}/database/databases/mysql_db.rb +0 -0
  602. /data/lib/net_system/{sub → subsystems}/database/databases/mysql_db_test.rb +0 -0
  603. /data/lib/net_system/{sub → subsystems}/database/databases/pgsql_db.rb +0 -0
  604. /data/lib/net_system/{sub → subsystems}/database/databases/pgsql_db_test.rb +0 -0
  605. /data/lib/net_system/{sub → subsystems}/database/databases/redis_db.rb +0 -0
  606. /data/lib/net_system/{sub → subsystems}/database/databases/redis_db_test.rb +0 -0
  607. /data/lib/net_system/{sub → subsystems}/database/databases/sqlite_db.rb +0 -0
  608. /data/lib/net_system/{sub → subsystems}/database/databases/sqlite_db_test.rb +0 -0
  609. /data/lib/net_system/{sub → subsystems}/record/record_panel.rb +0 -0
  610. /data/lib/web_system/{sub → subsystems}/rack/middle_racks/first_middle_rack.rb +0 -0
  611. /data/lib/web_system/{sub → subsystems}/rack/middle_racks/last_middle_rack.rb +0 -0
  612. /data/lib/web_system/{sub → subsystems}/request/request.rb +0 -0
  613. /data/lib/web_system/{sub → subsystems}/request/router_requests/router_request.rb +0 -0
@@ -0,0 +1,684 @@
1
+ class DevSystem::AppShell < DevSystem::Shell
2
+
3
+ #
4
+
5
+ def self.writable_systems
6
+ root = App.root.to_s
7
+ App.systems.select { _2.source_location_radical.start_with? root }
8
+ end
9
+
10
+ def self.get_writable_domains
11
+ ret = {}
12
+ is_core_writeable = Lizarb.is_gem_dir
13
+
14
+ ret[:core] = "Core" if is_core_writeable
15
+ ret.merge! writable_systems
16
+ ret[:app] = "App"
17
+ ret.transform_keys! { _1.to_s }
18
+
19
+ ret
20
+ end
21
+
22
+ #
23
+
24
+ def self.consts
25
+ new.consts
26
+ end
27
+
28
+ section :instance
29
+
30
+ attr_reader :consts
31
+
32
+ def initialize
33
+ Lizarb.eager_load!
34
+ h = @consts = {}
35
+ h[:top_level] = [Lizarb, App, Liza]
36
+ h[:liza] = get_liza_classes_structured
37
+ h[:systems] = get_system_classes_structured
38
+ h[:app] = get_object_classes_structured
39
+ end
40
+
41
+ def _log_count(msg)
42
+ log "count: #{count} | #{msg}"
43
+ end
44
+
45
+ def count() = get_lists.flatten.count
46
+
47
+ #
48
+
49
+ def get_liza_categories
50
+ ["unit", "helper_units", "systemic_units", "subsystemic_units", "extra_tests"]
51
+ end
52
+
53
+ #
54
+
55
+ def get_liza_classes_structured
56
+ ret = {}
57
+ liza_classes = ZeitwerkShell.get_units_in_core
58
+
59
+ ret["unit"] =
60
+ liza_classes
61
+ .select { _1.source_location_radical.include? "/liza/unit" }
62
+ .sort_by { _1.to_s }
63
+
64
+ ret["helper_units"] =
65
+ liza_classes
66
+ .select { _1.source_location_radical.include? "/liza/helper_units" }
67
+ .sort_by { _1.to_s }
68
+
69
+ ret["systemic_units"] =
70
+ liza_classes
71
+ .select { _1.source_location_radical.include? "/liza/systemic_units" }
72
+ .sort_by { _1.to_s }
73
+
74
+ ret["subsystemic_units"] =
75
+ liza_classes
76
+ .select { _1.source_location_radical.include? "/liza/subsystemic_units" }
77
+ .sort_by { _1.to_s }
78
+
79
+ ret["extra_tests"] =
80
+ liza_classes
81
+ .select { _1.source_location_radical.include? "/liza/extra_tests" }
82
+ .sort_by { _1.to_s }
83
+
84
+ ret
85
+ end
86
+
87
+ def get_system_classes_structured
88
+ ret = {}
89
+
90
+ App.systems.each do |system_name, system|
91
+ tree = ret[system_name.to_s] = {}
92
+
93
+ system_classes = ZeitwerkShell.get_units_in_system system
94
+ array = system_classes.select { _1.system == system }
95
+
96
+ part_classes = array.select { _1.source_location_radical.include? "/#{system_name}_system/parts/" }
97
+
98
+ tree["system"] = [system, system.test_class]
99
+ tree["box"] = [system.box, system.box.test_class]
100
+ tree["parts"] = part_classes
101
+ tree["controllers"] = {}
102
+ tree["subsystems"] = {}
103
+
104
+ array.delete system
105
+ array.delete system.test_class
106
+ array.delete system.box
107
+ array.delete system.box.test_class
108
+ part_classes.each do |klass|
109
+ array.delete klass
110
+ end
111
+
112
+ system.subsystems.values.each do |subsystem|
113
+ part_classes = array.select { _1.source_location_radical.include?("/subsystems/#{subsystem.last_namespace.downcase}/parts/") }
114
+ tree["subsystems"][subsystem.subsystem_token] = {}
115
+ tree["subsystems"][subsystem.subsystem_token]["parts"] = part_classes
116
+ tree["subsystems"][subsystem.subsystem_token]["panel"] = [subsystem.panel.class, subsystem.panel.class.test_class]
117
+ tree["subsystems"][subsystem.subsystem_token]["controller"] = [subsystem, subsystem.test_class]
118
+ tree["subsystems"][subsystem.subsystem_token]["controllers"] = {}
119
+
120
+ array.delete subsystem.panel.class
121
+ array.delete subsystem.panel.class.test_class
122
+ array.delete subsystem
123
+ array.delete subsystem.test_class
124
+ part_classes.each do |klass|
125
+ array.delete klass
126
+ end
127
+
128
+ end
129
+
130
+ array.each do |klass|
131
+ radical = klass.source_location_radical
132
+ tree = ret[system_name.to_s] or raise "no tree for #{system_name}"
133
+
134
+ if radical.include? "/#{system_name}_system/subsystems"
135
+ name = radical.split("_system/subsystems/").last.split("/").first
136
+ subsystem = system.const name
137
+ klasses = tree["subsystems"][subsystem.subsystem_token]["controllers"][klass.division.last_namespace] ||= []
138
+ else
139
+ klasses = tree["controllers"][klass.division.last_namespace] ||= []
140
+ end
141
+
142
+ klasses << klass
143
+ end
144
+
145
+ end
146
+
147
+ ret.each do |system_name, tree|
148
+ tree["subsystems"].each do |subsystem_name, subsystem_tree|
149
+ subsystem_tree["controllers"].values.each do |controllers|
150
+ controllers.sort_by! &:to_s
151
+ end
152
+ end
153
+ tree["controllers"].values.each do |controllers|
154
+ controllers.sort_by! &:to_s
155
+ end
156
+ end
157
+
158
+ ret
159
+ end
160
+
161
+ def get_object_classes_structured
162
+ ret = {}
163
+
164
+ object_classes = ZeitwerkShell.get_units_in_app.sort_by { _1.source_location_radical }
165
+
166
+ App.systems.each do |system_name, system|
167
+ tree = ret[system_name.to_s] = {}
168
+
169
+ a = object_classes.select { _1.system == system }
170
+
171
+ tree["box"] = []
172
+ box = Liza.const "#{system_name}_box"
173
+ if box.namespace == Object
174
+ tree["box"] << box
175
+ a.delete box
176
+ end
177
+
178
+ tree["controllers"] = {}
179
+
180
+ a.each do |klass|
181
+ tree["controllers"][klass.subsystem.subsystem_token] ||= {}
182
+ tree["controllers"][klass.subsystem.subsystem_token][klass.division.last_namespace] ||= []
183
+ tree["controllers"][klass.subsystem.subsystem_token][klass.division.last_namespace] << klass
184
+ end
185
+
186
+ system.subsystems.values.each do |subsystem|
187
+ tree["controllers"][subsystem.subsystem_token]&.each do |division, klasses|
188
+ klasses.sort_by! &:to_s
189
+ end
190
+ end
191
+
192
+ end
193
+
194
+ ret
195
+ end
196
+
197
+ section :sorted
198
+
199
+ def sorted_writable_units_in_systems
200
+ sorted_units.select { _1.source_location_radical.start_with? App.systems_directory.to_s }
201
+ end
202
+
203
+ def sorted_writable_units
204
+ sorted_units.select { _1.source_location_radical.start_with? App.root.to_s }
205
+ end
206
+
207
+ def sorted_units
208
+ begin
209
+ ret = []
210
+ consts[:liza].each do |category, classes|
211
+ classes.each do |klass|
212
+ ret << klass
213
+ end
214
+ end
215
+ consts[:systems].each do |system_name, tree|
216
+ tree["box"].each do |klass|
217
+ ret << klass
218
+ end
219
+ tree["parts"].each do |klass|
220
+ ret << klass
221
+ end
222
+ tree["controllers"].values.each do |controllers|
223
+ controllers.each do |klass|
224
+ ret << klass
225
+ end
226
+ end
227
+
228
+ tree["subsystems"].each do |subsystem_name, subsystem_tree|
229
+ subsystem_tree["panel"].each do |klass|
230
+ ret << klass
231
+ end
232
+ subsystem_tree["parts"].each do |klass|
233
+ ret << klass
234
+ end
235
+ subsystem_tree["controller"].each do |klass|
236
+ ret << klass
237
+ end
238
+ subsystem_tree["controllers"].values.each do |controllers|
239
+ controllers.each do |klass|
240
+ ret << klass
241
+ end
242
+ end
243
+ end
244
+ end
245
+ consts[:app].each do |system_name, tree|
246
+ tree["box"].each do |klass|
247
+ ret << klass
248
+ end
249
+ tree["controllers"].values.each do |divisions|
250
+ divisions.values.each do |controllers|
251
+ controllers.each do |klass|
252
+ ret << klass
253
+ end
254
+ end
255
+ end
256
+ end
257
+ ret.freeze
258
+ end
259
+ end
260
+
261
+ section :lists
262
+
263
+ def get_units
264
+ get_lists.flatten.select { _1 <= Liza::Unit }
265
+ end
266
+
267
+ def get_test_units
268
+ units.select { _1 <= Liza::UnitTest }
269
+ end
270
+
271
+ def get_lists
272
+ ret = []
273
+
274
+ ret << consts[:top_level]
275
+
276
+ consts[:liza].each do |category, classes|
277
+ ret << classes
278
+ end
279
+
280
+ consts[:systems].each do |system_name, tree_system|
281
+ ret << tree_system["system"]
282
+ ret << tree_system["box"]
283
+ ret << tree_system["parts"]
284
+ tree_system["controllers"].values.each do |klasses|
285
+ ret << klasses
286
+ end
287
+ tree_system["subsystems"].values.each do |tree_subsystem|
288
+ ret << tree_subsystem["panel"]
289
+ ret << tree_subsystem["controller"]
290
+ tree_subsystem["controllers"].values.each do |klasses|
291
+ ret << klasses
292
+ end
293
+ end
294
+ end
295
+
296
+ consts[:app].each do |system_name, tree_system|
297
+ ret << tree_system["box"]
298
+ tree_system["controllers"].each do |_controller, structure|
299
+
300
+ structure.each do |_division, klasses|
301
+ ret << klasses
302
+ end
303
+ end
304
+ end
305
+
306
+ ret
307
+ end
308
+
309
+ section :filters
310
+
311
+ def filter_out_units(*units)
312
+ log_filter units.inspect
313
+ check
314
+
315
+ get_lists.each do |list|
316
+ list.reject! { units.include? _1 }
317
+ end
318
+
319
+ self
320
+ end
321
+
322
+ def filter_in_units(*units)
323
+ log_filter units.inspect
324
+ check
325
+
326
+ get_lists.each do |list|
327
+ list.select! { units.include? _1 }
328
+ end
329
+
330
+ self
331
+ end
332
+
333
+ def filter_by_unit(unit_class)
334
+ log_filter unit_class.inspect
335
+ check
336
+
337
+ get_lists.each do |list|
338
+ list.reject! { _1.class == Module }
339
+ list.select! { _1 <= unit_class }
340
+ end
341
+
342
+ self
343
+ end
344
+
345
+ def filter_by_domains(domains)
346
+ log_filter domains.inspect
347
+ check
348
+ _log_count ""
349
+
350
+ system_names = domains - ["core", "app"]
351
+ is_core_included = domains.include? "core"
352
+ is_app_included = domains.include? "app"
353
+
354
+ unless is_core_included
355
+ _log_count "core is not included in the domains"
356
+
357
+ consts[:top_level].clear
358
+ consts[:liza].values.map &:clear
359
+ end
360
+
361
+ consts[:systems].reject do |system_name, tree_system|
362
+ system_names.include? system_name
363
+ end.each do |system_name, tree_system|
364
+ tree_system["system"].clear
365
+ tree_system["box"].clear
366
+ tree_system["parts"].clear
367
+ tree_system["controllers"].values.map &:clear
368
+ tree_system["subsystems"].values.map { _1.values.map &:clear }
369
+
370
+ _log_count "#{system_name} is not included in the domains"
371
+ end
372
+
373
+ unless is_app_included
374
+ consts[:app].each do |system_name, tree_system|
375
+ tree_system["box"].clear
376
+ tree_system["controllers"].values.each { _1.values.map &:clear }
377
+ end
378
+
379
+ _log_count "app is not included in the domains"
380
+ end
381
+
382
+ _log_count ""
383
+
384
+ self
385
+ end
386
+
387
+ def filter_by_systems(*systems)
388
+ log_filter systems.inspect
389
+ systems = systems.map { (_1.is_a? Symbol) ? App.systems[_1] : _1 }
390
+ check
391
+
392
+ get_lists.each do |list|
393
+ list.select! { (_1 <= Liza::Unit) ? (systems.include? _1.system) : true }
394
+ end
395
+
396
+ self
397
+ end
398
+
399
+ def filter_by_name_including(name)
400
+ name = name.downcase
401
+ log_filter name.inspect
402
+ check
403
+
404
+ get_lists.each do |list|
405
+ list.select! { _1.to_s.snakecase.include? name }
406
+ end
407
+
408
+ self
409
+ end
410
+
411
+ def filter_by_starting_with(name)
412
+ name = name.downcase
413
+ log_filter name.inspect
414
+ check
415
+
416
+ get_lists.each do |list|
417
+ list.select! { _1.last_namespace.snakecase.start_with? name }
418
+ end
419
+
420
+ self
421
+ end
422
+
423
+ def filter_by_any_name_including(names)
424
+ names = names.map &:snakecase
425
+ log_filter names.inspect
426
+ check
427
+
428
+ get_lists.each do |list|
429
+ list.select! { |klass| names.any? { |name| klass.last_namespace.snakecase.include? name } }
430
+ end
431
+
432
+ self
433
+ end
434
+
435
+ def filter_by_including_all_names(names)
436
+ names = names.map &:snakecase
437
+ log_filter names.inspect
438
+ check
439
+
440
+ get_lists.each do |list|
441
+ list.select! { |klass| names.all? { |name| klass.last_namespace.snakecase.include? name } }
442
+ end
443
+
444
+ self
445
+ end
446
+
447
+ def filter_by_including_any_name(names)
448
+ filter_by_any_name_including(names)
449
+ end
450
+
451
+ def log_filter(string)
452
+ log (stick :black, :light_green, string), kaller: caller if log? :higher
453
+ end
454
+
455
+ def filter_history
456
+ @filter_history ||= []
457
+ end
458
+
459
+ def check
460
+ filter_history << get_lists.map(&:dup)
461
+ _log_history
462
+ end
463
+
464
+ def undo_filter!
465
+ old_lists = filter_history.pop
466
+ get_lists.each.with_index do |list, i|
467
+ list.clear
468
+ list.concat old_lists[i]
469
+ end
470
+ _log_history
471
+ end
472
+
473
+ def _log_history
474
+ log_filter "filter_history size: #{filter_history.size}, results size: #{get_lists.map(&:size).sum}"
475
+ end
476
+
477
+ section :domains
478
+
479
+ # Returns an array of domains representing the core, systems, and app.
480
+ #
481
+ # Each Domain contains the name, color, and layers of the core, systems, and app.
482
+ #
483
+ # @return [Array<Domain>] An array of domains.
484
+ #
485
+ # @example
486
+ # domains = app_shell.get_domains
487
+ # domains.each do |domain|
488
+ # log domain.name
489
+ # log domain.color
490
+ # domain.layers.each do |layer|
491
+ # log layer.name
492
+ # log layer.path
493
+ # layer.objects.each do |object|
494
+ # log object
495
+ # end
496
+ # end
497
+ # end
498
+ #
499
+ def get_domains
500
+ ret = []
501
+
502
+ log_filter "reading the domain of the core"
503
+
504
+ ret << Domain.new(
505
+ name: "core",
506
+ color: :white,
507
+ layers: get_layers_for_core
508
+ )
509
+
510
+ log_filter "reading the domains of the systems"
511
+
512
+ App.systems.values.each do |system|
513
+ ret << Domain.new(
514
+ name: system.to_s,
515
+ color: system.color,
516
+ layers: get_layers_for_system(system)
517
+ )
518
+ end
519
+
520
+ log_filter "reading the domain of the app"
521
+
522
+ ret << Domain.new(
523
+ name: "app",
524
+ color: :white,
525
+ layers: get_layers_for_app
526
+ )
527
+
528
+ ret
529
+ end
530
+
531
+ def get_layers_for_core
532
+ ret = []
533
+
534
+ ret << Layer.new(
535
+ level: 1,
536
+ name: "top level",
537
+ color: :white,
538
+ path: "lib/",
539
+ objects: consts[:top_level]
540
+ )
541
+
542
+ consts[:liza].each do |category, classes|
543
+ path = "lib/liza/#{category}/"
544
+ ret << Layer.new(
545
+ level: 2,
546
+ name: category,
547
+ color: :white,
548
+ path: ,
549
+ objects: classes
550
+ )
551
+ end
552
+
553
+ ret
554
+ end
555
+
556
+ def get_layers_for_system(system)
557
+ ret = []
558
+
559
+ tree_system = consts[:systems][system.token.to_s]
560
+ path = system.source_location_radical.sub("#{App.root}/", "")
561
+ ret << Layer.new(
562
+ level: 1,
563
+ name: system.to_s,
564
+ color: system.color,
565
+ path: ,
566
+ objects: tree_system["system"] + tree_system["box"]
567
+ )
568
+
569
+ tree_system["controllers"].each do |division_name, klasses|
570
+ division = Liza.const division_name
571
+ path = system.source_location_radical.sub("#{App.root}/", "")
572
+ path << "/#{division.plural}/"
573
+
574
+ name = division.plural
575
+ color = division.subsystem.system.color
576
+
577
+ ret << Layer.new(
578
+ level: 3,
579
+ name: ,
580
+ color: ,
581
+ path: ,
582
+ objects: klasses
583
+ )
584
+ end
585
+
586
+ tree_system["subsystems"].each do |subsystem_token, tree_subsystem|
587
+ subsystem = system.const subsystem_token
588
+ path = system.source_location_radical.sub("#{App.root}/", "")
589
+ path << "/subsystems/#{subsystem.singular}/"
590
+ ret << Layer.new(
591
+ level: 2,
592
+ name: subsystem.to_s,
593
+ color: system.color,
594
+ path: ,
595
+ objects: tree_subsystem["controller"] + tree_subsystem["panel"]
596
+ )
597
+
598
+ tree_subsystem["controllers"].each do |controller_name, klasses|
599
+ controller = Liza.const controller_name
600
+ path = system.source_location_radical.sub("#{App.root}/", "")
601
+ path << "/subsystems/#{subsystem.singular}/#{controller.division.plural}/"
602
+
603
+ name = controller.plural
604
+ color = controller.subsystem.system.color
605
+
606
+ ret << Layer.new(
607
+ level: 3,
608
+ name: ,
609
+ color: ,
610
+ path: ,
611
+ objects: klasses
612
+ )
613
+ end
614
+ end
615
+
616
+ ret
617
+ end
618
+
619
+ def get_layers_for_app
620
+ ret = []
621
+
622
+ ret << Layer.new(
623
+ level: 1,
624
+ name: "App",
625
+ color: system.color,
626
+ path: "#{App.directory_name}/",
627
+ objects: []
628
+ )
629
+
630
+ consts[:app].each do |system_name, tree_system|
631
+ system = App.systems[system_name.to_sym]
632
+ ret << Layer.new(
633
+ level: 2,
634
+ name: system_name,
635
+ color: system.color,
636
+ path: "app/#{system_name}_box.rb",
637
+ objects: tree_system["box"]
638
+ )
639
+ tree_system["controllers"].each do |controller_name, structure|
640
+ structure.each do |division_name, klasses|
641
+ division = Liza.const division_name
642
+ ret << Layer.new(
643
+ level: 3,
644
+ name: division.plural,
645
+ color: system.color,
646
+ path: "app/#{system_name}/#{division.plural}/",
647
+ objects: klasses
648
+ )
649
+ end
650
+ end
651
+ end
652
+
653
+ ret
654
+ end
655
+
656
+ # A PORO representing a top-level namespace of LizaRB.
657
+ class Domain
658
+ def initialize(name: , color: , layers: )
659
+ @name = name
660
+ @color = color
661
+ @layers = layers
662
+ end
663
+
664
+ attr_reader :name, :color, :layers
665
+
666
+ def empty?
667
+ layers.map(&:objects).flatten.empty?
668
+ end
669
+ end
670
+
671
+ # A PORO representing a layer in a namespace of LizaRB.
672
+ class Layer
673
+ def initialize(level: , name: , color: , path: , objects: )
674
+ @level = level
675
+ @name = name
676
+ @color = color
677
+ @path = path
678
+ @objects = objects
679
+ end
680
+
681
+ attr_reader :level, :name, :color, :path, :objects
682
+ end
683
+
684
+ end