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,113 @@
1
+ class DevSystem::AppShellTest < DevSystem::ShellTest
2
+
3
+ test :subject_class do
4
+ assert_equality subject_class, DevSystem::AppShell
5
+ end
6
+
7
+ test :writable_systems do
8
+ a = subject_class.writable_systems.keys
9
+ b = [:dev, :happy, :net, :web, :work, :micro, :desk, :crypto, :media, :art, :deep, :prime, :lab, :eco]
10
+ assert_equality a, b
11
+ end
12
+
13
+ test :get_writable_domains do
14
+ expected = {
15
+ "core"=>"Core",
16
+ "dev"=>DevSystem,
17
+ "happy"=>HappySystem,
18
+ "net"=>NetSystem,
19
+ "web"=>WebSystem,
20
+ "work"=>WorkSystem,
21
+ "micro"=>MicroSystem,
22
+ "desk"=>DeskSystem,
23
+ "crypto"=>CryptoSystem,
24
+ "media"=>MediaSystem,
25
+ "art"=>ArtSystem,
26
+ "deep"=>DeepSystem,
27
+ "prime"=>PrimeSystem,
28
+ "lab"=>LabSystem,
29
+ "eco"=>EcoSystem,
30
+ "app"=>"App"
31
+ }
32
+
33
+ assert_equality subject_class.get_writable_domains, expected
34
+ end
35
+
36
+ test :subject do
37
+ system_keys = ["dev", "happy", "net", "web", "work", "micro", "desk", "crypto", "media", "art", "deep", "prime", "lab", "eco"]
38
+ assert_equality subject.consts.keys, [:top_level, :liza, :systems, :app]
39
+ assert_equality subject.consts[:top_level], [Lizarb, App, Liza]
40
+ assert_equality subject.consts[:liza].keys, ["unit", "helper_units", "systemic_units", "subsystemic_units", "extra_tests"]
41
+ assert_equality subject.consts[:systems].keys, system_keys
42
+ assert_equality subject.consts[:app].keys, system_keys
43
+ end
44
+
45
+ test :get_liza_categories do
46
+ assert_equality subject.get_liza_categories.count, 5
47
+ end
48
+
49
+ test :others do
50
+ assert_no_raise do
51
+ subject.sorted_units
52
+ subject.sorted_writable_units
53
+ subject.sorted_writable_units_in_systems
54
+ end
55
+ end
56
+
57
+ test :filters do
58
+ assert_equality subject.filter_history.count, 0
59
+
60
+ c0 = subject.get_units.count
61
+ subject.filter_by_systems :dev
62
+ assert_lt subject.get_units.count, c0
63
+ assert_equality subject.filter_history.count, 1
64
+
65
+ c1 = subject.get_units.count
66
+ subject.filter_by_starting_with "gene"
67
+ assert_lt subject.get_units.count, c1
68
+ assert_equality subject.filter_history.count, 2
69
+
70
+ subject.undo_filter!
71
+ assert_equality subject.get_units.count, c1
72
+ assert_equality subject.filter_history.count, 1
73
+
74
+ subject.undo_filter!
75
+ assert_equality subject.get_units.count, c0
76
+ assert_equality subject.filter_history.count, 0
77
+ end
78
+
79
+ test :domain, :layer do
80
+ layers = subject.get_layers_for_core
81
+ assert_gt layers.count, 0
82
+
83
+ assert_equality layers[0].color, :white
84
+ assert_equality layers[0].level, 1
85
+ assert_equality layers[0].name, "top level"
86
+ assert_equality layers[0].objects.count, 3
87
+ assert_equality layers[0].path, "lib/"
88
+
89
+ #
90
+
91
+ layers = subject.get_layers_for_system DevSystem
92
+ assert_gt layers.count, 0
93
+
94
+ assert_equality layers[0].color, :green
95
+ assert_equality layers[0].level, 1
96
+ assert_equality layers[0].name, "DevSystem"
97
+ assert_equality layers[0].objects.count, 4
98
+ assert_equality layers[0].path, "lib/dev_system"
99
+
100
+ #
101
+
102
+ layers = subject.get_layers_for_app
103
+ assert_gt layers.count, 0
104
+
105
+ assert_equality layers[0].color, :green
106
+ assert_equality layers[0].level, 1
107
+ assert_equality layers[0].name, "App"
108
+ assert_equality layers[0].objects.count, 0
109
+ assert_equality layers[0].path, "app/"
110
+
111
+ end
112
+
113
+ end
@@ -4,10 +4,6 @@ class DevSystem::BinShellTest < DevSystem::FileShellTest
4
4
  assert subject_class == DevSystem::BinShell
