lizarb 1.0.5 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (612) hide show
  1. checksums.yaml +4 -4
  2. data/.env +0 -0
  3. data/.tool-versions +2 -1
  4. data/Gemfile +23 -12
  5. data/Gemfile.lock +161 -117
  6. data/LICENSE.txt +1 -1
  7. data/README.md +29 -17
  8. data/Rakefile +2 -2
  9. data/app/dev/commands/stick_command.rb +3 -3
  10. data/app/dev/commands/stick_command_test.rb +1 -12
  11. data/app/dev_box.rb +23 -41
  12. data/app/eco_box.rb +5 -0
  13. data/app/net_box.rb +22 -20
  14. data/app/prime_box.rb +9 -0
  15. data/app/web/requests/api_request.rb +2 -0
  16. data/app/web/requests/assets_request.rb +1 -0
  17. data/app/web/requests/logo_request.rb +12 -0
  18. data/app/web/requests/logo_request.rb.index.html.erb +7 -0
  19. data/app/web/requests/logo_request_test.rb +10 -0
  20. data/app/web/requests/root_request.rb +1 -0
  21. data/app/web_box.rb +2 -4
  22. data/app.rb +22 -23
  23. data/app_global.gemfile.rb +8 -1
  24. data/app_global.gemfile.rb.lock +19 -16
  25. data/app_global.rb +3 -1
  26. data/examples/bench/app/dev/benches/loops_bench_test.rb +0 -4
  27. data/examples/bench/app/dev/benches/objects_bench_test.rb +0 -4
  28. data/examples/bench/app/dev/benches/sorted_bench.rb +7 -9
  29. data/examples/bench/app/dev/benches/sorted_bench_test.rb +0 -4
  30. data/examples/bench/app/dev/benches/variables_bench_test.rb +0 -4
  31. data/examples/command/app/dev/commands/calculator_command.rb +4 -4
  32. data/examples/command/app/dev/commands/calculator_command_test.rb +0 -4
  33. data/examples/command/app/dev/commands/circle_command.rb +4 -4
  34. data/examples/command/app/dev/commands/circle_command_test.rb +0 -4
  35. data/examples/command/app/dev/commands/narrative_method_command.rb +2 -11
  36. data/examples/command/app/dev/commands/narrative_method_command_test.rb +1 -5
  37. data/examples/command/app/dev/commands/quadratic_command.rb +4 -4
  38. data/examples/command/app/dev/commands/quadratic_command_test.rb +0 -4
  39. data/examples/log/app/dev/{logs/logger_log.rb → handler_logs/logger_handler_log.rb} +2 -1
  40. data/examples/log/app/dev/handler_logs/logger_handler_log_test.rb +15 -0
  41. data/examples/new/app/dev_box.rb +24 -46
  42. data/examples/new/app.rb +19 -23
  43. data/examples/shell/app/dev/shells/bash_adapter_shell_test.rb +0 -4
  44. data/examples/shell/app/dev/shells/business_logic_shell_test.rb +0 -4
  45. data/examples/shell/app/dev/shells/gem_adapter_shell_test.rb +0 -4
  46. data/exe/liza +4 -6
  47. data/exe/lizarb +4 -14
  48. data/gemfiles/gemfile.3.1.rb +1 -0
  49. data/gemfiles/gemfile.3.1.rb.lock +261 -0
  50. data/gemfiles/gemfile.3.2.rb +1 -0
  51. data/gemfiles/gemfile.3.2.rb.lock +261 -0
  52. data/gemfiles/gemfile.3.3.rb +1 -0
  53. data/gemfiles/gemfile.3.3.rb.lock +261 -0
  54. data/gemfiles/gemfile.3.4.rb +1 -0
  55. data/gemfiles/gemfile.3.4.rb.lock +243 -0
  56. data/gemfiles/gemfile.jruby-9.4.rb +3 -0
  57. data/gemfiles/gemfile.jruby-9.4.rb.lock +139 -0
  58. data/lib/app.rb +121 -32
  59. data/lib/art_system/art_system_test.rb +3 -0
  60. data/lib/art_system/commands/chatgpt_command.rb +91 -0
  61. data/lib/art_system/commands/chatgpt_command_test.rb +10 -0
  62. data/lib/art_system/commands/deepseek_command.rb +58 -0
  63. data/lib/art_system/commands/deepseek_command_test.rb +10 -0
  64. data/lib/art_system/commands/ollama_command.rb +69 -0
  65. data/lib/art_system/commands/ollama_command_test.rb +10 -0
  66. data/lib/art_system/gem_shells/ruby_openai_gem_shell.rb +32 -0
  67. data/lib/art_system/gem_shells/ruby_openai_gem_shell_test.rb +10 -0
  68. data/lib/art_system/shells/deepseek_shell.rb +15 -0
  69. data/lib/art_system/shells/deepseek_shell_test.rb +10 -0
  70. data/lib/art_system/shells/ollama_shell.rb +12 -0
  71. data/lib/art_system/shells/ollama_shell_test.rb +10 -0
  72. data/lib/art_system/shells/openai_shell.rb +13 -0
  73. data/lib/art_system/shells/openai_shell_test.rb +10 -0
  74. data/lib/crypto_system/crypto_system_test.rb +3 -0
  75. data/lib/crypto_system/gem_shells/digest_md5_gem_shell.rb +15 -0
  76. data/lib/crypto_system/gem_shells/digest_md5_gem_shell_test.rb +25 -0
  77. data/lib/deep_system/deep_system_test.rb +3 -0
  78. data/lib/desk_system/commands/glimmer_command.rb +1 -0
  79. data/lib/desk_system/desk_system_test.rb +3 -0
  80. data/lib/dev_system/commands/test_command.rb +105 -66
  81. data/lib/dev_system/commands/test_command_test.rb +3 -6
  82. data/lib/dev_system/dev_box.rb +20 -61
  83. data/lib/dev_system/dev_box_test.rb +5 -6
  84. data/lib/dev_system/dev_system_test.rb +3 -0
  85. data/lib/dev_system/generators/boxes_generator.rb +24 -0
  86. data/lib/dev_system/generators/boxes_generator_test.rb +12 -0
  87. data/lib/dev_system/generators/{env_generator.rb → envfile_generator.rb} +7 -14
  88. data/lib/dev_system/generators/envfile_generator_test.rb +14 -0
  89. data/lib/dev_system/generators/gemfile_generator.rb +14 -4
  90. data/lib/dev_system/generators/gemfile_generator_test.rb +4 -4
  91. data/lib/dev_system/generators/subsystem_generator.default.rb.erb +2 -0
  92. data/lib/dev_system/generators/subsystem_generator.rb +187 -0
  93. data/lib/dev_system/generators/subsystem_generator.rb.section_controller.rb.erb +8 -0
  94. data/lib/dev_system/generators/subsystem_generator.rb.section_controller_test.rb.erb +18 -0
  95. data/lib/dev_system/generators/subsystem_generator.rb.section_panel.rb.erb +19 -0
  96. data/lib/dev_system/generators/subsystem_generator.rb.section_panel_test.rb.erb +18 -0
  97. data/lib/dev_system/generators/subsystem_generator_test.rb +17 -0
  98. data/lib/dev_system/generators/system_generator.rb +92 -45
  99. data/lib/dev_system/generators/system_generator.rb.gemspec.rb.erb +36 -0
  100. data/lib/dev_system/generators/system_generator.rb.section_app_box_settings.rb.erb +4 -0
  101. data/lib/dev_system/generators/system_generator.rb.section_system_box_settings.rb.erb +4 -0
  102. data/lib/dev_system/generators/system_generator.rb.section_system_box_test.rb.erb +12 -0
  103. data/lib/dev_system/generators/system_generator.rb.section_system_default.rb.erb +3 -0
  104. data/lib/dev_system/generators/system_generator.rb.section_system_info.rb.erb +3 -0
  105. data/lib/dev_system/generators/system_generator.rb.system_test.rb.erb +5 -0
  106. data/lib/dev_system/generators/system_generator.rb.unit.rb.erb +7 -0
  107. data/lib/dev_system/generators/system_generator_test.rb +10 -3
  108. data/lib/dev_system/shells/unit_shell.rb +40 -0
  109. data/lib/dev_system/shells/unit_shell_test.rb +24 -0
  110. data/lib/dev_system/shells/zeitwerk_shell.rb +94 -0
  111. data/lib/dev_system/shells/zeitwerk_shell_test.rb +14 -0
  112. data/lib/dev_system/{sub → subsystems}/bench/bench.rb +2 -0
  113. data/lib/dev_system/subsystems/bench/bench_panel.rb +31 -0
  114. data/lib/dev_system/subsystems/bench/bench_panel_test.rb +55 -0
  115. data/lib/dev_system/{sub → subsystems}/bench/bench_test.rb +0 -2
  116. data/lib/dev_system/subsystems/bench/benches/not_found_bench.rb +73 -0
  117. data/lib/dev_system/subsystems/bench/benches/not_found_bench_test.rb +7 -0
  118. data/lib/dev_system/subsystems/bench/commands/bench_command.rb +21 -0
  119. data/lib/dev_system/subsystems/bench/commands/bench_command_test.rb +7 -0
  120. data/lib/dev_system/subsystems/bench/generators/bench_generator.rb +34 -0
  121. data/lib/dev_system/subsystems/bench/generators/bench_generator.rb.marks.rb.erb +18 -0
  122. data/lib/dev_system/subsystems/bench/generators/bench_generator.rb.setup.rb.erb +9 -0
  123. data/lib/dev_system/subsystems/bench/generators/bench_generator_test.rb +15 -0
  124. data/lib/dev_system/subsystems/command/command.rb +7 -0
  125. data/lib/dev_system/subsystems/command/command_panel.rb +30 -0
  126. data/lib/dev_system/subsystems/command/command_panel_test.rb +122 -0
  127. data/lib/dev_system/{sub → subsystems}/command/command_test.rb +2 -6
  128. data/lib/dev_system/subsystems/command/commands/base_command.rb +79 -0
  129. data/lib/dev_system/{sub → subsystems}/command/commands/base_command_test.rb +0 -4
  130. data/lib/dev_system/subsystems/command/commands/irb_command.rb +20 -0
  131. data/lib/dev_system/subsystems/command/commands/irb_command_test.rb +7 -0
  132. data/lib/dev_system/subsystems/command/commands/not_found_command.rb +83 -0
  133. data/lib/dev_system/{sub → subsystems}/command/commands/not_found_command_test.rb +0 -4
  134. data/lib/dev_system/subsystems/command/commands/pry_command.rb +10 -0
  135. data/lib/dev_system/subsystems/command/commands/pry_command_test.rb +7 -0
  136. data/lib/dev_system/subsystems/command/commands/simple_command.rb +433 -0
  137. data/lib/dev_system/subsystems/command/commands/simple_command_test.rb +153 -0
  138. data/lib/dev_system/subsystems/command/gem_shells/tty_prompt_gem_shell.rb +37 -0
  139. data/lib/dev_system/subsystems/command/gem_shells/tty_prompt_gem_shell_test.rb +10 -0
  140. data/lib/dev_system/subsystems/command/generators/command_generator.rb +73 -0
  141. data/lib/dev_system/subsystems/command/generators/command_generator.rb.section_base.rb.erb +10 -0
  142. data/lib/dev_system/subsystems/command/generators/command_generator.rb.section_simple_actions.rb.erb +21 -0
  143. data/lib/dev_system/subsystems/command/generators/command_generator.rb.section_simple_filters.rb.erb +25 -0
  144. data/lib/dev_system/subsystems/command/generators/command_generator.rb.view_simple.txt.erb +2 -0
  145. data/lib/dev_system/subsystems/command/generators/command_generator_test.rb +15 -0
  146. data/lib/dev_system/subsystems/command/parts/command_shortcut_part.rb +58 -0
  147. data/lib/dev_system/subsystems/command/parts/command_shortcut_part_test.rb +6 -0
  148. data/lib/dev_system/subsystems/command/shells/color_shell.rb +60 -0
  149. data/lib/dev_system/{sub/shell → subsystems/command}/shells/color_shell_test.rb +1 -6
  150. data/lib/dev_system/subsystems/command/shells/input_shell.rb +95 -0
  151. data/lib/dev_system/subsystems/command/shells/input_shell_test.rb +11 -0
  152. data/lib/dev_system/{sub/shell/shells/color_shell.rb → subsystems/command/shells/pallet_shell.rb} +11 -46
  153. data/lib/dev_system/subsystems/command/shells/pallet_shell_test.rb +15 -0
  154. data/lib/dev_system/subsystems/command/shells/typography_shell.rb +33 -0
  155. data/lib/dev_system/subsystems/command/shells/typography_shell_test.rb +10 -0
  156. data/lib/dev_system/subsystems/generator/commands/generate_command.rb +46 -0
  157. data/lib/dev_system/{sub → subsystems}/generator/commands/generate_command_test.rb +0 -4
  158. data/lib/dev_system/subsystems/generator/commands/new_command.rb +33 -0
  159. data/lib/dev_system/subsystems/generator/commands/new_command_test.rb +12 -0
  160. data/lib/dev_system/subsystems/generator/generator.rb +7 -0
  161. data/lib/dev_system/subsystems/generator/generator_panel.rb +51 -0
  162. data/lib/dev_system/subsystems/generator/generator_panel_test.rb +86 -0
  163. data/lib/dev_system/{sub → subsystems}/generator/generator_test.rb +0 -4
  164. data/lib/dev_system/subsystems/generator/generators/base_generator.rb +147 -0
  165. data/lib/dev_system/{sub → subsystems}/generator/generators/base_generator_test.rb +3 -4
  166. data/lib/dev_system/subsystems/generator/generators/controller_generator.rb +210 -0
  167. data/lib/dev_system/subsystems/generator/generators/controller_generator.rb.unit.rb.erb +18 -0
  168. data/lib/dev_system/subsystems/generator/generators/controller_generator_test.rb +48 -0
  169. data/lib/dev_system/subsystems/generator/generators/generator_generator.rb +58 -0
  170. data/lib/dev_system/subsystems/generator/generators/generator_generator.rb.section_controller_actions.rb.erb +23 -0
  171. data/lib/dev_system/subsystems/generator/generators/generator_generator.rb.section_simple_actions.rb.erb +19 -0
  172. data/lib/dev_system/subsystems/generator/generators/generator_generator.rb.view_controller_actions.rb.erb +11 -0
  173. data/lib/dev_system/subsystems/generator/generators/generator_generator.rb.view_controller_views.txt.erb +2 -0
  174. data/lib/dev_system/subsystems/generator/generators/generator_generator.rb.view_simple.txt.erb +2 -0
  175. data/lib/dev_system/subsystems/generator/generators/generator_generator_test.rb +16 -0
  176. data/lib/dev_system/subsystems/generator/generators/install_generator.rb +9 -0
  177. data/lib/dev_system/subsystems/generator/generators/install_generator_test.rb +8 -0
  178. data/lib/dev_system/subsystems/generator/generators/move_generator.rb +9 -0
  179. data/lib/dev_system/subsystems/generator/generators/move_generator_test.rb +8 -0
  180. data/lib/dev_system/subsystems/generator/generators/new_generator.rb +162 -0
  181. data/lib/dev_system/{sub → subsystems}/generator/generators/new_generator_test.rb +0 -4
  182. data/lib/dev_system/subsystems/generator/generators/not_found_generator.rb +87 -0
  183. data/lib/dev_system/subsystems/generator/generators/not_found_generator_test.rb +18 -0
  184. data/lib/dev_system/subsystems/generator/generators/overwrite_generator.rb +9 -0
  185. data/lib/dev_system/subsystems/generator/generators/overwrite_generator_test.rb +8 -0
  186. data/lib/dev_system/subsystems/generator/generators/remove_generator.rb +24 -0
  187. data/lib/dev_system/subsystems/generator/generators/remove_generator_test.rb +8 -0
  188. data/lib/dev_system/subsystems/generator/generators/simple_generator.rb +345 -0
  189. data/lib/dev_system/subsystems/generator/generators/simple_generator.rb.subject.rb.erb +9 -0
  190. data/lib/dev_system/subsystems/generator/generators/simple_generator.rb.unit.rb.erb +7 -0
  191. data/lib/dev_system/{sub → subsystems}/generator/generators/simple_generator_test.rb +7 -6
  192. data/lib/dev_system/subsystems/generator/generators/uninstall_generator.rb +9 -0
  193. data/lib/dev_system/subsystems/generator/generators/uninstall_generator_test.rb +8 -0
  194. data/lib/dev_system/subsystems/log/commands/log_command.rb +52 -0
  195. data/lib/dev_system/{sub → subsystems}/log/commands/log_command_test.rb +0 -4
  196. data/lib/dev_system/subsystems/log/generators/log_generator.rb +52 -0
  197. data/lib/dev_system/subsystems/log/generators/log_generator.rb.controller_section_1.rb.erb +7 -0
  198. data/lib/dev_system/subsystems/log/generators/log_generator.rb.controller_test_section_1.rb.erb +6 -0
  199. data/lib/dev_system/subsystems/log/generators/log_generator.rb.handler_section_1.rb.erb +8 -0
  200. data/lib/dev_system/subsystems/log/generators/log_generator.rb.handler_test_section_1.rb.erb +6 -0
  201. data/lib/dev_system/subsystems/log/generators/log_generator_test.rb +17 -0
  202. data/lib/dev_system/{sub/log/logs/output_log.rb → subsystems/log/handler_logs/color_output_handler_log.rb} +14 -31
  203. data/lib/dev_system/subsystems/log/handler_logs/color_output_handler_log_test.rb +41 -0
  204. data/lib/dev_system/subsystems/log/handler_logs/handler_log.rb +5 -0
  205. data/lib/dev_system/subsystems/log/handler_logs/handler_log_test.rb +12 -0
  206. data/lib/dev_system/subsystems/log/handler_logs/none_handler_log.rb +8 -0
  207. data/lib/dev_system/subsystems/log/handler_logs/none_handler_log_test.rb +10 -0
  208. data/lib/dev_system/subsystems/log/handler_logs/output_handler_log.rb +57 -0
  209. data/lib/dev_system/{sub/log/logs/output_log_test.rb → subsystems/log/handler_logs/output_handler_log_test.rb} +5 -9
  210. data/lib/dev_system/subsystems/log/log_panel.rb +108 -0
  211. data/lib/dev_system/subsystems/log/log_panel_test.rb +152 -0
  212. data/lib/dev_system/{sub → subsystems}/log/log_test.rb +5 -2
  213. data/lib/dev_system/subsystems/log/logs/array_log.rb +20 -0
  214. data/lib/dev_system/subsystems/log/logs/array_log_test.rb +49 -0
  215. data/lib/dev_system/subsystems/log/logs/hash_log.rb +17 -0
  216. data/lib/dev_system/subsystems/log/logs/hash_log_test.rb +40 -0
  217. data/lib/dev_system/{sub → subsystems}/log/logs/stick_log.rb +6 -5
  218. data/lib/dev_system/subsystems/log/logs/stick_log_log.rb +6 -0
  219. data/lib/dev_system/subsystems/log/logs/stick_log_log_test.rb +26 -0
  220. data/lib/dev_system/{sub → subsystems}/log/logs/stick_log_test.rb +12 -12
  221. data/lib/dev_system/subsystems/shell/commands/shell_command.rb +340 -0
  222. data/lib/dev_system/subsystems/shell/commands/shell_command_test.rb +12 -0
  223. data/lib/dev_system/subsystems/shell/converter_shells/coffee_converter_shell.rb +20 -0
  224. data/lib/dev_system/{sub → subsystems}/shell/converter_shells/coffee_converter_shell_test.rb +1 -8
  225. data/lib/dev_system/subsystems/shell/converter_shells/converter_shell.rb +27 -0
  226. data/lib/dev_system/{sub → subsystems}/shell/converter_shells/converter_shell_test.rb +9 -2
  227. data/lib/dev_system/subsystems/shell/converter_shells/haml_converter_shell.rb +29 -0
  228. data/lib/dev_system/{sub → subsystems}/shell/converter_shells/haml_converter_shell_test.rb +1 -8
  229. data/lib/dev_system/subsystems/shell/converter_shells/md_converter_shell.rb +20 -0
  230. data/lib/dev_system/{sub → subsystems}/shell/converter_shells/md_converter_shell_test.rb +1 -8
  231. data/lib/dev_system/{sub → subsystems}/shell/converter_shells/scss_converter_shell.rb +13 -12
  232. data/lib/dev_system/{sub → subsystems}/shell/converter_shells/scss_converter_shell_test.rb +1 -8
  233. data/lib/dev_system/subsystems/shell/formatter_shells/formatter_shell.rb +30 -0
  234. data/lib/dev_system/{sub → subsystems}/shell/formatter_shells/formatter_shell_test.rb +9 -2
  235. data/lib/dev_system/subsystems/shell/formatter_shells/html_formatter_shell.rb +19 -0
  236. data/lib/dev_system/{sub → subsystems}/shell/formatter_shells/html_formatter_shell_test.rb +1 -9
  237. data/lib/dev_system/subsystems/shell/gem_shells/coderay_gem_shell.rb +33 -0
  238. data/lib/dev_system/subsystems/shell/gem_shells/coderay_gem_shell_test.rb +21 -0
  239. data/lib/dev_system/subsystems/shell/gem_shells/gem_shell.rb +4 -0
  240. data/lib/dev_system/subsystems/shell/gem_shells/gem_shell_test.rb +10 -0
  241. data/lib/dev_system/subsystems/shell/generators/shell_generator.rb +120 -0
  242. data/lib/dev_system/subsystems/shell/generators/shell_generator.rb.actions.rb.erb +11 -0
  243. data/lib/dev_system/subsystems/shell/generators/shell_generator.rb.converter.rb.erb +15 -0
  244. data/lib/dev_system/subsystems/shell/generators/shell_generator.rb.formatter.rb.erb +15 -0
  245. data/lib/dev_system/subsystems/shell/generators/shell_generator.rb.helpers.rb.erb +39 -0
  246. data/lib/dev_system/subsystems/shell/generators/shell_generator.rb.instance.rb.erb +71 -0
  247. data/lib/dev_system/subsystems/shell/generators/shell_generator.rb.renderer.rb.erb +15 -0
  248. data/lib/dev_system/subsystems/shell/generators/shell_generator.rb.test.rb.erb +2 -0
  249. data/lib/dev_system/subsystems/shell/generators/shell_generator.rb.view_simple.txt.erb +2 -0
  250. data/lib/dev_system/subsystems/shell/generators/shell_generator_test.rb +21 -0
  251. data/lib/dev_system/subsystems/shell/renderer_shells/renderer_shell.rb +4 -0
  252. data/lib/dev_system/subsystems/shell/renderer_shells/renderer_shell_test.rb +10 -0
  253. data/lib/dev_system/{sub → subsystems}/shell/shell.rb +5 -0
  254. data/lib/dev_system/subsystems/shell/shell_panel.rb +87 -0
  255. data/lib/dev_system/subsystems/shell/shell_panel_test.rb +14 -0
  256. data/lib/dev_system/{sub → subsystems}/shell/shell_test.rb +1 -5
  257. data/lib/dev_system/subsystems/shell/shells/app_shell.rb +684 -0
  258. data/lib/dev_system/subsystems/shell/shells/app_shell_test.rb +113 -0
  259. data/lib/dev_system/{sub → subsystems}/shell/shells/bin_shell_test.rb +0 -4
  260. data/lib/dev_system/subsystems/shell/shells/controller_shell.rb +87 -0
  261. data/lib/dev_system/subsystems/shell/shells/controller_shell_test.rb +33 -0
  262. data/lib/dev_system/{sub → subsystems}/shell/shells/dir_shell.rb +2 -2
  263. data/lib/dev_system/{sub → subsystems}/shell/shells/dir_shell_test.rb +0 -4
  264. data/lib/dev_system/subsystems/shell/shells/env_shell.rb +19 -0
  265. data/lib/dev_system/subsystems/shell/shells/env_shell_test.rb +27 -0
  266. data/lib/dev_system/subsystems/shell/shells/erb_shell.rb +168 -0
  267. data/lib/dev_system/subsystems/shell/shells/erb_shell_test.rb +10 -0
  268. data/lib/dev_system/subsystems/shell/shells/file_shell.rb +130 -0
  269. data/lib/dev_system/{sub → subsystems}/shell/shells/file_shell_test.rb +3 -6
  270. data/lib/dev_system/{sub/shell/shells/gem_shell.rb → subsystems/shell/shells/gemspec_shell.rb} +1 -1
  271. data/lib/dev_system/{sub/shell/shells/gem_shell_test.rb → subsystems/shell/shells/gemspec_shell_test.rb} +3 -3
  272. data/lib/dev_system/subsystems/shell/shells/kernel_shell.rb +26 -0
  273. data/lib/dev_system/{sub → subsystems}/shell/shells/line_diff_shell.rb +4 -3
  274. data/lib/dev_system/{sub → subsystems}/shell/shells/line_diff_shell_test.rb +0 -4
  275. data/lib/dev_system/subsystems/shell/shells/line_shell.rb +104 -0
  276. data/lib/dev_system/{sub → subsystems}/shell/shells/line_shell_test.rb +36 -4
  277. data/lib/dev_system/subsystems/shell/shells/main_shell.rb +29 -0
  278. data/lib/dev_system/subsystems/shell/shells/main_shell_test.rb +10 -0
  279. data/lib/dev_system/subsystems/shell/shells/method_shell_test.rb +30 -0
  280. data/lib/dev_system/subsystems/shell/shells/signal_shell.rb +53 -0
  281. data/lib/dev_system/subsystems/shell/shells/signal_shell_test.rb +28 -0
  282. data/lib/dev_system/{sub → subsystems}/shell/shells/text_file_shell_test.rb +0 -4
  283. data/lib/dev_system/{sub → subsystems}/shell/shells/text_shell.rb +2 -2
  284. data/lib/dev_system/{sub → subsystems}/shell/shells/text_shell_test.rb +0 -4
  285. data/lib/dev_system/subsystems/shell/soft_shells/soft_shell.rb +4 -0
  286. data/lib/dev_system/subsystems/shell/soft_shells/soft_shell_test.rb +10 -0
  287. data/lib/dev_system/subsystems/shell/view_shells/logo_view_shell.rb +12 -0
  288. data/lib/dev_system/subsystems/shell/view_shells/logo_view_shell.rb.svg.erb +59 -0
  289. data/lib/dev_system/subsystems/shell/view_shells/logo_view_shell_test.rb +15 -0
  290. data/lib/dev_system/subsystems/shell/view_shells/view_shell.rb +5 -0
  291. data/lib/dev_system/subsystems/shell/view_shells/view_shell_test.rb +10 -0
  292. data/lib/dev_system.rb +6 -6
  293. data/lib/eco_system/eco_box.rb +5 -0
  294. data/lib/eco_system/eco_box_test.rb +16 -0
  295. data/lib/eco_system/eco_system_test.rb +9 -0
  296. data/lib/eco_system.rb +11 -0
  297. data/lib/happy_system/happy_box_test.rb +0 -4
  298. data/lib/happy_system/happy_system_test.rb +3 -0
  299. data/lib/happy_system/{sub → subsystems}/axo/axo.rb +2 -1
  300. data/lib/happy_system/{sub → subsystems}/axo/axo_panel.rb +1 -1
  301. data/lib/happy_system/{sub → subsystems}/axo/axo_panel_test.rb +0 -4
  302. data/lib/happy_system/{sub → subsystems}/axo/axo_test.rb +0 -4
  303. data/lib/happy_system/{sub → subsystems}/axo/commands/axo_command.rb +4 -3
  304. data/lib/happy_system/subsystems/axo/generators/axo_generator.rb +17 -0
  305. data/lib/happy_system/{sub/axo/generators/axo_generator.rb → subsystems/axo/generators/axo_generator.rb.controller.rb.erb} +1 -31
  306. data/lib/happy_system/subsystems/axo/generators/axo_generator_test.rb +12 -0
  307. data/lib/happy_system.rb +1 -1
  308. data/lib/lab_system/clients/kroki_client.rb +1 -0
  309. data/lib/lab_system/clients/kroki_client_test.rb +0 -4
  310. data/lib/lab_system/clients/liza_kroki_client_test.rb +0 -4
  311. data/lib/lab_system/commands/docker_command.rb +12 -6
  312. data/lib/lab_system/commands/docker_command_test.rb +1 -5
  313. data/lib/lab_system/lab_system_test.rb +3 -0
  314. data/lib/lab_system/requests/kroki_request_test.rb +0 -4
  315. data/lib/lab_system/shells/docker_installer_shell.rb +69 -0
  316. data/lib/lab_system/shells/docker_installer_shell_test.rb +12 -0
  317. data/lib/lab_system/shells/kroki_docker_shell.rb +1 -1
  318. data/lib/lab_system/shells/kroki_docker_shell_test.rb +1 -5
  319. data/lib/lab_system/{shells/docker_shell.rb → soft_shells/docker_soft_shell.rb} +4 -4
  320. data/lib/lab_system/{shells/docker_shell_test.rb → soft_shells/docker_soft_shell_test.rb} +5 -6
  321. data/lib/liza/{ruby_tests → extra_tests}/app_test.rb +3 -6
  322. data/lib/liza/extra_tests/class_test.rb +26 -0
  323. data/lib/liza/extra_tests/liza_test.rb +7 -0
  324. data/lib/liza/extra_tests/lizarb_test.rb +20 -0
  325. data/lib/liza/extra_tests/module_test.rb +21 -0
  326. data/lib/liza/extra_tests/time_test.rb +19 -0
  327. data/lib/liza/helper_units/part.rb +25 -0
  328. data/lib/liza/helper_units/part_test.rb +26 -0
  329. data/lib/liza/helper_units/test.rb +940 -0
  330. data/lib/liza/{safety → helper_units}/test_test.rb +66 -35
  331. data/lib/liza/subsystemic_units/controller.rb +221 -0
  332. data/lib/liza/subsystemic_units/controller_test.rb +62 -0
  333. data/lib/liza/{base → subsystemic_units}/panel.rb +8 -16
  334. data/lib/liza/subsystemic_units/panel_test.rb +22 -0
  335. data/lib/liza/systemic_units/box.rb +82 -0
  336. data/lib/liza/systemic_units/box_test.rb +36 -0
  337. data/lib/liza/systemic_units/system.rb +52 -0
  338. data/lib/liza/systemic_units/system_test.rb +14 -0
  339. data/lib/liza/unit.rb +620 -32
  340. data/lib/liza/unit_test.rb +88 -97
  341. data/lib/liza.rb +14 -10
  342. data/lib/lizarb/version.rb +1 -1
  343. data/lib/lizarb.rb +671 -255
  344. data/lib/media_system/media_box.rb +3 -0
  345. data/lib/media_system/media_box_test.rb +10 -0
  346. data/lib/media_system/media_system_test.rb +3 -0
  347. data/lib/media_system.rb +8 -0
  348. data/lib/micro_system/micro_system_test.rb +3 -0
  349. data/lib/micro_system.rb +1 -1
  350. data/lib/net_system/net_box.rb +38 -9
  351. data/lib/net_system/net_box_test.rb +0 -4
  352. data/lib/net_system/net_system_test.rb +3 -0
  353. data/lib/net_system/{sub → subsystems}/client/client_panel_test.rb +0 -4
  354. data/lib/net_system/{sub → subsystems}/client/client_test.rb +0 -4
  355. data/lib/net_system/subsystems/client/commands/client_command.rb +12 -0
  356. data/lib/net_system/subsystems/client/commands/client_command_test.rb +10 -0
  357. data/lib/net_system/subsystems/client/generators/client_generator.rb +22 -0
  358. data/lib/net_system/subsystems/client/generators/client_generator.rb.controller.rb.erb +41 -0
  359. data/lib/net_system/subsystems/client/generators/client_generator.rb.test.rb.erb +16 -0
  360. data/lib/net_system/subsystems/client/generators/client_generator_test.rb +15 -0
  361. data/lib/net_system/{sub → subsystems}/database/clients/mongo_client.rb +16 -2
  362. data/lib/net_system/{sub → subsystems}/database/clients/mysql_client.rb +6 -1
  363. data/lib/net_system/{sub → subsystems}/database/clients/mysql_client_test.rb +1 -1
  364. data/lib/net_system/{sub → subsystems}/database/clients/pgsql_client.rb +2 -1
  365. data/lib/net_system/subsystems/database/clients/redis_client.rb +46 -0
  366. data/lib/net_system/{sub → subsystems}/database/clients/sqlite_client.rb +6 -2
  367. data/lib/net_system/subsystems/database/commands/database_command.rb +23 -0
  368. data/lib/net_system/subsystems/database/commands/database_command_test.rb +7 -0
  369. data/lib/net_system/subsystems/database/database_panel.rb +3 -0
  370. data/lib/net_system/{sub → subsystems}/database/database_panel_test.rb +2 -5
  371. data/lib/net_system/{sub → subsystems}/database/database_test.rb +0 -4
  372. data/lib/net_system/subsystems/filebase/commands/filebase_command.rb +12 -0
  373. data/lib/net_system/subsystems/filebase/commands/filebase_command_test.rb +10 -0
  374. data/lib/net_system/subsystems/filebase/filebase.rb +12 -0
  375. data/lib/net_system/subsystems/filebase/filebase_panel.rb +23 -0
  376. data/lib/net_system/subsystems/filebase/filebase_panel_test.rb +22 -0
  377. data/lib/net_system/subsystems/filebase/filebase_test.rb +22 -0
  378. data/lib/net_system/subsystems/record/commands/record_command.rb +12 -0
  379. data/lib/net_system/subsystems/record/commands/record_command_test.rb +10 -0
  380. data/lib/net_system/subsystems/record/generators/record_generator.rb +35 -0
  381. data/lib/net_system/subsystems/record/generators/record_generator.rb.controller.rb.erb +4 -0
  382. data/lib/net_system/subsystems/record/generators/record_generator.rb.test.rb.erb +2 -0
  383. data/lib/net_system/subsystems/record/generators/record_generator_test.rb +13 -0
  384. data/lib/net_system/subsystems/record/record.rb +19 -0
  385. data/lib/net_system/{sub → subsystems}/record/record_panel_test.rb +0 -4
  386. data/lib/net_system/subsystems/record/record_test.rb +11 -0
  387. data/lib/net_system/subsystems/socket/commands/socket_command.rb +12 -0
  388. data/lib/net_system/subsystems/socket/commands/socket_command_test.rb +10 -0
  389. data/lib/net_system/subsystems/socket/socket.rb +12 -0
  390. data/lib/net_system/subsystems/socket/socket_panel.rb +23 -0
  391. data/lib/net_system/subsystems/socket/socket_panel_test.rb +22 -0
  392. data/lib/net_system/subsystems/socket/socket_test.rb +22 -0
  393. data/lib/net_system.rb +6 -4
  394. data/lib/prime_system/prime_box.rb +9 -0
  395. data/lib/prime_system/prime_box_test.rb +16 -0
  396. data/lib/prime_system/prime_system_test.rb +9 -0
  397. data/lib/prime_system/subsystems/epic/commands/epic_command.rb +12 -0
  398. data/lib/prime_system/subsystems/epic/commands/epic_command_test.rb +10 -0
  399. data/lib/prime_system/subsystems/epic/epic.rb +12 -0
  400. data/lib/prime_system/subsystems/epic/epic_panel.rb +23 -0
  401. data/lib/prime_system/subsystems/epic/epic_panel_test.rb +22 -0
  402. data/lib/prime_system/subsystems/epic/epic_test.rb +22 -0
  403. data/lib/prime_system.rb +13 -0
  404. data/lib/web_system/{sub → subsystems}/rack/commands/rack_command.rb +5 -2
  405. data/lib/web_system/subsystems/rack/commands/rack_command_test.rb +7 -0
  406. data/lib/web_system/{sub → subsystems}/rack/middle_racks/first_middle_rack_test.rb +0 -4
  407. data/lib/web_system/{sub → subsystems}/rack/middle_racks/last_middle_rack_test.rb +0 -4
  408. data/lib/web_system/{sub → subsystems}/rack/middle_racks/middle_rack.rb +1 -1
  409. data/lib/web_system/{sub → subsystems}/rack/middle_racks/middle_rack_test.rb +0 -4
  410. data/lib/web_system/{sub → subsystems}/rack/middle_racks/zeitwerk_middle_rack.rb +3 -4
  411. data/lib/web_system/{sub → subsystems}/rack/middle_racks/zeitwerk_middle_rack_test.rb +0 -4
  412. data/lib/web_system/subsystems/rack/rack.rb +3 -0
  413. data/lib/web_system/{sub → subsystems}/rack/rack_panel.rb +10 -6
  414. data/lib/web_system/subsystems/rack/rack_panel_test.rb +25 -0
  415. data/lib/web_system/{sub → subsystems}/rack/rack_test.rb +0 -4
  416. data/lib/web_system/{sub → subsystems}/rack/server_racks/agoo_server_rack.rb +2 -1
  417. data/lib/web_system/{sub → subsystems}/rack/server_racks/agoo_server_rack_test.rb +0 -4
  418. data/lib/web_system/{sub → subsystems}/rack/server_racks/falcon_server_rack.rb +2 -1
  419. data/lib/web_system/{sub → subsystems}/rack/server_racks/falcon_server_rack_test.rb +0 -4
  420. data/lib/web_system/{sub → subsystems}/rack/server_racks/iodine_server_rack.rb +2 -1
  421. data/lib/web_system/{sub → subsystems}/rack/server_racks/iodine_server_rack_test.rb +0 -4
  422. data/lib/web_system/{sub → subsystems}/rack/server_racks/puma_server_rack.rb +4 -2
  423. data/lib/web_system/{sub → subsystems}/rack/server_racks/puma_server_rack_test.rb +0 -4
  424. data/lib/web_system/{sub → subsystems}/rack/server_racks/server_rack.rb +0 -9
  425. data/lib/web_system/{sub → subsystems}/rack/server_racks/server_rack_test.rb +0 -4
  426. data/lib/web_system/{sub → subsystems}/rack/server_racks/thin_server_rack.rb +6 -5
  427. data/lib/web_system/{sub → subsystems}/rack/server_racks/thin_server_rack_test.rb +0 -4
  428. data/lib/web_system/{sub → subsystems}/request/commands/request_command.rb +32 -43
  429. data/lib/web_system/subsystems/request/commands/request_command_test.rb +7 -0
  430. data/lib/web_system/subsystems/request/generators/request_generator.rb +39 -0
  431. data/lib/web_system/subsystems/request/generators/request_generator.rb.base.rb.erb +14 -0
  432. data/lib/web_system/subsystems/request/generators/request_generator.rb.simple_actions.rb.erb +16 -0
  433. data/lib/web_system/subsystems/request/generators/request_generator.rb.simple_view.html.erb +9 -0
  434. data/lib/web_system/subsystems/request/generators/request_generator.rb.test.rb.erb +2 -0
  435. data/lib/web_system/subsystems/request/generators/request_generator_test.rb +15 -0
  436. data/lib/web_system/{sub → subsystems}/request/request_panel.rb +22 -16
  437. data/lib/web_system/subsystems/request/request_panel_test.rb +82 -0
  438. data/lib/web_system/{sub → subsystems}/request/request_test.rb +0 -4
  439. data/lib/web_system/{sub → subsystems}/request/requests/client_error_request.rb +1 -0
  440. data/lib/web_system/{sub → subsystems}/request/requests/not_found_request.rb +1 -0
  441. data/lib/web_system/{sub → subsystems}/request/requests/server_error_request.rb +1 -0
  442. data/lib/web_system/{sub → subsystems}/request/requests/simple_request.rb +8 -1
  443. data/lib/web_system/{sub → subsystems}/request/requests/simple_request_test.rb +0 -4
  444. data/lib/web_system/{sub → subsystems}/request/router_requests/router_request_test.rb +0 -4
  445. data/lib/web_system/{sub → subsystems}/request/router_requests/simple_router_request.rb +7 -4
  446. data/lib/web_system/{sub → subsystems}/request/router_requests/simple_router_request_test.rb +0 -4
  447. data/lib/web_system/web_box.rb +23 -3
  448. data/lib/web_system/web_box_test.rb +0 -4
  449. data/lib/web_system/web_system_test.rb +3 -0
  450. data/lib/web_system.rb +2 -2
  451. data/lib/work_system/work_system_test.rb +3 -0
  452. data/lizarb.gemspec +2 -16
  453. metadata +414 -346
  454. data/examples/log/app/dev/logs/logger_log_test.rb +0 -16
  455. data/lib/dev_system/generators/env_generator_test.rb +0 -11
  456. data/lib/dev_system/sub/bench/bench_panel.rb +0 -3
  457. data/lib/dev_system/sub/bench/bench_panel_test.rb +0 -16
  458. data/lib/dev_system/sub/bench/benches/not_found_bench.rb +0 -33
  459. data/lib/dev_system/sub/bench/benches/not_found_bench_test.rb +0 -11
  460. data/lib/dev_system/sub/bench/commands/bench_command.rb +0 -27
  461. data/lib/dev_system/sub/bench/commands/bench_command_test.rb +0 -11
  462. data/lib/dev_system/sub/bench/generators/bench_generator.rb +0 -70
  463. data/lib/dev_system/sub/bench/generators/bench_generator_test.rb +0 -10
  464. data/lib/dev_system/sub/command/command.rb +0 -28
  465. data/lib/dev_system/sub/command/command_panel.rb +0 -151
  466. data/lib/dev_system/sub/command/command_panel_test.rb +0 -78
  467. data/lib/dev_system/sub/command/commands/base_command.rb +0 -48
  468. data/lib/dev_system/sub/command/commands/irb_command.rb +0 -19
  469. data/lib/dev_system/sub/command/commands/irb_command_test.rb +0 -11
  470. data/lib/dev_system/sub/command/commands/not_found_command.rb +0 -156
  471. data/lib/dev_system/sub/command/commands/pry_command.rb +0 -10
  472. data/lib/dev_system/sub/command/commands/pry_command_test.rb +0 -11
  473. data/lib/dev_system/sub/command/commands/simple_command.rb +0 -143
  474. data/lib/dev_system/sub/command/commands/simple_command_test.rb +0 -11
  475. data/lib/dev_system/sub/command/generators/command_generator.rb +0 -90
  476. data/lib/dev_system/sub/command/generators/command_generator_test.rb +0 -11
  477. data/lib/dev_system/sub/command/input_commands/highline_input_command.rb +0 -17
  478. data/lib/dev_system/sub/command/input_commands/highline_input_command_test.rb +0 -19
  479. data/lib/dev_system/sub/command/input_commands/input_command.rb +0 -20
  480. data/lib/dev_system/sub/command/input_commands/input_command_test.rb +0 -19
  481. data/lib/dev_system/sub/command/input_commands/tty_input_command.rb +0 -55
  482. data/lib/dev_system/sub/command/input_commands/tty_input_command_test.rb +0 -19
  483. data/lib/dev_system/sub/generator/commands/generate_command.rb +0 -9
  484. data/lib/dev_system/sub/generator/commands/new_command.rb +0 -10
  485. data/lib/dev_system/sub/generator/commands/new_command_test.rb +0 -7
  486. data/lib/dev_system/sub/generator/generator.rb +0 -19
  487. data/lib/dev_system/sub/generator/generator_panel.rb +0 -98
  488. data/lib/dev_system/sub/generator/generator_panel_test.rb +0 -79
  489. data/lib/dev_system/sub/generator/generators/base_generator.rb +0 -64
  490. data/lib/dev_system/sub/generator/generators/generator_generator.rb +0 -71
  491. data/lib/dev_system/sub/generator/generators/generator_generator_test.rb +0 -11
  492. data/lib/dev_system/sub/generator/generators/new_generator.rb +0 -74
  493. data/lib/dev_system/sub/generator/generators/not_found_generator.rb +0 -155
  494. data/lib/dev_system/sub/generator/generators/not_found_generator_test.rb +0 -11
  495. data/lib/dev_system/sub/generator/generators/simple_generator.rb +0 -257
  496. data/lib/dev_system/sub/log/commands/log_command.rb +0 -11
  497. data/lib/dev_system/sub/log/generators/log_generator.rb +0 -54
  498. data/lib/dev_system/sub/log/generators/log_generator_test.rb +0 -10
  499. data/lib/dev_system/sub/log/log_panel.rb +0 -47
  500. data/lib/dev_system/sub/log/log_panel_test.rb +0 -50
  501. data/lib/dev_system/sub/shell/commands/convert_command.rb +0 -27
  502. data/lib/dev_system/sub/shell/commands/convert_command_test.rb +0 -10
  503. data/lib/dev_system/sub/shell/commands/format_command.rb +0 -25
  504. data/lib/dev_system/sub/shell/commands/format_command_test.rb +0 -10
  505. data/lib/dev_system/sub/shell/commands/loc_command.rb +0 -211
  506. data/lib/dev_system/sub/shell/commands/loc_command_test.rb +0 -10
  507. data/lib/dev_system/sub/shell/commands/shell_command.rb +0 -45
  508. data/lib/dev_system/sub/shell/commands/shell_command_test.rb +0 -11
  509. data/lib/dev_system/sub/shell/converter_shells/coffee_converter_shell.rb +0 -21
  510. data/lib/dev_system/sub/shell/converter_shells/converter_shell.rb +0 -13
  511. data/lib/dev_system/sub/shell/converter_shells/haml_converter_shell.rb +0 -30
  512. data/lib/dev_system/sub/shell/converter_shells/md_converter_shell.rb +0 -21
  513. data/lib/dev_system/sub/shell/formatter_shells/formatter_shell.rb +0 -13
  514. data/lib/dev_system/sub/shell/formatter_shells/html_formatter_shell.rb +0 -20
  515. data/lib/dev_system/sub/shell/generators/shell_generator.rb +0 -68
  516. data/lib/dev_system/sub/shell/generators/shell_generator_test.rb +0 -10
  517. data/lib/dev_system/sub/shell/shell_panel.rb +0 -98
  518. data/lib/dev_system/sub/shell/shell_panel_test.rb +0 -18
  519. data/lib/dev_system/sub/shell/shells/app_shell.rb +0 -185
  520. data/lib/dev_system/sub/shell/shells/app_shell_test.rb +0 -26
  521. data/lib/dev_system/sub/shell/shells/controller_shell.rb +0 -20
  522. data/lib/dev_system/sub/shell/shells/controller_shell_test.rb +0 -16
  523. data/lib/dev_system/sub/shell/shells/file_shell.rb +0 -59
  524. data/lib/dev_system/sub/shell/shells/kernel_shell.rb +0 -22
  525. data/lib/dev_system/sub/shell/shells/line_shell.rb +0 -56
  526. data/lib/dev_system/sub/shell/shells/method_shell_test.rb +0 -34
  527. data/lib/happy_system/sub/axo/generators/axo_generator_test.rb +0 -11
  528. data/lib/lerb.rb +0 -152
  529. data/lib/liza/base/controller.rb +0 -26
  530. data/lib/liza/base/controller_test.rb +0 -36
  531. data/lib/liza/base/panel_test.rb +0 -179
  532. data/lib/liza/base_parts/controller_subsystem_part.rb +0 -93
  533. data/lib/liza/base_parts/panel_rescuer_part.rb +0 -129
  534. data/lib/liza/meta/box.rb +0 -24
  535. data/lib/liza/meta/box_test.rb +0 -20
  536. data/lib/liza/meta/part.rb +0 -17
  537. data/lib/liza/meta/part_test.rb +0 -11
  538. data/lib/liza/meta/system.rb +0 -61
  539. data/lib/liza/meta/system_test.rb +0 -15
  540. data/lib/liza/ruby_tests/class_test.rb +0 -20
  541. data/lib/liza/ruby_tests/module_test.rb +0 -21
  542. data/lib/liza/safety/test.rb +0 -19
  543. data/lib/liza/safety_parts/test_assertions_advanced_part.rb +0 -125
  544. data/lib/liza/safety_parts/test_assertions_part.rb +0 -109
  545. data/lib/liza/safety_parts/test_dsl_part.rb +0 -68
  546. data/lib/liza/safety_parts/test_log_part.rb +0 -142
  547. data/lib/liza/safety_parts/test_subject_part.rb +0 -32
  548. data/lib/liza/safety_parts/test_tree_part.rb +0 -87
  549. data/lib/liza/unit_parts/unit_classes_part.rb +0 -37
  550. data/lib/liza/unit_parts/unit_classes_part_test.rb +0 -3
  551. data/lib/liza/unit_parts/unit_logging_part.rb +0 -139
  552. data/lib/liza/unit_parts/unit_logging_part_test.rb +0 -3
  553. data/lib/liza/unit_parts/unit_methods_part.rb +0 -35
  554. data/lib/liza/unit_parts/unit_methods_part_test.rb +0 -3
  555. data/lib/liza/unit_parts/unit_procedure_part.rb +0 -17
  556. data/lib/liza/unit_parts/unit_procedure_part_test.rb +0 -65
  557. data/lib/liza/unit_parts/unit_renderer_part.rb +0 -171
  558. data/lib/liza/unit_parts/unit_renderer_part_test.rb +0 -15
  559. data/lib/liza/unit_parts/unit_settings_part.rb +0 -84
  560. data/lib/liza/unit_parts/unit_settings_part_test.rb +0 -3
  561. data/lib/lizarb/ruby/class.rb +0 -25
  562. data/lib/lizarb/ruby/module.rb +0 -17
  563. data/lib/lizarb/ruby/proc.rb +0 -12
  564. data/lib/lizarb/ruby/string.rb +0 -35
  565. data/lib/lizarb/ruby/time.rb +0 -9
  566. data/lib/net_system/sub/client/generators/client_generator.rb +0 -88
  567. data/lib/net_system/sub/client/generators/client_generator_test.rb +0 -10
  568. data/lib/net_system/sub/database/clients/redis_client.rb +0 -29
  569. data/lib/net_system/sub/database/commands/database_command.rb +0 -32
  570. data/lib/net_system/sub/database/commands/database_command_test.rb +0 -11
  571. data/lib/net_system/sub/database/database_panel.rb +0 -10
  572. data/lib/net_system/sub/record/generators/record_generator.rb +0 -33
  573. data/lib/net_system/sub/record/generators/record_generator_test.rb +0 -11
  574. data/lib/net_system/sub/record/record.rb +0 -29
  575. data/lib/net_system/sub/record/record_test.rb +0 -11
  576. data/lib/web_system/sub/rack/commands/rack_command_test.rb +0 -11
  577. data/lib/web_system/sub/rack/rack.rb +0 -6
  578. data/lib/web_system/sub/rack/rack_panel_test.rb +0 -11
  579. data/lib/web_system/sub/request/commands/request_command_test.rb +0 -11
  580. data/lib/web_system/sub/request/generators/request_generator.rb +0 -96
  581. data/lib/web_system/sub/request/generators/request_generator_test.rb +0 -11
  582. data/lib/web_system/sub/request/request_panel_test.rb +0 -54
  583. /data/lib/dev_system/{sub → subsystems}/log/log.rb +0 -0
  584. /data/lib/dev_system/{sub → subsystems}/shell/shells/bin_shell.rb +0 -0
  585. /data/lib/dev_system/{sub → subsystems}/shell/shells/kernel_shell_test.rb +0 -0
  586. /data/lib/dev_system/{sub → subsystems}/shell/shells/method_shell.rb +0 -0
  587. /data/lib/dev_system/{sub → subsystems}/shell/shells/text_file_shell.rb +0 -0
  588. /data/lib/happy_system/{sub → subsystems}/axo/commands/axo_command_test.rb +0 -0
  589. /data/lib/liza/{ruby_tests → extra_tests}/object_test.rb +0 -0
  590. /data/lib/liza/{ruby_tests → extra_tests}/string_test.rb +0 -0
  591. /data/lib/net_system/{sub → subsystems}/client/client.rb +0 -0
  592. /data/lib/net_system/{sub → subsystems}/client/client_panel.rb +0 -0
  593. /data/lib/net_system/{sub → subsystems}/database/clients/mongo_client_test.rb +0 -0
  594. /data/lib/net_system/{sub → subsystems}/database/clients/pgsql_client_test.rb +0 -0
  595. /data/lib/net_system/{sub → subsystems}/database/clients/redis_client_test.rb +0 -0
  596. /data/lib/net_system/{sub → subsystems}/database/clients/sqlite_client_test.rb +0 -0
  597. /data/lib/net_system/{sub → subsystems}/database/database.rb +0 -0
  598. /data/lib/net_system/{sub → subsystems}/database/databases/mongo_db.rb +0 -0
  599. /data/lib/net_system/{sub → subsystems}/database/databases/mongo_db_test.rb +0 -0
  600. /data/lib/net_system/{sub → subsystems}/database/databases/mysql_db.rb +0 -0
  601. /data/lib/net_system/{sub → subsystems}/database/databases/mysql_db_test.rb +0 -0
  602. /data/lib/net_system/{sub → subsystems}/database/databases/pgsql_db.rb +0 -0
  603. /data/lib/net_system/{sub → subsystems}/database/databases/pgsql_db_test.rb +0 -0
  604. /data/lib/net_system/{sub → subsystems}/database/databases/redis_db.rb +0 -0
  605. /data/lib/net_system/{sub → subsystems}/database/databases/redis_db_test.rb +0 -0
  606. /data/lib/net_system/{sub → subsystems}/database/databases/sqlite_db.rb +0 -0
  607. /data/lib/net_system/{sub → subsystems}/database/databases/sqlite_db_test.rb +0 -0
  608. /data/lib/net_system/{sub → subsystems}/record/record_panel.rb +0 -0
  609. /data/lib/web_system/{sub → subsystems}/rack/middle_racks/first_middle_rack.rb +0 -0
  610. /data/lib/web_system/{sub → subsystems}/rack/middle_racks/last_middle_rack.rb +0 -0
  611. /data/lib/web_system/{sub → subsystems}/request/request.rb +0 -0
  612. /data/lib/web_system/{sub → subsystems}/request/router_requests/router_request.rb +0 -0
