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
data/lib/liza/unit.rb CHANGED
@@ -1,62 +1,194 @@
1
1
  class Liza::Unit
2
2
 
3
+ # Define a section
4
+ def self.section(name)
5
+ @current_section = name.to_sym
6
+ end
7
+
8
+ # Retrieve the sections
9
+ def self.sections
10
+ @sections ||= Hash.new { |h, k| h[k] = { constants: [], class_methods: [], instance_methods: [] } }
11
+ end
12
+
13
+ # Hook into singleton method definition to capture class methods under the current section
14
+ def self.singleton_method_added(method_name)
15
+ sections[@current_section || :default][:class_methods] << method_name
16
+ end
17
+
18
+ singleton_method_added :section
19
+ singleton_method_added :sections
20
+
21
+ # Hook into method definition to capture instance methods under the current section
22
+ def self.method_added(method_name)
23
+ sections[@current_section || :default][:instance_methods] << method_name
24
+ end
25
+
26
+ # Hook into constant definition to capture constants under the current section
27
+ def self.const_added(name)
28
+ super
29
+ # ensures dynamic constants are not captured
30
+ return unless const_defined? name
31
+ # ensures constants defined in the System class are not captured
32
+ return if self < Liza::System
33
+ sections[@current_section || :default][:constants] << name
34
+ end
35
+
36
+ # Alias for class_methods_defined
37
+ def self.methods_defined() = class_methods_defined
38
+
39
+ # Retrieves all defined class methods.
40
+ # @return [Array<Symbol>] an array of all defined class method names
41
+ def self.class_methods_defined() = sections.values.map { _1[:class_methods] }.flatten
42
+
43
+ # Retrieves all defined instance methods.
44
+ # @return [Array<Symbol>] an array of all defined instance method names
45
+ def self.instance_methods_defined() = sections.values.map { _1[:instance_methods] }.flatten
46
+
47
+ # Retrieves all defined constants.
48
+ # @return [Array<Symbol>] an array of all defined constant names
49
+ def self.constants_defined() = sections.values.map { _1[:constants] }.flatten
50
+
3
51
  # ERROR
4
52
 
5
53
  class Error < Liza::Error; end
6
54
 
7
55
  # PART
8
56
 
9
- def self.part key, klass = nil, system: nil
10
- Lizarb.connect_part self, key, klass, system
57
+ # Inserts a part into the unit.
58
+ # @param key [Symbol] the key of the part
59
+ # @param insertion [Symbol] the insertion method
60
+ def self.part(key, insertion = :default)
61
+ part_class = Liza.const "#{key}_part"
62
+ insertion = part_class.insertion(insertion)
63
+
64
+ section "#{key}_part"
65
+ class_exec(&insertion)
11
66
  end
12
67
 
13
68
  # CONST MISSING
14
69
 
15
- if Lizarb.ruby_supports_raise_cause?
16
-
17
- def self.const_missing name
18
- Liza.const name
19
- rescue Liza::ConstNotFound
70
+ def self.const_missing name
71
+ Liza.const name
72
+ rescue Liza::ConstNotFound
73
+ if Lizarb.ruby_supports_raise_cause?
20
74
  raise NameError, "uninitialized constant #{name}", caller[1..], cause: nil
75
+ else
76
+ raise NameError, "uninitialized constant #{name}", caller
77
+ end
78
+ end
79
+
80
+ section :setting
81
+
82
+ def self.settings
83
+ @settings ||= {}
84
+ end
85
+
86
+ def self.get key
87
+ return settings[key] if settings.has_key? key
88
+
89
+ found = nil
90
+
91
+ for klass in ancestors
92
+ break unless klass.respond_to? :settings
93
+
94
+ if klass.settings.has_key? key
95
+ found = klass.settings[key]
96
+
97
+ break
98
+ end
21
99
  end
22
100
 
23
- else
101
+ found = settings[key] = found.dup if found.is_a? Enumerable
102
+
103
+ found
104
+ end
105
+
106
+ def self.set key, value
107
+ settings[key] = value
108
+ value
109
+ end
24
110
 