5
5
  end
6
6
 
7
- test :settings do
8
- assert_equality subject_class.log_level, 0
9
- end
10
-
11
7
  #
12
8
 
13
9
  test :subject_class, :read, :raise do
@@ -0,0 +1,87 @@
1
+ class DevSystem::ControllerShell < DevSystem::Shell
2
+
3
+ #
4
+
5
+ def self.places_for(controller, directory_name: controller.plural)
6
+ ret = {
7
+ "app" => "#{App.relative_path}/#{controller.system.token}/#{directory_name}",
8
+ }
9
+
10
+ AppShell.writable_systems.each do |system_key, system|
11
+ path = system.source_location_radical.sub "#{App.root}/", ""
12
+ ret[system_key.to_s] = "#{path}/#{directory_name}"
13
+ system.subs.each do |sub|
14
+ ret["#{system_key}/#{sub}"] = "#{path}/subsystems/#{sub}/#{directory_name}"
15
+ end
16
+ end
17
+
18
+ ret
19
+ end
20
+
21
+ def self.places_for_systems(controller_name)
22
+ ret = {}
23
+
24
+ AppShell.writable_systems.each do |system_key, system|
25
+ path = system.source_location_radical.gsub "#{App.root}/", ""
26
+ ret[system_key.to_s] = "#{path}/subsystems/#{controller_name}"
27
+ end
28
+
29
+ ret
30
+ end
31
+
32
+ def self.path_for(place, name)
33
+ system_name, subsystem_name = place.split("/")
34
+ if system_name == "app"
35
+ App.directory / "A"
36
+ elsif subsystem_name
37
+ App.systems_directory / "B"
38
+ else
39
+ App.systems_directory / "#{system_name}_system" / "subsystems" / name
40
+ end
41
+ end
42
+
43
+ def self.place_for(controller)
44
+ path = controller.source_location_path
45
+ system = controller.system
46
+ if path.include? App.directory.to_s
47
+ path = path.sub(App.directory.to_s, '')
48
+ segments = path.split('/')
49
+ # ["", "dev", "commands", "color_command.rb"]
50
+ # :app
51
+ token = segments[3].split("_").last.sub(".rb", "")
52
+ "app/#{segments[1]}/#{token}"
53
+ elsif path.include? system.source_location_radical
54
+ path = path.sub(system.source_location_radical, '')
55
+ segments = path.split('/')
56
+ # 3 ["", "commands", "test_command"]
57
+ # 4 ["", "subsystems", "bench", "bench.rb"]
58
+ # 5 ["", "subsystems", "bench", "commands", "bench_command.rb"]
59
+ case segments.count
60
+ when 3
61
+ "#{system.token}"
62
+ when 4, 5
63
+ token = segments[2]
64
+ "#{system.token}/#{token}"
65
+ else
66
+ raise "unexpected path: #{path} with #{segments.count} segments"
67
+ end
68
+ else
69
+ segments = path.split('/')
70
+ "other #{segments}"
71
+ end
72
+ end
73
+
74
+ def self.unit_for(controller)
75
+ place = place_for(controller)
76
+ segments = place.split('/')
77
+ case segments.count
78
+ when 1
79
+ Liza.const "#{segments[0]}_system"
80
+ when 2, 3
81
+ Liza.const segments.last
82
+ else
83
+ raise "unexpected place: #{place}"
84
+ end
85
+ end
86
+
87
+ end
@@ -0,0 +1,33 @@
1
+ class DevSystem::ControllerShellTest < DevSystem::ShellTest
2
+
3
+ test :subject_class do
4
+ assert_equality subject_class, DevSystem::ControllerShell
5
+ end
6
+
7
+ test :places_for do
8
+ places = subject_class.places_for(Shell, directory_name: "shells")
9
+ assert_equality places.class, Hash
10
+
11
+ assert_equality places["app"], "app/dev/shells"
12
+ assert_equality places["dev"], "lib/dev_system/shells"
13
+ assert_equality places["dev/bench"], "lib/dev_system/subsystems/bench/shells"
14
+ assert_equality places["dev/command"], "lib/dev_system/subsystems/command/shells"
15
+ assert_equality places["dev/generator"], "lib/dev_system/subsystems/generator/shells"
16
+ assert_equality places["dev/log"], "lib/dev_system/subsystems/log/shells"
17
+ assert_equality places["dev/shell"], "lib/dev_system/subsystems/shell/shells"
18
+ assert_equality places["happy"], "lib/happy_system/shells"
19
+
20
+ places = subject_class.places_for(Shell, directory_name: "gem_shells")
21
+ assert_equality places.class, Hash
22
+
23
+ assert_equality places["app"], "app/dev/gem_shells"
24
+ assert_equality places["dev"], "lib/dev_system/gem_shells"
25
+ assert_equality places["dev/bench"], "lib/dev_system/subsystems/bench/gem_shells"
26
+ assert_equality places["dev/command"], "lib/dev_system/subsystems/command/gem_shells"
27
+ assert_equality places["dev/generator"], "lib/dev_system/subsystems/generator/gem_shells"
28
+ assert_equality places["dev/log"], "lib/dev_system/subsystems/log/gem_shells"
29
+ assert_equality places["dev/shell"], "lib/dev_system/subsystems/shell/gem_shells"
30
+ assert_equality places["happy"], "lib/happy_system/gem_shells"
31
+ end
32
+
33
+ end
@@ -12,7 +12,7 @@ class DevSystem::DirShell < DevSystem::FileShell
12
12
  log log_level, "Getting size of directory at '#{path}'"