@@ -0,0 +1,940 @@
1
+ class Liza::Test < Liza::Unit
2
+
3
+ section :assertion_totals
4
+
5
+ # Returns or initializes a hash that tracks the totals for various test outcomes.
6
+ #
7
+ # @return [Hash] a hash containing arrays for `:errors`, `:todos`, `:fails`, and `:passes`.
8
+ def self.totals
9
+ @totals ||= {
10
+ errors: [],
11
+ todos: [],
12
+ fails: [],
13
+ passes: [],
14
+ }
15
+ end
16
+
17
+ # Records a "to-do" assertion message.
18
+ #
19
+ # @param msg [String] the message associated with the "to-do" assertion
20
+ def self._assertion_todo msg
21
+ self.totals[:todos] << msg
22
+ end
23
+
24
+ # Records a successful assertion.
25
+ def self._assertion_passed
26
+ self.totals[:passes] << 1
27
+ end
28
+
29
+ # Records a failed assertion with an associated message.
30
+ #
31
+ # @param msg [String] the failure message.
32
+ def self._assertion_failed msg
33
+ self.totals[:fails] << msg
34
+ end
35
+
36
+ # Records an assertion that resulted in an error.
37
+ #
38
+ # @param e [Exception] the exception object related to the error.
39
+ def self._assertion_errored e
40
+ self.totals[:errors] << e
41
+ end
42
+
43
+ # Sets the count of assertions for the instance.
44
+ #
45
+ # @param value [Integer] the number of assertions.
46
+ attr_writer :assertions
47
+
48
+ # Returns the number of assertions made by the instance, initializing to 0 if not set.
49
+ #
50
+ # @return [Integer] the number of assertions.
51
+ def assertions
52
+ @assertions ||= 0
53
+ end
54
+
55
+ # Increments the count of assertions by one.
56
+ def _inc_assertions
57
+ self.assertions += 1
58
+ end
59
+
60
+ section :assertion
61
+
62
+ # Marks a test as a "to-do" with an associated message.
63
+ #
64
+ # @param msg [String] the "to-do" message.
65
+ def todo msg
66
+ self.class._assertion_todo msg
67
+ @last_result = :todo
68
+
69
+ log_test_assertion __method__, caller if _groups.empty?
70
+ end
71
+
72
+ # Provides or initializes an array to manage test group contexts.
73
+ #
74
+ # @return [Array] an array of group blocks.
75
+ def _groups
76
+ @_groups ||= []
77
+ end
78
+
79
+ # Executes a block within a test group context.
80
+ #
81
+ # @param kaller [String] (optional) the caller context for logging.
82
+ # @yield [block] the block of code representing the group.
83
+ # @raise [ArgumentError] if no block is provided.
84
+ def group kaller: nil, **_words, &block
85
+ block_given? || raise(ArgumentError, "No block given")
86
+
87
+ _groups << block
88
+ instance_exec(&block)
89
+ _groups.pop
90
+
91
+ kaller ||= caller
92
+ log_test_assertion __method__, kaller if _groups.empty?
93
+ end
94
+
95
+ section :assertion_basic
96
+
97
+ # Asserts that a condition is true.
98
+ #
99
+ # @param b [Boolean] the condition to check.
100
+ # @param msg [String] (optional) the failure message if the assertion fails.
101
+ # @param kaller [String] (optional) the caller context for logging.
102
+ # @return [Boolean] the result of the assertion.
103
+ def assert b, msg = "it should have been true", kaller: nil
104
+ if b
105
+ self.class._assertion_passed
106
+ @last_result = :passed
107
+ else
108
+ self.class._assertion_failed msg
109
+ @last_result = :failed
110
+ end
111
+
112
+ kaller ||= caller
113
+ log_test_assertion __method__, kaller if _groups.empty?
114
+
115
+ b
116
+ end
117
+
118
+ # Asserts that a condition is false.
119
+ #
120
+ # @param b [Boolean] the condition to check.
121
+ # @param msg [String] (optional) the failure message if the assertion fails.
122
+ # @param kaller [String] (optional) the caller context for logging.
123
+ # @return [Boolean] the result of the assertion.
124
+ def refute b, msg = "it should have been false", kaller: nil
125
+ if b
126
+ self.class._assertion_failed msg
127
+ @last_result = :failed
128
+ else
129
+ self.class._assertion_passed
130
+ @last_result = :passed
131
+ end
132
+
133
+ kaller ||= caller
134
+ log_test_assertion __method__, kaller if _groups.empty?
135
+
136
+ b
137
+ end
138
+
139
+ # Performs an assertion and stops the test execution if it fails.
140
+ #
141
+ # @param b [Boolean] the condition to check.
142
+ # @param msg [String] (optional) the failure message if the assertion fails.
143
+ def assert! b, msg = "it should have been true"
144
+ critical assert b, msg, kaller: caller
145
+ end
146
+
147
+ # Performs a refutation and stops the test execution if it fails.
148
+ #
149
+ # @param b [Boolean] the condition to check.
150
+ # @param msg [String] (optional) the failure message if the refutation fails.
151
+ def refute! b, msg = "it should have been false"
152
+ critical refute b, msg, kaller: caller
153
+ end
154
+
155
+ # Halt test execution if a condition fails by throwing :critical symbol.
156
+ #
157
+ # @param passed [Boolean] the result of the assertion or refutation.
158
+ def critical passed
159
+ throw :critical, :critical if not passed
160
+ end
161
+
162
+ section :assertion_equality
163
+
164
+ ##
165
+ # Asserts that +a+ and +b+ are equal.
166
+ #
167
+ # Passes if +a == b+, fails otherwise. Optionally takes a custom failure message.
168
+ #
169
+ # @param a [Object] The first object to compare.
170
+ # @param b [Object] The second object to compare.
171
+ # @param msg [String, nil] An optional message to display on failure.
172
+ # @param kaller [Array, nil] Optional caller information.
173
+ # @return [Boolean] True if the assertion passes.
174
+ #
175
+ def assert_equality a, b, msg = nil, kaller: nil
176
+ ret = a == b
177
+
178
+ if ret
179
+ self.class._assertion_passed
180
+ @last_result = :passed
181
+ else
182
+ self.class._assertion_failed msg
183
+ @last_result = :failed
184
+ end
185
+
186
+ kaller ||= caller
187
+ log_test_assertion __method__, kaller if _groups.empty?
188
+
189
+ if log_test_assertion_message?
190
+ msg ||= "#{__method__} #{a.inspect}, #{b.inspect} (== equality)"
191
+ log_test_assertion_message ret, msg
192
+ end
193
+
194
+ ret
195
+ end
196
+
197
+ ##
198
+ # Asserts that +a+ and +b+ are *not* equal.
199
+ #
200
+ # Passes if +a != b+, fails otherwise. Optionally takes a custom failure message.
201
+ #
202
+ # @param a [Object] The first object to compare.
203
+ # @param b [Object] The second object to compare.
204
+ # @param msg [String, nil] An optional message to display on failure.
205
+ # @param kaller [Array, nil] Optional caller information.
206
+ # @return [Boolean] True if the assertion passes.
207
+ #
208
+ def refute_equality a, b, msg = nil, kaller: nil
209
+ ret = a == b
210
+
211
+ if ret
212
+ self.class._assertion_failed msg
213
+ @last_result = :failed
214
+ else
215
+ self.class._assertion_passed
216
+ @last_result = :passed
217
+ end
218
+
219
+ kaller ||= caller
220
+ log_test_assertion __method__, kaller if _groups.empty?
221
+
222
+ if log_test_assertion_message?
223
+ msg ||= "#{__method__} #{a}, #{b} (== equality)"
224
+ log_test_assertion_message !ret, msg
225
+ end
226
+
227
+ ret
228
+ end
229
+
230
+ ##
231
+ # Asserts that +a+ and +b+ are equal, stopping execution on failure.
232
+ #
233
+ # Calls {#assert_equality} and halts if the assertion fails.
234
+ #
235
+ # @param a [Object] The first object to compare.
236
+ # @param b [Object] The second object to compare.
237
+ # @param msg [String, nil] An optional message to display on failure.
238
+ # @return [void]
239
+ #
240
+ def assert_equality! a, b, msg = nil
241
+ critical assert_equality a, b, msg, kaller: caller
242
+ end
243
+
244
+ ##
245
+ # Asserts that +a+ and +b+ are *not* equal, stopping execution on failure.
246
+ #
247
+ # Calls {#refute_equality} and halts if the assertion fails.
248
+ #
249
+ # @param a [Object] The first object to compare.
250
+ # @param b [Object] The second object to compare.
251
+ # @param msg [String, nil] An optional message to display on failure.
252
+ # @return [void]
253
+ #
254
+ def refute_equality! a, b, msg = nil
255
+ critical refute_equality a, b, msg, kaller: caller
256
+ end
257
+
258
+ section :assertion_raises
259
+
260
+ ##
261
+ # Asserts that the given block raises an exception of the specified class.
262
+ #
263
+ # Fails if the block does not raise an exception or raises an unexpected type.
264
+ #
265
+ # @param exception_klass [Class] The class of the exception expected.
266
+ # @param msg [String, nil] An optional message to display on failure.
267
+ # @param kaller [Array, nil] Optional caller information.
268
+ # @yield The block to execute.
269
+ # @return [Boolean] True if the assertion passes.
270
+ #
271
+ def assert_raises exception_klass, msg = nil, kaller: nil, &block
272
+ raise ArgumentError, "No block given" unless block_given?
273
+
274
+ ret = false
275
+ begin
276
+ yield
277
+ rescue => e
278
+ ret = exception_klass === e
279
+ error = e
280
+ end
281
+
282
+ if ret
283
+ self.class._assertion_passed
284
+ @last_result = :passed
285
+ else
286
+ self.class._assertion_failed msg
287
+ @last_result = :failed
288
+ end
289
+
290
+ kaller ||= caller
291
+ log_test_assertion __method__, kaller if _groups.empty?
292
+
293
+ if log_test_assertion_message?
294
+ msg ||= "#{__method__} (#{exception_klass}) #{error.inspect}"
295
+ log_test_assertion_message ret, msg
296
+ end
297
+
298
+ ret
299
+ end
300
+
301
+ ##
302
+ # Asserts that the given block does *not* raise an exception of the specified class.
303
+ #
304
+ # Passes if no exception or an unrelated exception is raised.
305
+ #
306
+ # @param exception_klass [Class] The class of the exception that should *not* be raised.
307
+ # @param msg [String, nil] An optional message to display on failure.
308
+ # @param kaller [Array, nil] Optional caller information.
309
+ # @yield The block to execute.
310
+ # @return [Boolean] True if the assertion passes.
311
+ #
312
+ def refute_raises exception_klass, msg = nil, kaller: nil, &block
313
+ raise ArgumentError, "No block given" unless block_given?
314
+
315
+ ret = false
316
+ begin
317
+ yield
318
+ rescue => e
319
+ ret = !exception_klass === e
320
+ error = e
321
+ end
322
+
323
+ if ret
324
+ self.class._assertion_failed msg
325
+ @last_result = :failed
326
+ else
327
+ self.class._assertion_passed
328
+ @last_result = :passed
329
+ end
330
+
331
+ kaller ||= caller
332
+ log_test_assertion __method__, kaller if _groups.empty?
333
+
334
+ if log_test_assertion_message?
335
+ msg ||= "#{__method__} (#{exception_klass}) #{error.inspect}"
336
+ log_test_assertion_message !ret, msg
337
+ end
338
+
339
+ ret
340
+ end
341
+
342
+ ##
343
+ # Asserts that the given block raises an exception, stopping execution on failure.
344
+ #
345
+ # Calls {#assert_raises} and halts if the assertion fails.
346
+ #
347
+ # @param e [Class] The class of the exception expected.
348
+ # @param msg [String, nil] An optional message to display on failure.
349
+ # @return [void]
350
+ #
351
+ def assert_raises! e, msg = nil
352
+ critical assert_raises e, msg, kaller: caller
353
+ end
354
+
355
+ ##
356
+ # Asserts that the given block does *not* raise an exception, stopping execution on failure.
357
+ #
358
+ # Calls {#refute_raises} and halts if the assertion fails.
359
+ #
360
+ # @param e [Class] The class of the exception that should *not* be raised.
361
+ # @param msg [String, nil] An optional message to display on failure.
362
+ # @return [void]
363
+ #
364
+ def refute_raises! e, msg = nil
365
+ critical refute_raises e, msg, kaller: caller
366
+ end
367
+
368
+ section :no_raise
369
+
370
+ ##
371
+ # Asserts that no exception is raised when executing the given block.
372
+ #
373
+ # Passes if the block executes without raising any exception.
374
+ #
375
+ # @param msg [String, nil] An optional message to display on failure.
376
+ # @param kaller [Array, nil] Optional caller information.
377
+ # @yield The block to execute.
378
+ # @return [Boolean] True if the assertion passes.
379
+ #
380
+ def assert_no_raise(msg = nil, kaller: nil, &block)
381
+ raise ArgumentError, "No block given" unless block_given?
382
+
383
+ ret = true
384
+ begin
385
+ yield
386
+ rescue Exception => e
387
+ ret = false
388
+ error = e
389
+ end
390
+
391
+ if ret
392
+ self.class._assertion_passed
393
+ @last_result = :passed
394
+ else
395
+ self.class._assertion_failed msg
396
+ @last_result = :failed
397
+ end
398
+
399
+ kaller ||= caller
400
+ log_test_assertion __method__, kaller if _groups.empty?
401
+
402
+ if log_test_assertion_message?
403
+ msg ||= "#{__method__} - Expected no exception, got #{error.inspect}" unless ret
404
+ log_test_assertion_message ret, msg
405
+ end
406
+
407
+ ret
408
+ end
409
+
410
+ ##
411
+ # Asserts that no exception is raised when executing the given block, stopping execution on failure.
412
+ #
413
+ # Calls {#assert_no_raise} and halts if an exception is raised.
414
+ #
415
+ # @param msg [String, nil] An optional message to display on failure.
416
+ # @yield The block to execute.
417
+ # @return [void]
418
+ #
419
+ def assert_no_raise!(msg = nil, &block)
420
+ critical assert_no_raise(msg, kaller: caller, &block)
421
+ end
422
+
423
+ ##
424
+ # Refutes that no exception is raised when executing the given block.
425
+ #
426
+ # Fails if the block executes without raising an exception.
427
+ #
428
+ # @param msg [String, nil] An optional message to display on failure.
429
+ # @param kaller [Array, nil] Optional caller information.
430
+ # @yield The block to execute.
431
+ # @return [Boolean] True if the assertion fails (i.e., an exception *is* raised).
432
+ #
433
+ def refute_no_raise(msg = nil, kaller: nil, &block)
434
+ raise ArgumentError, "No block given" unless block_given?
435
+
436
+ ret = false
437
+ begin
438
+ yield
439
+ ret = true
440
+ rescue Exception
441
+ ret = false
442
+ end
443
+
444
+ if ret
445
+ self.class._assertion_failed msg
446
+ @last_result = :failed
447
+ else
448
+ self.class._assertion_passed
449
+ @last_result = :passed
450
+ end
451
+
452
+ kaller ||= caller
453
+ log_test_assertion __method__, kaller if _groups.empty?
454
+
455
+ if log_test_assertion_message?
456
+ msg ||= "#{__method__} - Expected an exception to be raised, but none occurred" if ret
457
+ log_test_assertion_message !ret, msg
458
+ end
459
+
460
+ ret
461
+ end
462
+
463
+ ##
464
+ # Refutes that no exception is raised when executing the given block, stopping execution on success.
465
+ #
466
+ # Calls {#refute_no_raise} and halts if no exception is raised.
467
+ #
468
+ # @param msg [String, nil] An optional message to display on failure.
469
+ # @yield The block to execute.
470
+ # @return [void]
471
+ #
472
+ def refute_no_raise!(msg = nil, &block)
473
+ critical refute_no_raise(msg, kaller: caller, &block)
474
+ end
475
+
476
+ section :assertions_arythmetic
477
+
478
+ ##
479
+ # Asserts that +a+ is greater than +b+.
480
+ #
481
+ # Passes if +a > b+, fails otherwise. Optionally takes a custom failure message.
482
+ #
483
+ # @param a [Comparable] The first object to compare.
484
+ # @param b [Comparable] The second object to compare.
485
+ # @param msg [String, nil] An optional message to display on failure.
486
+ # @param kaller [Array, nil] Optional caller information.
487
+ # @return [Boolean] True if the assertion passes.
488
+ def assert_gt a, b, msg = nil, kaller: nil
489
+ raise "First argument is not Comparable (#{a.class})" unless a.is_a?(Comparable)
490
+ raise "Second argument is not Comparable (#{b.class})" unless b.is_a?(Comparable)
491
+ ret = a > b
492
+
493
+ if ret
494
+ self.class._assertion_passed
495
+ @last_result = :passed
496
+ else
497
+ self.class._assertion_failed msg
498
+ @last_result = :failed
499
+ end
500
+
501
+ kaller ||= caller
502
+ log_test_assertion __method__, kaller if _groups.empty?
503
+
504
+ if log_test_assertion_message?
505
+ msg ||= "#{__method__} #{a.inspect}, #{b.inspect} (> greater than)"
506
+ log_test_assertion_message ret, msg
507
+ end
508
+
509
+ ret
510
+ end
511
+
512
+ ##
513
+ # Asserts that +a+ is not greater than +b+.
514
+ #
515
+ # Passes if +a <= b+, fails otherwise. Optionally takes a custom failure message.
516
+ #
517
+ # @param a [Comparable] The first object to compare.
518
+ # @param b [Comparable] The second object to compare.
519
+ # @param msg [String, nil] An optional message to display on failure.
520
+ # @param kaller [Array, nil] Optional caller information.
521
+ # @return [Boolean] True if the assertion passes.
522
+ def refute_gt a, b, msg = nil, kaller: nil
523
+ raise "First argument is not Comparable (#{a.class})" unless a.is_a?(Comparable)
524
+ raise "Second argument is not Comparable (#{b.class})" unless b.is_a?(Comparable)
525
+ ret = a <= b
526
+
527
+ if ret
528
+ self.class._assertion_passed
529
+ @last_result = :passed
530
+ else
531
+ self.class._assertion_failed msg
532
+ @last_result = :failed
533
+ end
534
+
535
+ kaller ||= caller
536
+ log_test_assertion __method__, kaller if _groups.empty?
537
+
538
+ if log_test_assertion_message?
539
+ msg ||= "#{__method__} #{a.inspect}, #{b.inspect} (<= not greater than)"
540
+ log_test_assertion_message ret, msg
541
+ end
542
+
543
+ ret
544
+ end
545
+
546
+ ##
547
+ # Asserts that +a+ is lesser than +b+.
548
+ #
549
+ # Passes if +a > b+, fails otherwise. Optionally takes a custom failure message.
550
+ #
551
+ # @param a [Comparable] The first object to compare.
552
+ # @param b [Comparable] The second object to compare.
553
+ # @param msg [String, nil] An optional message to display on failure.
554
+ # @param kaller [Array, nil] Optional caller information.
555
+ # @return [Boolean] True if the assertion passes.
556
+ def assert_lt a, b, msg = nil, kaller: nil
557
+ raise "First argument is not Comparable (#{a.class})" unless a.is_a?(Comparable)
558
+ raise "Second argument is not Comparable (#{b.class})" unless b.is_a?(Comparable)
559
+ ret = a < b
560
+
561
+ if ret
562
+ self.class._assertion_passed
563
+ @last_result = :passed
564
+ else
565
+ self.class._assertion_failed msg
566
+ @last_result = :failed
567
+ end
568
+
569
+ kaller ||= caller
570
+ log_test_assertion __method__, kaller if _groups.empty?
571
+
572
+ if log_test_assertion_message?
573
+ msg ||= "#{__method__} #{a.inspect}, #{b.inspect} (< lesser than)"
574
+ log_test_assertion_message ret, msg
575
+ end
576
+
577
+ ret
578
+ end
579
+
580
+ ##
581
+ # Asserts that +a+ is not lesser than +b+.
582
+ #
583
+ # Passes if +a >= b+, fails otherwise. Optionally takes a custom failure message.
584
+ #
585
+ # @param a [Comparable] The first object to compare.
586
+ # @param b [Comparable] The second object to compare.
587
+ # @param msg [String, nil] An optional message to display on failure.
588
+ # @param kaller [Array, nil] Optional caller information.
589
+ # @return [Boolean] True if the assertion passes.
590
+ def refute_lt a, b, msg = nil, kaller: nil
591
+ raise "First argument is not Comparable (#{a.class})" unless a.is_a?(Comparable)
592
+ raise "Second argument is not Comparable (#{b.class})" unless b.is_a?(Comparable)
593
+ ret = a >= b
594
+
595
+ if ret
596
+ self.class._assertion_passed
597
+ @last_result = :passed
598
+ else
599
+ self.class._assertion_failed msg
600
+ @last_result = :failed
601
+ end
602
+
603
+ kaller ||= caller
604
+ log_test_assertion __method__, kaller if _groups.empty?
605
+
606
+ if log_test_assertion_message?
607
+ msg ||= "#{__method__} #{a.inspect}, #{b.inspect} (>= not lesser than)"
608
+ log_test_assertion_message ret, msg
609
+ end
610
+
611
+ ret
612
+ end
613
+
614
+ section :dsl
615
+
616
+ def self.call class_index, class_count
617
+ counter_class = "#{class_index.to_s.rjust 3, "0"}/#{class_count.to_s.rjust 3, "0"}"
618
+
619
+ log stick :bold, :white, "+ #{counter_class} #{self} class"
620
+
621
+ array = [test_tree]
622
+ while array.any?
623
+ node = array.pop
624
+ i = 0
625
+
626
+ node.tests.each do |test_words, test_block|
627
+ counter_instance = "#{(i+=1).to_s.rjust 2, '0'}/#{node.tests.size.to_s.rjust 2, '0'}"
628
+ label = test_words.to_a.flatten.join(" ")[0..25]
629
+
630
+ log " #{ counter_class } #{ counter_instance } #{ label.ljust(27)} #{_log_test_block test_block}"
631
+
632
+ log_test_building node, test_block if log_test_building?
633
+
634
+ instance = new test_words, node.before_stack, node.after_stack, &test_block
635
+ instance.call
636
+ end
637
+
638
+ array.concat node.children
639
+ end
640
+
641
+ end
642
+
643
+ attr_reader :test_words
644
+
645
+ def initialize test_words, before_stack, after_stack, &test_block
646
+ @test_words, @before_stack, @after_stack, @test_block = test_words, before_stack, after_stack, test_block
647
+ end
648
+
649
+ def call
650
+ catch :critical do
651
+ @before_stack.each do |stack|
652
+ log " calling stacked before blocks #{stack.map { |bl| _log_test_block bl }}" if log_test_building?
653
+ stack.each do |bl|
654
+ log_test_call "B&", &bl if log_test_call_block?
655
+ instance_exec(&bl)
656
+ end
657
+ end
658
+
659
+ bl = @test_block
660
+ log " calling test block #{_log_test_block bl}" if log_test_building?
661
+ log_test_call "T&", &bl if log_test_call_block?
662
+ instance_exec(&bl)
663
+
664
+ @after_stack.each do |stack|
665
+ log " calling stacked after blocks #{stack.map { |bl| _log_test_block bl }}" if log_test_building?
666
+ stack.each do |bl|
667
+ log_test_call "A&", &bl if log_test_call_block?
668
+ instance_exec(&bl)
669
+ end
670
+ end
671
+ end
672
+ rescue Exception => e
673
+ self.class._assertion_errored e
674
+ log_test_call_rescue e
675
+ ensure
676
+ puts
677
+ end
678
+
679
+ section :log
680
+
681
+
682
+ LOG_BUILDING = false
683
+ LOG_ASSERTION = true
684
+ LOG_ASSERTION_MESSAGE = true
685
+ LOG_CALL_BLOCK = true
686
+
687
+ def self.division
688
+ subject_class.division
689
+ rescue
690
+ Liza::Controller
691
+ end
692
+
693
+ def division
694
+ self.class.division
695
+ end
696
+
697
+ def self.log_test_building?
698
+ LOG_BUILDING
699
+ end
700
+
701
+ def log_test_building?
702
+ self.class.log_test_building?
703
+ end
704
+
705
+ def log_test_assertion?
706
+ LOG_ASSERTION
707
+ end
708
+
709
+ def log_test_assertion_message?
710
+ LOG_ASSERTION_MESSAGE
711
+ end
712
+
713
+ def log_test_call_block?
714
+ LOG_CALL_BLOCK
715
+ end
716
+
717
+ def log_test_call_rescue e
718
+ prefix = stick :light_yellow, "error"
719
+
720
+ kaller = e.backtrace
721
+
722
+ source_location = _caller_line_split(kaller[0])[0]
723
+ source_location = source_location.gsub("#{App.root}/", "")
724
+
725
+ log " #{prefix} #{e.class.to_s.ljust 20} #{source_location}"
726
+
727
+ puts stick :light_red, "Exception!"
728
+ puts stick :light_red, e.class.to_s
729
+ puts stick :light_red, e.message
730
+ puts
731
+ puts stick :light_red, e.backtrace.join("\n")
732
+ end
733
+
734
+ def self.log_test_building node, test_block
735
+ log stick :red, :white, :b, " the building blocks are"
736
+
737
+ node.before_stack.each do |stack|
738
+ stack.each do |bl|
739
+ log stick :red, :white, :b, " before block #{_log_test_block bl}"
740
+ end
741
+ end
742
+
743
+ log stick :red, :white, :b, " test block #{_log_test_block test_block}"
744
+
745
+ node.after_stack.each do |stack|
746
+ stack.each do |bl|
747
+ log stick :red, :white, :b, " after block #{_log_test_block bl}"
748
+ end
749
+ end
750
+ end
751
+
752
+ def log_test_call prefix, &block
753
+ source_location = block.source_location.join(":").gsub("#{App.root}/", "")
754
+ source_location = source_location[0..-1]
755
+ log " #{prefix} #{source_location}"
756
+ end
757
+
758
+ def log_test_assertion method_name, kaller
759
+ _inc_assertions
760
+ prefix = "#{assertions.to_s.rjust 2, "0"} #{_log_test_assertion_tag method_name}"
761
+
762
+ source_location = _caller_line_split(kaller[0])[0]
763
+ source_location = source_location.gsub("#{App.root}/", "")
764
+
765
+ log " #{prefix} #{source_location}" if log_test_assertion?
766
+ end
767
+
768
+ def _log_test_assertion_tag method_name
769
+ "#{log_test_assertion_result} #{stick :bold, :white, method_name.to_s.ljust(20)}"
770
+ end
771
+
772
+ def self._log_test_block test_block
773
+ test_block.source_location.join(":").gsub("#{App.root}/", "")
774
+ end
775
+
776
+ def _log_test_block test_block
777
+ self.class._log_test_block test_block
778
+ end
779
+
780
+ def log_test_assertion_result
781
+ case @last_result
782
+ when :todo
783
+ (stick " todo", :light_blue).to_s
784
+ when :passed
785
+ (stick "passed", :light_green).to_s
786
+ when :failed
787
+ (stick "failed", :light_red).to_s
788
+ else
789
+ raise "Unknown result: #{@last_result}"
790
+ end
791
+ end
792
+
793
+ def log_test_assertion_message b, msg
794
+ if b
795
+ log stick :light_green, " passed #{msg}"
796
+ else
797
+ log stick :light_red, " failed #{msg}"
798
+ end
799
+ end
800
+
801
+ def _caller_line_split s
802
+ x = s.split ":in `"
803
+ x[1] = x[1][0..-2]
804
+ x
805
+ end if Lizarb.ruby_version < "3.4"
806
+
807
+ def _caller_line_split s
808
+ x = s.split ":in '"
809
+ x[1] = x[1][0..-2]
810
+ x
811
+ end if Lizarb.ruby_version >= "3.4"
812
+
813
+ section :subject
814
+
815
+ def self.subject_class
816
+ @subject_class ||=
817
+ if first_namespace == "Liza"
818
+ Liza.const_get last_namespace[0..-5]
819
+ else
820
+ Object.const_get name[0..-5]
821
+ end
822
+ end
823
+
824
+ def subject_class
825
+ self.class.subject_class
826
+ end
827
+
828
+ def subject
829
+ @subject ||= subject_class.new
830
+ end
831
+
832
+ def self.system
833
+ subject_class.system
834
+ rescue
835
+ System
836
+ end
837
+
838
+ def system
839
+ self.class.system
840
+ end
841
+
842
+ section :tree
843
+
844
+ @before_stack = []
845
+ @after_stack = []
846
+
847
+ def self.before_stack; @before_stack ||= superclass.before_stack.dup end
848
+ def self.after_stack; @after_stack ||= superclass.after_stack.dup end
849
+
850
+ def self.test_node; @test_node ||= test_tree end
851
+ # def self.test_tree; @test_tree ||= Liza::TestTreePart.new nil, before_stack, after_stack end
852
+ def self.test_tree; @test_tree ||= Tree.new nil, before_stack, after_stack end
853
+
854
+ #
855
+
856
+ def self.group *words, &block
857
+ raise ArgumentError, "No block given" unless block_given?
858
+ previous = test_node
859
+ @test_node = test_node.branch_out words
860
+ instance_exec(&block)
861
+ @test_node = previous
862
+ end
863
+
864
+ def self.test *words, &block
865
+ raise ArgumentError, "No block given" unless block_given?
866
+ test_node.add_test words, &block
867
+ end
868
+
869
+ def self.before &block
870
+ raise ArgumentError, "No block given" unless block_given?
871
+ test_node.add_before(&block)
872
+ end
873
+
874
+ def self.after &block
875
+ raise ArgumentError, "No block given" unless block_given?
876
+ test_node.add_after(&block)
877
+ end
878
+
879
+ class Tree
880
+
881
+ def log_test_building?
882
+ Liza::Test.log_test_building?
883
+ end
884
+
885
+ attr_reader :tests, :parent, :children, :before_stack, :after_stack
886
+
887
+ def initialize parent, before_stack, after_stack
888
+ @tests = []
889
+ initialize_parenting parent
890
+ initialize_filters before_stack, after_stack
891
+ end
892
+
893
+ def initialize_parenting parent
894
+ @parent = parent || self
895
+ @children = []
896
+ @parent.children << self if @parent != self
897
+ end
898
+
899
+ def initialize_filters before_stack, after_stack
900
+ @before_top, @after_top = [], []
901
+ @before_stack = before_stack.push @before_top
902
+ @after_stack = after_stack.unshift @after_top
903
+ end
904
+
905
+ def add_before &block
906
+ puts "#{self.class} add_before to ##{object_id} #{block}" if log_test_building?
907
+ @before_top.push block
908
+ end
909
+
910
+ def add_test words, &block
911
+ puts "#{self.class} add_test to ##{object_id} #{words} #{block}" if log_test_building?
912
+ tests << [words, block]
913
+ end
914
+
915
+ def add_after &block
916
+ puts "#{self.class} add_after to ##{object_id} #{block}" if log_test_building?
917
+ @after_top.push block
918
+ end
919
+
920
+ def branch_out words, &block
921
+ self.class.new self, before_stack.dup, after_stack.dup
922
+ end
923
+
924
+ end
925
+
926
+ section :default
927
+
928
+ def self.subsystem
929
+ subject_class.subsystem
930
+ end
931
+
932
+ # color
933
+
934
+ def self.color
935
+ subject_class.color
936
+ rescue
937
+ # a workaround for when subject_class is not a Unit
938
+ :white
939
+ end
940
+ end