25
- def self.const_missing name
26
- Liza.const name
27
- rescue Liza::ConstNotFound
28
- raise NameError, "uninitialized constant #{name}", caller[1..]
111
+ def self.add list, key = nil, value
112
+ if key
113
+ fetch(list) { Hash.new }[key] = value
114
+ else
115
+ fetch(list) { Set.new } << value
29
116
  end
117
+ end
30
118
 
119
+ def self.fetch key, &block
120
+ x = get key
121
+ x ||= set key, instance_eval(&block)
122
+ x
31
123
  end
32
124
 
33
- # PARTS
125
+ def settings
126
+ @settings ||= {}
127
+ end
34
128
 
35
- part :unit_classes
129
+ def get key
130
+ return settings[key] if settings.has_key? key
36
131
 
37
- part :unit_logging
132
+ self.class.get key
133
+ end
38
134
 
39
- part :unit_methods
135
+ def set key, value
136
+ settings[key] = value
137
+ end
40
138
 
41
- part :unit_procedure
42
-
43
- class RenderError < Error; end
44
- class RendererNotFound < RenderError; end
45
- class RenderStackIsFull < RenderError; end
46
- class RenderStackIsEmpty < RenderError; end
47
- part :unit_renderer
139
+ def add list, key = nil, value
140
+ if key
141
+ fetch(list) { Hash.new }[key] = value
142
+ else
143
+ fetch(list) { Set.new } << value
144
+ end
145
+ end
48
146
 
49
- part :unit_settings
147
+ def fetch key, &block
148
+ x = get key
149
+ x ||= set key, instance_eval(&block)
150
+ x
151
+ end
152
+
153
+ section :associating
154
+
155
+ def self.namespace
156
+ return @namespace if defined? @namespace
157
+
158
+ @namespace ||= Object unless to_s.include? "::"
159
+ @namespace ||= Liza if to_s.start_with? "Liza::"
160
+ @namespace ||= system
161
+ @namespace
162
+ end
163
+
164
+ def self.subclasses_select system:
165
+ subclasses.select { _1.system? system }
166
+ end
167
+
168
+ def self.descendants_select system:
169
+ descendants.select { _1.system? system }
170
+ end
171
+
172
+ def self.subunits
173
+ Lizarb.eager_load!
174
+ subclasses.select { _1.name&.start_with?(/[A-Z]/) }
175
+ end
176
+
177
+ def self.system? system
178
+ system = Liza.const "#{system}_system" if system.is_a? Symbol
179
+ system == get(:system)
180
+ end
50
181
 
51
182
  # TEST
52
183
 
53
184
  def self.test_class
54
- @test_class ||=
55
- if first_namespace == "Liza"
56
- Liza.const_get "#{last_namespace}Test"
57
- else
58
- Object.const_get "#{name}Test"
59
- end
185
+ if first_namespace == "Liza"
186
+ Liza.const_get "#{last_namespace}Test"
187
+ elsif self < Liza::System
188
+ const "#{last_namespace}Test"
189
+ else
190
+ Object.const_get "#{name}Test"
191
+ end
60
192
  end
61
193
 
62
194
  # CONTROLLER
@@ -84,11 +216,467 @@ class Liza::Unit
84
216
 
85
217
  public :system
86
218
 