13
13
  _raise_if_not_exists path
14
14
 
15
- Pathname.new(path).children.inject(0) { |sum, f| sum + f.size }
15
+ Pathname(path).children.inject(0) { |sum, f| sum + f.size }
16
16
  end
17
17
 
18
18
  # CUSTOM
@@ -21,7 +21,7 @@ class DevSystem::DirShell < DevSystem::FileShell
21
21
  log log_level, "Creating directory at '#{path}'"
22
22
  _raise_if_blank path
23
23
 
24
- Pathname.new(path).mkpath
24
+ Pathname(path).mkpath
25
25
  end
26
26
 
27
27
  end
@@ -4,10 +4,6 @@ class DevSystem::DirShellTest < DevSystem::FileShellTest
4
4
  assert subject_class == DevSystem::DirShell
5
5
  end
6
6
 
7
- test :settings do
8
- assert_equality subject_class.log_level, 0
9
- end
10
-
11
7
  #
12
8
 
13
9
  test :subject_class, :exist?, :raise do
@@ -0,0 +1,19 @@
1
+ class DevSystem::EnvShell < DevSystem::Shell
2
+
3
+ define_error :mandatory do |args|
4
+ "Mandatory Environment Variable Not Found: #{args[0]}. Your .env files are: #{App.env_vars}"
5
+ end
6
+
7
+ def self.key?(key)
8
+ ENV.key? key
9
+ end
10
+
11
+ def self.optional(key, default = nil)
12
+ ENV[key] || default
13
+ end
14
+
15
+ def self.mandatory(key)
16
+ ENV[key] or raise_error :mandatory, key, kaller: caller
17
+ end
18
+
19
+ end
@@ -0,0 +1,27 @@
1
+ class DevSystem::EnvShellTest < DevSystem::ShellTest
2
+
3
+ section :subject
4
+
5
+ test :subject_class, :subject do
6
+ assert_equality subject_class, DevSystem::EnvShell
7
+ assert_equality subject.class, DevSystem::EnvShell
8
+ end
9
+
10
+ test :optional do
11
+ refute_equality nil, (subject_class.optional "BUNDLE_GEMFILE")
12
+ refute_equality nil, (subject_class.optional "BUNDLE_GEMFILE", nil)
13
+ assert_equality nil, (subject_class.optional "THIS_ENV_VAR_DOES_NOT_EXIST")
14
+ assert_equality "A", (subject_class.optional "THIS_ENV_VAR_DOES_NOT_EXIST", "A")
15
+ end
16
+
17
+ test :mandatory do
18
+ refute_equality nil, (subject_class.mandatory "BUNDLE_GEMFILE")
19
+ assert_raises(
20
+ DevSystem::EnvShell::MandatoryError,
21
+ "Mandatory Environment Variable Not Found: THIS_ENV_VAR_DOES_NOT_EXIST. Your .env files are: []"
22
+ ) do
23
+ subject_class.mandatory "THIS_ENV_VAR_DOES_NOT_EXIST"
24
+ end
25
+ end
26
+
27
+ end
@@ -0,0 +1,168 @@
1
+ class DevSystem::ErbShell < DevSystem::Shell
2
+
3
+ # https://docs.ruby-lang.org/en/3.2/ERB.html
4
+ Kernel.require "erb"
5
+
6
+ def self.load(path_radical)
7
+ LERB.load path_radical
8
+ end
9
+
10
+ $LERB_VERBOSE = ENV["LERB_VERBOSE"]
11
+
12
+ class LERB < ERB
13
+ class Error < StandardError; end
14
+ class BuildError < Error; end
15
+ class ExecutionError < Error; end
16
+
17
+ # output
18
+
19
+ def self.puts string=nil
20
+ super if $LERB_VERBOSE
21
+ end
22
+
23
+ # loaders
24
+
25
+ DEFAULT_KEY = "inline.txt.erb"
26
+
27
+ def self.load path_radical
28
+ erbs = []
29
+
30
+ "#{path_radical}.rb".tap do |filename|
31
+ _load erbs, filename, :eof
32
+ end
33
+
34
+ Dir.glob("#{path_radical}.rb.*.erb").each do |filename|
35
+ _load erbs, filename, :adjacent
36
+ end
37
+
38
+ Dir.glob("#{path_radical}/*.*.erb").each do |filename|
39
+ _load erbs, filename, :nested
40
+ end
41
+
42
+ #
43
+
44
+ puts "#{erbs.size} erbs"
45
+ erbs.each do |h|
46
+ puts "key: #{h.key}"
47
+ end
48
+
49
+ erbs
50
+ end
51
+
52
+ def self._load erbs, filename, views_type
53
+ is_eof = views_type == :eof
54
+ is_adjacent = views_type == :adjacent
55
+ is_nested = views_type == :nested
56
+
57
+ is_erb = filename.end_with? ".erb"
58
+ is_ignoring_ruby = is_eof
59
+ is_accepting_views = is_eof || is_adjacent
60
+
61
+ puts
62
+ puts "LERB filename: #{filename}"
63
+ puts Liza::Unit.stick :red, "LERB views_type: :#{views_type}"
64
+
65
+ puts "LERB is_eof: #{is_eof}"
66
+ puts "LERB is_adjacent: #{is_adjacent}"
67
+ puts "LERB is_nested: #{is_nested}"
68
+ puts "LERB is_erb: #{is_erb}"
69
+ puts "LERB is_ignoring_ruby: #{is_ignoring_ruby}"
70
+ puts "LERB is_accepting_views: #{is_accepting_views}"
71
+
72
+ current_lineno = 0
73
+ current_content = ""
74
+ current_key = DEFAULT_KEY
75
+
76
+ if is_nested
77
+ current_key = filename.split("/").last.split(".")[-3..-1].join(".")
78
+ puts "LERB declare: #{current_key} | because nested"
79
+ end
80
+
81
+ File.readlines(filename).each.with_index do |line, lineno|
82
+ is_line_end = line == "__END__\n"
83
+
84
+ # stop ignoring ruby lines if line is __END__
85
+ # move to next line if ignoring ruby lines
86
+
87
+ if is_ignoring_ruby
88
+ puts "LERB ignore: #{lineno}: #{line[0..-2]}"
89
+ if is_line_end
90
+ is_ignoring_ruby = false
91
+ is_accepting_views = true
92
+ current_lineno = lineno + 1
93
+ puts "LERB declare: #{current_key} | current" if current_key
94
+ end
95
+ next
96
+ end
97
+
98
+ if is_accepting_views && line[0..6] == "# view "
99
+ _load_into erbs, filename, current_lineno, current_key, current_content
100
+ current_key = line[7..-1].strip
101
+ current_lineno = lineno + 1
102
+ current_content = ""
103
+ puts "LERB declare: #{current_key} | #{lineno}: #{line[0..-2]}"
104
+ else
105
+ current_content += line
106
+ puts "LERB keeping: #{lineno}: #{line[0..-2]}"
107
+ end
108
+
109
+ if is_line_end
110
+ puts "LERB warning: #{lineno}: #{line[0..-2]} found! No longer accepting views"
111
+ is_accepting_views = false
112
+ end
113
+ end
114
+
115
+ _load_into erbs, filename, current_lineno, current_key, current_content
116
+
117
+ erbs
118
+ end
119
+
120
+ def self._load_into erbs, filename, lineno, key, content
121
+ return unless key
122
+ return unless key.end_with? "erb"
123
+ return if content.strip.empty?
124
+
125
+ content += "\n" if content[-1] != "\n"
126
+
127
+ erbs.push new filename, lineno, key, content
128
+ end
129
+
130
+ # format
131
+
132
+ TAG_FORMATS = %w|xml html|
133
+
134
+ def tags?
135
+ TAG_FORMATS.include? format
136
+ end
137
+
138
+ # constructor
139
+
140
+ TRIM_MODE = "<>-"
141
+
142
+ attr_reader :key, :name, :format
143
+
144
+ def initialize filename, lineno, key, content
145
+ segments = key.split("/").last.split(".")
146
+ name, format = segments[0..1]
147
+
148
+ if format.gsub(/[^a-z0-9]/, "") != format
149
+ raise BuildError, "key '#{key}' has an invalid format '#{format}'"
150
+ end
151
+
152
+ super content, trim_mode: TRIM_MODE
153
+ self.filename, self.lineno, @key, @name, @format = filename, lineno, key, name, format
154
+ end
155
+
156
+ # result
157
+
158
+ def result the_binding, receiver=:unset
159
+ super the_binding
160
+ rescue NameError => e
161
+ raise unless e.receiver == receiver
162
+ message = "ERB template for a #{e.receiver.class} instance could not find method '#{e.name}'"
163
+ raise ExecutionError, message, [e.backtrace[0]]
164
+ end
165
+ end
166
+
167
+
168
+ end
@@ -0,0 +1,10 @@
1
+ class DevSystem::ErbShellTest < DevSystem::ShellTest
2
+
3
+
4
+
5
+ test :subject_class, :subject do
6
+ assert_equality DevSystem::ErbShell, subject_class
7
+ assert_equality DevSystem::ErbShell, subject.class
8
+ end
9
+
10
+ end
@@ -0,0 +1,130 @@
1
+ class DevSystem::FileShell < DevSystem::Shell
2
+
3
+ def self._raise_if_blank path
4
+ raise ArgumentError, "Path is required" if path.nil? || path.to_s.empty?
5
+ end
6
+
7
+ def self._raise_if_not_exists path, log_level: self.log_level
8
+ raise ArgumentError, "File does not exist at '#{path}'" unless exist?(path, log_level: log_level)
9
+ end
10
+
11
+ #
12
+
13
+ def self.exist? path, log_level: self.log_level
14
+ log log_level, "Checking if file exists at '#{path}'"
15
+ _raise_if_blank path
16
+
17
+ File.exist? path
18
+ end
19
+
20
+ def self.size path, log_level: self.log_level
21
+ log log_level, "Getting size of file at '#{path}'"
22
+ _raise_if_not_exists path
23
+
24
+ File.size path
25
+ end
26
+
27
+ # category
28
+
29
+ def self.directory? path, log_level: self.log_level
30
+ log log_level, "Checking if '#{path}' is a directory"
31
+ _raise_if_blank path
32
+
33
+ File.directory? path
34
+ end
35
+
36
+ def self.file? path, log_level: self.log_level
37
+ log log_level, "Checking if '#{path}' is a file"
38
+ _raise_if_blank path
39
+
40
+ File.file? path
41
+ end
42
+
43
+ def self.symbolic_link? path, log_level: self.log_level
44
+ log log_level, "Checking if '#{path}' is a symbolic link"
45
+ _raise_if_blank path
46
+
47
+ File.symlink? path
48
+ end
49
+
50
+ def self.category_for path, log_level: self.log_level
51
+ log log_level, "Getting category for '#{path}'"
52
+ _raise_if_blank path
53
+
54
+ return :directory if directory? path, log_level: :highest
55
+ return :file if file? path, log_level: :highest
56
+ return :symbolic_link if symbolic_link? path, log_level: :highest
57
+ end
58
+
59
+ #
60
+
61
+ def self.touch path, log_level: self.log_level
62
+ log log_level, "Touching '#{path}'"
63
+ _raise_if_blank path
64
+
65
+ dir = File.dirname(path)
66
+ DevSystem::DirShell.create dir
67
+
68
+ File.open(path, "w").close
69
+
70
+ true
71
+ end
72
+
73
+ def self.gitkeep path
74
+ touch "#{path}/.gitkeep"
75
+ end
76
+
77
+ # read
78
+
79
+ def self.read_binary(path, log_level: self.log_level)
80
+ # TODO: move all code from BinShell to this file
81
+ BinShell.read path
82
+ end
83
+
84
+ def self.read_text(path, log_level: self.log_level)
85
+ # TODO: move all code from TextShell to this file
86
+ TextShell.read path, log_level:
87
+ end
88
+
89
+ # write
90
+
91
+ def self.write_binary(path, content, create_dir: nil, log_level: self.log_level)
92
+ # TODO: move all code from BinShell to this file
93
+ BinShell.write path, content, create_dir:
94
+ end
95
+
96
+ def self.write_text(path, content, create_dir: nil, log_level: self.log_level)
97
+ # TODO: move all code from TextShell to this file
98
+ TextShell.write path, content, create_dir:, log_level:
99
+ end
100
+
101
+ def self.copy(source, destination, log_level: self.log_level)
102
+ log log_level, "Copying '#{source}' to '#{destination}'"
103
+ source = Pathname(source)
104
+ destination = Pathname(destination)
105
+ _raise_if_blank source
106
+ _raise_if_blank destination
107
+
108
+ if source.directory?
109
+ destination.mkpath
110
+ source.each_child do |child|
111
+ copy(child, destination.join(child.basename))
112
+ end
113
+ else
114
+ destination.dirname.mkpath # Ensure the destination directory exists
115
+ File.open(destination, "wb") do |dest_file|
116
+ File.open(source, "rb") do |src_file|
117
+ dest_file.write(src_file.read)
118
+ end
119
+ end
120
+ end
121
+ end
122
+
123
+ def self.remove(path, log_level: self.log_level)
124
+ log log_level, "Removing '#{path}'"
125
+ _raise_if_blank path
126
+
127
+ File.delete path
128
+ end
129
+
130
+ end
@@ -10,7 +10,7 @@ class DevSystem::FileShellTest < DevSystem::ShellTest
10
10
  time = Time.now.strftime "%Y%m%d_%H%M%S"