219
+ section :erroring
220
+
221
+ def self.errors
222
+ fetch(:errors) { {} }
223
+ end
224
+
225
+ def self.define_error(error_key, &block)
226
+ self.const_set :Error, Class.new(StandardError) unless defined? Error
227
+
228
+ error_class = Error
229
+ error_class = Class.new error_class
230
+ error_class = self.const_set "#{error_key.to_s.camelcase}Error", error_class
231
+
232
+ errors[error_key] = [error_class, block]
233
+ end
234
+
235
+ def self.raise_error(error_key, *args, kaller: caller)
236
+ error, message_block = errors[error_key]
237
+ raise error, message_block.call(args), kaller
238
+ end
239
+
240
+ def raise_error(error_key, *args, kaller: caller)
241
+ error, message_block = self.class.errors[error_key]
242
+ raise error, message_block.call(args), kaller
243
+ end
244
+
245
+ section :logging
246
+
247
+ # LOG
248
+
249
+ def self.log_levels()=App::LOG_LEVELS
250
+ def log_levels()= App::LOG_LEVELS
251
+
252
+ def self.log(
253
+ log_level = App::DEFAULT_LOG_LEVEL,
254
+ object,
255
+ unit: self,
256
+ method_name: nil,
257
+ sidebar: nil,
258
+ kaller: caller
259
+ )
260
+ log_level = log_levels[log_level] if log_level.is_a? Symbol
261
+ raise "invalid log_level `#{log_level}`" unless log_levels.values.include? log_level
262
+ return unless log_level? log_level
263
+
264
+ unit_class = unit.is_a?(Class) ? unit : unit.class
265
+ object_class = object.is_a?(Class) ? object : object.class
266
+
267
+ env = {}
268
+ env[:type] = :log
269
+ env[:unit] = unit
270
+ env[:unit_class] = unit_class
271
+ env[:method_name] = method_name
272
+ env[:sidebar] = sidebar
273
+ env[:message_log_level] = log_level
274
+ env[:unit_log_level] = unit.log_level
275
+ env[:caller] = kaller
276
+ env[:object] = object
277
+ env[:object_class] = object_class
278
+
279
+ DevBox.logg env
280
+ end
281
+
282
+ def log(
283
+ log_level = App::DEFAULT_LOG_LEVEL,
284
+ object,
285
+ unit: self,
286
+ method_name: nil,
287
+ sidebar: nil,
288
+ kaller: caller
289
+ )
290
+ log_level = log_levels[log_level] if log_level.is_a? Symbol
291
+ raise "invalid log_level `#{log_level}`" unless log_levels.values.include? log_level
292
+ return unless log_level? log_level
293
+
294
+ unit_class = unit.is_a?(Class) ? unit : unit.class
295
+ object_class = object.is_a?(Class) ? object : object.class
296
+
297
+ env = {}
298
+ env[:type] = :log
299
+ env[:unit] = unit
300
+ env[:unit_class] = unit_class
301
+ env[:method_name] = method_name
302
+ env[:sidebar] = sidebar
303
+ env[:message_log_level] = log_level
304
+ env[:unit_log_level] = unit.log_level
305
+ env[:caller] = kaller
306
+ env[:object] = object
307
+ env[:object_class] = object_class
308
+
309
+ DevBox.logg env
310
+ end
311
+
312
+ def self.stick(*args)
313
+ StickLog.new(*args)
314
+ end
315
+
316
+ def stick(*args)
317
+ StickLog.new(*args)
318
+ end
319
+
320
+ def self.sticks(*args)
321
+ StickLog.bundle(*args)
322
+ end
323
+
324
+ def sticks(*args)
325
+ StickLog.bundle(*args)
326
+ end
327
+
328
+ #
329
+
330
+ def self.log_level new_value = nil
331
+ if new_value
332
+ new_value = log_levels[new_value] if new_value.is_a? Symbol
333
+ raise "invalid log_level `#{new_value}`" unless log_levels.values.include? new_value
334
+ set :log_level, new_value
335
+ else
336
+ get :log_level
337
+ end
338
+ end
339
+
340
+ def log_level new_value = nil
341
+ if new_value
342
+ new_value = log_levels[new_value] if new_value.is_a? Symbol
343
+ raise "invalid log_level `#{new_value}`" unless log_levels.values.include? new_value
344
+ set :log_level, new_value
345
+ else
346
+ get :log_level
347
+ end
348
+ end
349
+
350
+ #
351
+
352
+ def self.log_hash log_level = :normal, hash, prefix: "", kaller: caller[1..-1]
353
+ prefix = prefix.to_s
354
+ size = hash.keys.map(&:to_s).map(&:size).max
355
+
356
+ hash.each do |k,v|
357
+ log log_level, "#{prefix}#{k.to_s.ljust size} = #{v.to_s.inspect}", kaller: kaller
358
+ end
359
+ end
360
+
361
+ def log_hash log_level = :normal, hash, prefix: "", kaller: caller[1..-1]
362
+ prefix = prefix.to_s
363
+ size = hash.keys.map(&:to_s).map(&:size).max
364
+
365
+ hash.each do |k,v|
366
+ log log_level, "#{prefix}#{k.to_s.ljust size} = #{v.to_s.inspect}", kaller: kaller
367
+ end
368
+ end
369
+
370
+ #
371
+
372
+ def self.log_array log_level = :normal, array, prefix: "", kaller: caller[1..-1]
373
+ prefix = prefix.to_s
374
+ size = array.size.to_s.size+1
375
+
376
+ array.each.with_index do |v, i|
377
+ log log_level, "#{prefix}#{i.to_s.ljust size} = #{v.inspect}", kaller: kaller
378
+ end
379
+ end
380
+
381
+ def log_array log_level = :normal, array, prefix: "", kaller: caller[1..-1]
382
+ prefix = prefix.to_s
383
+ size = array.size.to_s.size+1
384
+
385
+ array.each.with_index do |v, i|
386
+ log log_level, "#{prefix}#{i.to_s.ljust size} = #{v.inspect}", kaller: kaller
387
+ end
388
+ end
389
+
390
+ #
391
+
392
+ def self.log?(...)= log_level?(...)
393
+ def log?(...)= log_level?(...)
394
+
395
+ def self.log_level? log_level = App::DEFAULT_LOG_LEVEL
396
+ log_level = log_levels[log_level] if log_level.is_a? Symbol
397
+ log_level <= self.log_level
398
+ end
399
+
400
+ def log_level? log_level = App::DEFAULT_LOG_LEVEL
401
+ log_level = log_levels[log_level] if log_level.is_a? Symbol
402
+ log_level <= self.log_level
403
+ end
404
+
405
+ section :sleep
406
+
407
+ def self.sleep(seconds)
408
+ log :lower, "Sleeping for #{seconds}s... #{ "| #{caller[0]}" if log? :low }"
409
+ Kernel.sleep seconds
410
+ end
411
+
412
+ def sleep(seconds)
413
+ log :lower, "Sleeping for #{seconds}s... #{ caller[0] if log? :low }"
414
+ Kernel.sleep seconds
415
+ end
416
+
417
+
418
+ section :rendering
419
+
420
+ define_error(:renderer_not_found) do |args|
421
+ "ERB \"#{args[0]}.#{args[1]}.erb\" not found"
422
+ end
423
+
424
+ define_error(:render_stack_is_empty) do |args|
425
+ <<~STRING
426
+ You called render without ERB keys,
427
+ but the render stack is empty.
428
+ Did you forget to add ERB keys?
429
+ STRING
430
+ end
431
+
432
+ define_error(:render_stack_is_full) do |args|
433
+ <<~STRING
434
+ You called render with too many ERB keys.
435
+ Did you accidentally fall into an infinite loop?
436
+ STRING
437
+ end
438
+
439
+ def render!(
440
+ *keys,
441
+ format: nil,
442
+ converted: false,
443
+ formatted: false
444
+ )
445
+ render(
446
+ *keys,
447
+ format: format,
448
+ converted: converted,
449
+ formatted: formatted,
450
+ allow_missing: false
451
+ )
452
+ end
453
+
454
+ def render(
455
+ *keys,
456
+ format: nil,
457
+ converted: false,
458
+ formatted: false,
459
+ allow_missing: true
460
+ )
461
+ original_render_format = @render_format
462
+ format = @render_format ||= @format if format.nil?
463
+ raise "@render_format or @format must be set, or format keyword-argument must be given" if format.nil?
464
+ @render_format = format = format.to_sym
465
+
466
+ log_rendering = log_level? :high
467
+
468
+ if keys.any?
469
+ log_render_in keys, kaller: caller if log_rendering
470
+
471
+ erbs = self.class.erbs_for format, keys, allow_missing: allow_missing
472
+ erbs.to_a.reverse.each do |key, erb|
473
+ if true
474
+ t = Time.now
475
+ s = erb.result binding, self
476
+ log_render_out "#{erb.name}.#{erb.format}", s.length, t.diff, kaller: caller if log_rendering
477
+ end
478
+
479
+ if converted and DevBox[:shell].convert? erb.format
480
+ t = Time.now
481
+ convert_env = {format: format, convert_in: s}
482
+ DevBox.convert(convert_env)
483
+ s = convert_env[:convert_out]
484
+ log_render_convert "#{erb.name}.#{format}", s.length, t.diff, kaller: caller if log_rendering
485
+ end
486
+
487
+ if formatted and DevBox[:shell].format? erb.format
488
+ t = Time.now
489
+ format_env = {format: format, format_in: s}
490
+ DevBox.format(format_env)
491
+ s = format_env[:format_out]
492
+ log_render_format "#{erb.name}.#{format}", s.length, t.diff, kaller: caller if log_rendering
493
+ end
494
+
495
+ render_stack.push s
496
+
497
+ raise_error :render_stack_is_full, kaller: caller if render_stack.size > 10
498
+ end
499
+
500
+ @render_format = original_render_format
501
+ render_stack.pop
502
+ elsif render_stack.any?
503
+ @render_format = original_render_format
504
+ render_stack.pop
505
+ else
506
+ raise_error :render_stack_is_empty, kaller: caller
507
+ end
508
+ end
509
+
510
+ def render_stack
511
+ @render_stack ||= []
512
+ end
513
+
514
+ def log_render_in keys, kaller:
515
+ if render_stack.any?
516
+ log "render → #{keys.join " "}", kaller: kaller
517
+ else
518
+ log "render #{"→ " * keys.size}#{keys.join " "}", kaller: kaller
519
+ end
520
+ end
521
+
522
+ def log_render_out key, length, t, kaller:
523
+ if render_stack.any?
524
+ log "render #{"← #{key}".ljust_blanks 25} #{length.to_s.rjust_blanks 4} characters in #{t}s", kaller: kaller
525
+ else
526
+ log "render #{"← #{key}".ljust_blanks 25} #{length.to_s.rjust_blanks 4} characters in #{t}s", kaller: kaller
527
+ end
528
+ end
529
+
530
+ def log_render_convert key, length, t, kaller:
531
+ log "convert #{"#{key}".ljust_blanks 23} #{length.to_s.rjust_blanks 4} characters in #{t}s", kaller: kaller
532
+ end
533
+
534
+ def log_render_format key, length, t, kaller:
535
+ log "format #{"#{key}".ljust_blanks 23} #{length.to_s.rjust_blanks 4} characters in #{t}s", kaller: kaller
536
+ end
537
+
538
+ # class level methods
539
+
540
+ def self.erbs_defined
541
+ @erbs_defined ||= ErbShell.load(self.source_location_radical)
542
+ end
543
+
544
+ def self.erbs_available ref = Liza::Unit
545
+ @erbs_available ||= begin
546
+ h = {}
547
+
548
+ ancestors.take_while do |ancestor|
549
+ ancestor != ref
550
+ end.reverse.each do |ancestor|
551
+ ancestor.erbs_defined.each do |erb|
552
+ h[erb.key] = erb
553
+ end
554
+ end
555
+
556
+ h.values
557
+ end
558
+ end
559
+
560
+ def self.renderable_names
561
+ erbs_available.map(&:name).uniq
562
+ end
563
+
564
+ def self.renderable_formats_for name_string
565
+ erbs_available.select { _1.name == name_string }
566
+ end
567
+
568
+ def self.erbs_for format, names, allow_missing:
569
+ @erbs_for ||= {}
570
+ k = "#{format}-#{names.join("-")}"
571
+ @erbs_for[k] ||= _erbs_for format, names, allow_missing:
572
+ end
573
+
574
+ def self._erbs_for format, names, allow_missing:
575
+ ret = {}
576
+
577
+ log_erb = log_level? :higher
578
+
579
+ converters = DevBox[:shell].converters_to[format] || []
580
+ converters_from = converters.map { _1[:from] }
581
+ format_with_converters_from = [format, *converters_from]
582
+ log "names #{stick :light_green, names.join(" ")} | formats #{stick :light_green, format_with_converters_from.join(" ")}" if log_erb
583
+
584
+ names.each do |name|
585
+ name_string = name.to_s
586
+ log stick :onyx, " #{name_string}#{".*.erb # filtering name "} #{renderable_names.join(" ")}" if log_erb
587
+
588
+ name_candidates = renderable_formats_for name_string
589
+ if name_candidates.none?
590
+
591
+ if allow_missing
592
+ log stick :light_yellow, " #{name_string}.#{format}.erb not found, but allow_missing: true" if log_erb
593
+ found = Liza::Unit.erbs_defined.first
594
+ else
595
+ log stick :light_red, " #{name}.#{format}.erb not found, and allow_missing: false"
596
+ raise_error :renderer_not_found, name, format
597
+ end
598
+
599
+ else
600
+
601
+ log stick :onyx, " #{name_string}#{".*.erb # filtering format "}#{name_candidates.map(&:format).join(" ")}" if log_erb
602
+
603
+ found = name_candidates.find do |erb|
604
+ erb_format_sym = erb.format.to_sym
605
+ format_with_converters_from.include? erb_format_sym
606
+ end
607
+
608
+ if found
609
+ log stick :light_green, " #{found.key} found" if log_erb
610
+ else
611
+ if allow_missing
612
+ log stick :light_yellow, " #{name}.#{format}.erb not found, but allow_missing: true" if log_erb
613
+ found = Liza::Unit.erbs_defined.first
614
+ else
615
+ log stick :light_red, " #{name}.#{format}.erb not found, and allow_missing: false"
616
+ raise_error :renderer_not_found, name, format
617
+ end
618
+ end
619
+
620
+ end
621
+
622
+ ret[name] = found
623
+ end
624
+
625
+ ret
626
+ end
627
+
628
+ section :default
629
+
630
+ def self.reload!
631
+ Lizarb.reload
632
+ end
633
+
634
+ def reload!
635
+ Lizarb.reload
636
+ end
637
+
638
+ ##
639
+ # :call-seq:
640
+ # Unit.cl -> Class
641
+ #
642
+ # Returns the class itself.
643
+ def self.cl() = self
644
+
645
+ ##
646
+ # :call-seq:
647
+ # unit_instance.cl -> Class
87
648
  #
649
+ # Returns the class of the current instance.
650
+ def cl() = self.class
88
651
 
89
- App.settings.each do |k, v|
90
- set k, v
652
+ ##
653
+ # :call-seq:
654
+ # Unit.time_diff(t[, digits]) -> String
655
+ #
656
+ # Returns a time difference string with a fixed decimal precision.
657
+ #
658
+ # - +t+: A time-like object to compare to the current time.
659
+ # - +digits+: Integer specifying the decimal precision (defaults to 4).
660
+ #
661
+ # Raises ArgumentError if +digits+ is not a positive Integer.
662
+ #
663
+ def self.time_diff(t, digits = 4)
664
+ raise ArgumentError, "digits must be a positive integer" unless digits.is_a?(Integer) && digits.positive?
665
+ f = (Time.now.to_f - t.to_f).floor(digits)
666
+ u, d = f.to_s.split "."
667
+ "#{u}.#{d.ljust digits, "0"}"
91
668
  end
669
+
670
+ ##
671
+ # :call-seq:
672
+ # unit_instance.time_diff(t[, digits]) -> String
673
+ #
674
+ # Convenience instance method delegating to +Unit.time_diff+.
675
+ # Returns the time difference string with the specified decimal precision.
676
+ #
677
+ def time_diff(t, digits = 4)= self.class.time_diff t, digits
678
+
679
+ set :log_level, App.log_level
92
680
  set :division, Liza::Controller
93
681
 
94
682
  end