11
11
  random = SecureRandom.hex 4
12
12
  ret = Pathname.new(Dir.pwd).join "tmp/test_#{App.mode}_#{name}_#{time}_#{random}"
13
- FileUtils.mkdir_p ret
13
+ Pathname(ret).mkpath
14
14
  log "Created tmp_dir: #{ret}"
15
15
  ret
16
16
  end
@@ -19,7 +19,8 @@ class DevSystem::FileShellTest < DevSystem::ShellTest
19
19
  after do
20
20
  # NOTE: @tmp_dir does not create a new directory for each test
21
21
  if @tmp_dir
22
- FileUtils.rm_rf @tmp_dir
22
+ Pathname(@tmp_dir).rmtree
23
+
23
24
  log "Removed tmp_dir: #{@tmp_dir}"
24
25
  end
25
26
  end
@@ -30,10 +31,6 @@ class DevSystem::FileShellTest < DevSystem::ShellTest
30
31
  assert subject_class == DevSystem::FileShell
31
32
  end
32
33
 
33
- test :settings do
34
- assert_equality subject_class.log_level, 0
35
- end
36
-
37
34
  #
38
35
 
39
36
  test :subject_class, :exist?, :true do
@@ -1,4 +1,4 @@
1
- class DevSystem::GemShell < DevSystem::Shell
1
+ class DevSystem::GemspecShell < DevSystem::Shell
2
2
 
3
3
  #
4
4
 
@@ -1,10 +1,10 @@
1
- class DevSystem::GemShellTest < DevSystem::ShellTest
1
+ class DevSystem::GemspecShellTest < DevSystem::ShellTest
2
2
 
3
3
  #
4
4
 
5
5
  test :subject_class, :subject do
6
- assert_equality DevSystem::GemShell, subject_class
7
- assert_equality DevSystem::GemShell, subject.class
6
+ assert_equality DevSystem::GemspecShell, subject_class
7
+ assert_equality DevSystem::GemspecShell, subject.class
8
8
  end
9
9
 
10
10
  test :subject_class, :gemspec do