lizarb 1.0.3 → 1.0.5

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 (457) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +34 -7
  3. data/Gemfile.lock +179 -18
  4. data/README.md +53 -9
  5. data/Rakefile +38 -0
  6. data/app/dev/commands/color_command.rb +29 -0
  7. data/app/dev/commands/color_command_test.rb +10 -0
  8. data/app/dev/commands/stick_command.rb +102 -0
  9. data/app/dev/commands/stick_command_test.rb +19 -0
  10. data/app/dev_box.rb +54 -20
  11. data/app/happy_box.rb +4 -3
  12. data/app/net/databases/redis_db.rb +1 -1
  13. data/app/net/databases/redis_db_test.rb +5 -5
  14. data/app/net/databases/sqlite_db.rb +1 -1
  15. data/app/net/databases/sqlite_db_test.rb +5 -5
  16. data/app/net/records/app_record.rb +1 -1
  17. data/app/net/records/app_record_test.rb +1 -1
  18. data/app/net/records/post_record_test.rb +1 -1
  19. data/app/net/records/user_record_test.rb +1 -1
  20. data/app/net_box.rb +29 -6
  21. data/app/web/requests/app_request.rb +1 -1
  22. data/app/web/requests/app_request_test.rb +1 -1
  23. data/app/web/requests/foo_request.rb +26 -0
  24. data/app/web/requests/foo_request_test.rb +7 -0
  25. data/app/web_box.rb +17 -9
  26. data/app.rb +41 -10
  27. data/{exe/Gemfile → app_global.gemfile.rb} +2 -0
  28. data/app_global.gemfile.rb.lock +41 -0
  29. data/app_global.rb +5 -0
  30. data/{app → examples/bench/app}/dev/benches/loops_bench.rb +11 -3
  31. data/examples/bench/app/dev/benches/loops_bench_test.rb +11 -0
  32. data/examples/bench/app/dev/benches/objects_bench.rb +48 -0
  33. data/examples/bench/app/dev/benches/objects_bench_test.rb +11 -0
  34. data/examples/bench/app/dev/benches/sorted_bench.rb +74 -0
  35. data/examples/bench/app/dev/benches/sorted_bench_test.rb +11 -0
  36. data/examples/bench/app/dev/benches/variables_bench.rb +61 -0
  37. data/examples/bench/app/dev/benches/variables_bench_test.rb +11 -0
  38. data/examples/client/app/net/clients/news_client.rb +42 -0
  39. data/examples/client/app/net/clients/news_client_test.rb +24 -0
  40. data/{app → examples/command/app}/dev/commands/calculator_command.rb +2 -2
  41. data/{app → examples/command/app}/dev/commands/calculator_command_test.rb +1 -2
  42. data/{app → examples/command/app}/dev/commands/circle_command.rb +2 -2
  43. data/{app → examples/command/app}/dev/commands/circle_command_test.rb +1 -2
  44. data/{app → examples/command/app}/dev/commands/narrative_method_command.rb +8 -10
  45. data/{app → examples/command/app}/dev/commands/narrative_method_command_test.rb +2 -3
  46. data/{app → examples/command/app}/dev/commands/quadratic_command.rb +2 -2
  47. data/{app → examples/command/app}/dev/commands/quadratic_command_test.rb +1 -2
  48. data/examples/command/app/dev_box.rb +3 -0
  49. data/examples/log/app/dev/logs/logger_log.rb +8 -0
  50. data/examples/log/app/dev/logs/logger_log_test.rb +16 -0
  51. data/examples/new/app/dev_box.rb +67 -0
  52. data/examples/new/app.rb +41 -0
  53. data/examples/shell/app/dev/shells/bash_adapter_shell.rb +25 -0
  54. data/examples/shell/app/dev/shells/bash_adapter_shell_test.rb +23 -0
  55. data/examples/shell/app/dev/shells/business_logic_shell.rb +42 -0
  56. data/examples/shell/app/dev/shells/business_logic_shell_test.rb +39 -0
  57. data/examples/shell/app/dev/shells/gem_adapter_shell.rb +33 -0
  58. data/examples/shell/app/dev/shells/gem_adapter_shell_test.rb +23 -0
  59. data/exe/liza +6 -1
  60. data/exe/lizarb +9 -1
  61. data/lib/app.rb +74 -145
  62. data/lib/art_system/art_box.rb +5 -0
  63. data/lib/art_system/art_box_test.rb +8 -0
  64. data/lib/art_system.rb +8 -0
  65. data/lib/crypto_system/crypto_box.rb +5 -0
  66. data/lib/crypto_system/crypto_box_test.rb +8 -0
  67. data/lib/crypto_system.rb +8 -0
  68. data/lib/deep_system/deep_box.rb +5 -0
  69. data/lib/deep_system/deep_box_test.rb +8 -0
  70. data/lib/deep_system.rb +8 -0
  71. data/lib/desk_system/commands/glimmer_command.rb +26 -0
  72. data/lib/desk_system/commands/glimmer_command_test.rb +10 -0
  73. data/lib/desk_system/desk_box.rb +5 -0
  74. data/lib/desk_system/desk_box_test.rb +8 -0
  75. data/lib/desk_system.rb +8 -0
  76. data/lib/dev_system/{dev/controllers/command → commands}/test_command.rb +37 -9
  77. data/lib/dev_system/{dev/controllers/command → commands}/test_command_test.rb +1 -2
  78. data/lib/dev_system/dev_box.rb +79 -0
  79. data/lib/dev_system/dev_box_test.rb +33 -0
  80. data/lib/dev_system/generators/env_generator.rb +87 -0
  81. data/lib/dev_system/generators/env_generator_test.rb +11 -0
  82. data/lib/dev_system/generators/gemfile_generator.rb +47 -0
  83. data/lib/dev_system/generators/gemfile_generator_test.rb +11 -0
  84. data/lib/dev_system/generators/system_generator.rb +70 -0
  85. data/lib/dev_system/generators/system_generator_test.rb +11 -0
  86. data/lib/dev_system/sub/bench/bench.rb +7 -0
  87. data/lib/dev_system/{dev/panels → sub/bench}/bench_panel_test.rb +6 -2
  88. data/lib/dev_system/sub/bench/bench_test.rb +24 -0
  89. data/lib/dev_system/sub/bench/benches/not_found_bench.rb +33 -0
  90. data/lib/dev_system/{dev/controllers/bench → sub/bench/benches}/not_found_bench_test.rb +1 -2
  91. data/lib/dev_system/{dev/controllers/command → sub/bench/commands}/bench_command.rb +2 -7
  92. data/lib/dev_system/{dev/controllers/command → sub/bench/commands}/bench_command_test.rb +1 -2
  93. data/lib/dev_system/sub/bench/generators/bench_generator.rb +70 -0
  94. data/lib/dev_system/sub/bench/generators/bench_generator_test.rb +10 -0
  95. data/lib/dev_system/sub/command/command.rb +28 -0
  96. data/lib/dev_system/sub/command/command_panel.rb +151 -0
  97. data/lib/dev_system/sub/command/command_panel_test.rb +78 -0
  98. data/lib/dev_system/{dev/controllers → sub/command}/command_test.rb +6 -2
  99. data/lib/dev_system/sub/command/commands/base_command.rb +48 -0
  100. data/lib/dev_system/sub/command/commands/base_command_test.rb +11 -0
  101. data/lib/dev_system/{dev/controllers/terminal/irb_terminal.rb → sub/command/commands/irb_command.rb} +4 -2
  102. data/lib/dev_system/sub/command/commands/irb_command_test.rb +11 -0
  103. data/lib/dev_system/sub/command/commands/not_found_command.rb +156 -0
  104. data/lib/dev_system/sub/command/commands/not_found_command_test.rb +11 -0
  105. data/lib/dev_system/sub/command/commands/pry_command.rb +10 -0
  106. data/lib/dev_system/sub/command/commands/pry_command_test.rb +11 -0
  107. data/lib/dev_system/sub/command/commands/simple_command.rb +143 -0
  108. data/lib/dev_system/sub/command/commands/simple_command_test.rb +11 -0
  109. data/lib/dev_system/sub/command/generators/command_generator.rb +90 -0
  110. data/lib/dev_system/sub/command/generators/command_generator_test.rb +11 -0
  111. data/lib/dev_system/sub/command/input_commands/highline_input_command.rb +17 -0
  112. data/lib/dev_system/sub/command/input_commands/highline_input_command_test.rb +19 -0
  113. data/lib/dev_system/sub/command/input_commands/input_command.rb +20 -0
  114. data/lib/dev_system/sub/command/input_commands/input_command_test.rb +19 -0
  115. data/lib/dev_system/sub/command/input_commands/tty_input_command.rb +55 -0
  116. data/lib/dev_system/sub/command/input_commands/tty_input_command_test.rb +19 -0
  117. data/lib/dev_system/sub/generator/commands/generate_command.rb +9 -0
  118. data/lib/dev_system/sub/generator/commands/generate_command_test.rb +11 -0
  119. data/lib/dev_system/sub/generator/commands/new_command.rb +10 -0
  120. data/lib/dev_system/sub/generator/commands/new_command_test.rb +7 -0
  121. data/lib/dev_system/sub/generator/generator.rb +19 -0
  122. data/lib/dev_system/sub/generator/generator_panel.rb +98 -0
  123. data/lib/dev_system/sub/generator/generator_panel_test.rb +79 -0
  124. data/lib/dev_system/{dev/controllers → sub/generator}/generator_test.rb +6 -2
  125. data/lib/dev_system/sub/generator/generators/base_generator.rb +64 -0
  126. data/lib/dev_system/sub/generator/generators/base_generator_test.rb +11 -0
  127. data/lib/dev_system/sub/generator/generators/generator_generator.rb +71 -0
  128. data/lib/dev_system/sub/generator/generators/generator_generator_test.rb +11 -0
  129. data/lib/dev_system/sub/generator/generators/new_generator.rb +74 -0
  130. data/lib/dev_system/sub/generator/generators/new_generator_test.rb +11 -0
  131. data/lib/dev_system/sub/generator/generators/not_found_generator.rb +155 -0
  132. data/lib/dev_system/sub/generator/generators/not_found_generator_test.rb +11 -0
  133. data/lib/dev_system/sub/generator/generators/simple_generator.rb +257 -0
  134. data/lib/dev_system/sub/generator/generators/simple_generator_test.rb +38 -0
  135. data/lib/dev_system/sub/log/commands/log_command.rb +11 -0
  136. data/lib/dev_system/sub/log/commands/log_command_test.rb +11 -0
  137. data/lib/dev_system/sub/log/generators/log_generator.rb +54 -0
  138. data/lib/dev_system/sub/log/generators/log_generator_test.rb +10 -0
  139. data/lib/dev_system/sub/log/log.rb +3 -0
  140. data/lib/dev_system/sub/log/log_panel.rb +47 -0
  141. data/lib/dev_system/sub/log/log_panel_test.rb +50 -0
  142. data/lib/dev_system/sub/log/log_test.rb +16 -0
  143. data/lib/dev_system/sub/log/logs/output_log.rb +74 -0
  144. data/lib/dev_system/sub/log/logs/output_log_test.rb +47 -0
  145. data/lib/dev_system/sub/log/logs/stick_log.rb +79 -0
  146. data/lib/dev_system/sub/log/logs/stick_log_test.rb +88 -0
  147. data/lib/dev_system/sub/shell/commands/convert_command.rb +27 -0
  148. data/lib/dev_system/sub/shell/commands/convert_command_test.rb +10 -0
  149. data/lib/dev_system/sub/shell/commands/format_command.rb +25 -0
  150. data/lib/dev_system/sub/shell/commands/format_command_test.rb +10 -0
  151. data/lib/dev_system/sub/shell/commands/loc_command.rb +211 -0
  152. data/lib/dev_system/sub/shell/commands/loc_command_test.rb +10 -0
  153. data/lib/dev_system/sub/shell/commands/shell_command.rb +45 -0
  154. data/lib/dev_system/sub/shell/commands/shell_command_test.rb +11 -0
  155. data/lib/dev_system/sub/shell/converter_shells/coffee_converter_shell.rb +21 -0
  156. data/lib/dev_system/sub/shell/converter_shells/coffee_converter_shell_test.rb +41 -0
  157. data/lib/dev_system/sub/shell/converter_shells/converter_shell.rb +13 -0
  158. data/lib/dev_system/sub/shell/converter_shells/converter_shell_test.rb +19 -0
  159. data/lib/dev_system/sub/shell/converter_shells/haml_converter_shell.rb +30 -0
  160. data/lib/dev_system/sub/shell/converter_shells/haml_converter_shell_test.rb +34 -0
  161. data/lib/dev_system/sub/shell/converter_shells/md_converter_shell.rb +21 -0
  162. data/lib/dev_system/sub/shell/converter_shells/md_converter_shell_test.rb +38 -0
  163. data/lib/dev_system/sub/shell/converter_shells/scss_converter_shell.rb +59 -0
  164. data/lib/dev_system/sub/shell/converter_shells/scss_converter_shell_test.rb +59 -0
  165. data/lib/dev_system/sub/shell/formatter_shells/formatter_shell.rb +13 -0
  166. data/lib/dev_system/sub/shell/formatter_shells/formatter_shell_test.rb +19 -0
  167. data/lib/dev_system/sub/shell/formatter_shells/html_formatter_shell.rb +20 -0
  168. data/lib/dev_system/sub/shell/formatter_shells/html_formatter_shell_test.rb +51 -0
  169. data/lib/dev_system/sub/shell/generators/shell_generator.rb +68 -0
  170. data/lib/dev_system/sub/shell/generators/shell_generator_test.rb +10 -0
  171. data/lib/dev_system/{dev/controllers → sub/shell}/shell.rb +22 -0
  172. data/lib/dev_system/sub/shell/shell_panel.rb +98 -0
  173. data/lib/dev_system/sub/shell/shell_panel_test.rb +18 -0
  174. data/lib/dev_system/{dev/controllers → sub/shell}/shell_test.rb +31 -2
  175. data/lib/dev_system/sub/shell/shells/app_shell.rb +185 -0
  176. data/lib/dev_system/sub/shell/shells/app_shell_test.rb +26 -0
  177. data/lib/dev_system/{dev/controllers/shell → sub/shell/shells}/bin_shell_test.rb +1 -2
  178. data/lib/dev_system/sub/shell/shells/color_shell.rb +389 -0
  179. data/lib/dev_system/sub/shell/shells/color_shell_test.rb +27 -0
  180. data/lib/dev_system/sub/shell/shells/controller_shell.rb +20 -0
  181. data/lib/dev_system/sub/shell/shells/controller_shell_test.rb +16 -0
  182. data/lib/dev_system/sub/shell/shells/dir_shell.rb +27 -0
  183. data/lib/dev_system/{dev/controllers/shell → sub/shell/shells}/dir_shell_test.rb +1 -5
  184. data/lib/dev_system/{dev/controllers/shell → sub/shell/shells}/file_shell.rb +4 -4
  185. data/lib/dev_system/{dev/controllers/shell → sub/shell/shells}/file_shell_test.rb +1 -2
  186. data/lib/dev_system/sub/shell/shells/gem_shell.rb +21 -0
  187. data/lib/dev_system/sub/shell/shells/gem_shell_test.rb +28 -0
  188. data/lib/dev_system/sub/shell/shells/kernel_shell.rb +22 -0
  189. data/lib/dev_system/sub/shell/shells/kernel_shell_test.rb +10 -0
  190. data/lib/dev_system/sub/shell/shells/line_diff_shell.rb +26 -0
  191. data/lib/dev_system/sub/shell/shells/line_diff_shell_test.rb +11 -0
  192. data/lib/dev_system/sub/shell/shells/line_shell.rb +56 -0
  193. data/lib/dev_system/sub/shell/shells/line_shell_test.rb +70 -0
  194. data/lib/dev_system/sub/shell/shells/method_shell.rb +52 -0
  195. data/lib/dev_system/sub/shell/shells/method_shell_test.rb +34 -0
  196. data/lib/dev_system/sub/shell/shells/text_file_shell.rb +14 -0
  197. data/lib/dev_system/sub/shell/shells/text_file_shell_test.rb +11 -0
  198. data/lib/dev_system/sub/shell/shells/text_shell.rb +65 -0
  199. data/lib/dev_system/{dev/controllers/shell → sub/shell/shells}/text_shell_test.rb +1 -2
  200. data/lib/dev_system.rb +8 -2
  201. data/lib/happy_system/happy_box.rb +9 -0
  202. data/lib/happy_system/happy_box_test.rb +24 -0
  203. data/lib/happy_system/sub/axo/axo.rb +10 -0
  204. data/lib/happy_system/sub/axo/axo_panel.rb +9 -0
  205. data/lib/happy_system/sub/axo/axo_panel_test.rb +16 -0
  206. data/lib/happy_system/sub/axo/axo_test.rb +16 -0
  207. data/lib/happy_system/sub/axo/commands/axo_command.rb +40 -0
  208. data/lib/happy_system/sub/axo/commands/axo_command_test.rb +8 -0
  209. data/lib/happy_system/sub/axo/generators/axo_generator.rb +79 -0
  210. data/lib/happy_system/sub/axo/generators/axo_generator_test.rb +11 -0
  211. data/lib/happy_system.rb +4 -2
  212. data/lib/lab_system/clients/kroki_client.rb +134 -0
  213. data/lib/lab_system/clients/kroki_client_test.rb +32 -0
  214. data/lib/lab_system/clients/liza_kroki_client.rb +176 -0
  215. data/lib/lab_system/clients/liza_kroki_client_test.rb +32 -0
  216. data/lib/lab_system/commands/docker_command.rb +61 -0
  217. data/lib/lab_system/commands/docker_command_test.rb +11 -0
  218. data/lib/lab_system/lab_box.rb +5 -0
  219. data/lib/lab_system/lab_box_test.rb +8 -0
  220. data/lib/lab_system/requests/kroki_request.rb +182 -0
  221. data/lib/lab_system/requests/kroki_request_test.rb +11 -0
  222. data/lib/lab_system/shells/docker_shell.rb +60 -0
  223. data/lib/lab_system/shells/docker_shell_test.rb +61 -0
  224. data/lib/lab_system/shells/kroki_docker_shell.rb +20 -0
  225. data/lib/lab_system/shells/kroki_docker_shell_test.rb +11 -0
  226. data/lib/lab_system.rb +8 -0
  227. data/lib/lerb.rb +95 -49
  228. data/lib/liza/base/controller.rb +14 -15
  229. data/lib/liza/base/controller_test.rb +28 -2
  230. data/lib/liza/base/panel.rb +64 -24
  231. data/lib/liza/base/panel_test.rb +168 -3
  232. data/lib/liza/base_parts/controller_subsystem_part.rb +93 -0
  233. data/lib/liza/base_parts/panel_rescuer_part.rb +129 -0
  234. data/lib/liza/meta/box.rb +24 -0
  235. data/lib/liza/meta/box_test.rb +20 -0
  236. data/lib/liza/meta/part_test.rb +6 -1
  237. data/lib/liza/meta/system.rb +50 -7
  238. data/lib/liza/meta/system_test.rb +6 -2
  239. data/lib/liza/ruby_tests/app_test.rb +39 -0
  240. data/lib/liza/ruby_tests/class_test.rb +20 -0
  241. data/lib/liza/ruby_tests/module_test.rb +4 -4
  242. data/lib/liza/{ruby_test.rb → ruby_tests/object_test.rb} +1 -1
  243. data/lib/liza/ruby_tests/string_test.rb +3 -1
  244. data/lib/liza/{test → safety}/test.rb +9 -0
  245. data/lib/liza/{test → safety}/test_test.rb +44 -7
  246. data/lib/liza/{test_parts → safety_parts}/test_assertions_advanced_part.rb +1 -1
  247. data/lib/liza/{test_parts → safety_parts}/test_assertions_part.rb +1 -1
  248. data/lib/liza/{test_parts → safety_parts}/test_dsl_part.rb +3 -3
  249. data/lib/liza/{test_parts → safety_parts}/test_log_part.rb +20 -0
  250. data/lib/liza/{test_parts → safety_parts}/test_subject_part.rb +10 -0
  251. data/lib/liza/safety_parts/test_tree_part.rb +87 -0
  252. data/lib/liza/unit.rb +64 -120
  253. data/lib/liza/unit_parts/unit_classes_part.rb +37 -0
  254. data/lib/liza/unit_parts/unit_classes_part_test.rb +3 -0
  255. data/lib/liza/unit_parts/unit_logging_part.rb +139 -0
  256. data/lib/liza/unit_parts/unit_logging_part_test.rb +3 -0
  257. data/lib/liza/unit_parts/unit_methods_part.rb +35 -0
  258. data/lib/liza/unit_parts/unit_methods_part_test.rb +3 -0
  259. data/lib/liza/unit_parts/unit_procedure_part.rb +2 -2
  260. data/lib/liza/unit_parts/unit_procedure_part_test.rb +9 -9
  261. data/lib/liza/unit_parts/unit_renderer_part.rb +171 -0
  262. data/lib/liza/unit_parts/unit_renderer_part_test.rb +15 -0
  263. data/lib/liza/unit_parts/unit_settings_part.rb +84 -0
  264. data/lib/liza/unit_parts/unit_settings_part_test.rb +3 -0
  265. data/lib/liza/unit_test.rb +114 -5
  266. data/lib/liza.rb +11 -2
  267. data/lib/lizarb/ruby/class.rb +9 -1
  268. data/lib/lizarb/ruby/module.rb +1 -1
  269. data/lib/lizarb/ruby/string.rb +3 -1
  270. data/lib/lizarb/version.rb +1 -1
  271. data/lib/lizarb.rb +404 -29
  272. data/lib/micro_system/micro_box.rb +5 -0
  273. data/lib/micro_system/micro_box_test.rb +8 -0
  274. data/lib/micro_system.rb +8 -0
  275. data/lib/net_system/net_box.rb +21 -0
  276. data/lib/net_system/{net/net_box_test.rb → net_box_test.rb} +1 -2
  277. data/lib/net_system/{net/panels → sub/client}/client_panel_test.rb +1 -2
  278. data/lib/net_system/{net/controllers → sub/client}/client_test.rb +1 -2
  279. data/lib/net_system/sub/client/generators/client_generator.rb +88 -0
  280. data/lib/net_system/sub/client/generators/client_generator_test.rb +10 -0
  281. data/lib/net_system/sub/database/clients/mongo_client.rb +33 -0
  282. data/lib/net_system/sub/database/clients/mongo_client_test.rb +20 -0
  283. data/lib/net_system/sub/database/clients/mysql_client.rb +29 -0
  284. data/lib/net_system/sub/database/clients/mysql_client_test.rb +23 -0
  285. data/lib/net_system/sub/database/clients/pgsql_client.rb +29 -0
  286. data/lib/net_system/sub/database/clients/pgsql_client_test.rb +25 -0
  287. data/lib/net_system/{net/controllers/client → sub/database/clients}/redis_client.rb +5 -2
  288. data/lib/net_system/{net/controllers/client → sub/database/clients}/redis_client_test.rb +2 -2
  289. data/lib/net_system/{net/controllers/client → sub/database/clients}/sqlite_client.rb +5 -2
  290. data/lib/net_system/{net/controllers/client → sub/database/clients}/sqlite_client_test.rb +2 -2
  291. data/lib/net_system/sub/database/commands/database_command.rb +32 -0
  292. data/lib/net_system/sub/database/commands/database_command_test.rb +11 -0
  293. data/lib/net_system/{net/panels → sub/database}/database_panel_test.rb +1 -2
  294. data/lib/net_system/{net/controllers → sub/database}/database_test.rb +1 -2
  295. data/lib/net_system/sub/database/databases/mongo_db.rb +8 -0
  296. data/lib/net_system/sub/database/databases/mongo_db_test.rb +21 -0
  297. data/lib/net_system/sub/database/databases/mysql_db.rb +8 -0
  298. data/lib/net_system/sub/database/databases/mysql_db_test.rb +21 -0
  299. data/lib/net_system/sub/database/databases/pgsql_db.rb +8 -0
  300. data/lib/net_system/sub/database/databases/pgsql_db_test.rb +21 -0
  301. data/lib/net_system/{net/controllers/database → sub/database/databases}/redis_db_test.rb +1 -1
  302. data/lib/net_system/{net/controllers/database → sub/database/databases}/sqlite_db_test.rb +1 -1
  303. data/lib/net_system/sub/record/generators/record_generator.rb +33 -0
  304. data/lib/net_system/sub/record/generators/record_generator_test.rb +11 -0
  305. data/lib/net_system/sub/record/record_panel.rb +3 -0
  306. data/lib/net_system/sub/record/record_panel_test.rb +11 -0
  307. data/lib/net_system/{net/controllers → sub/record}/record_test.rb +1 -2
  308. data/lib/net_system.rb +8 -1
  309. data/lib/web_system/sub/rack/commands/rack_command.rb +30 -0
  310. data/lib/web_system/sub/rack/commands/rack_command_test.rb +11 -0
  311. data/lib/web_system/sub/rack/middle_racks/first_middle_rack.rb +8 -0
  312. data/lib/web_system/sub/rack/middle_racks/first_middle_rack_test.rb +11 -0
  313. data/lib/web_system/sub/rack/middle_racks/last_middle_rack.rb +3 -0
  314. data/lib/web_system/sub/rack/middle_racks/last_middle_rack_test.rb +11 -0
  315. data/lib/web_system/sub/rack/middle_racks/middle_rack.rb +18 -0
  316. data/lib/web_system/sub/rack/middle_racks/middle_rack_test.rb +11 -0
  317. data/lib/web_system/sub/rack/middle_racks/zeitwerk_middle_rack.rb +11 -0
  318. data/lib/web_system/sub/rack/middle_racks/zeitwerk_middle_rack_test.rb +11 -0
  319. data/lib/web_system/sub/rack/rack_panel.rb +52 -0
  320. data/lib/web_system/{web/panels → sub/rack}/rack_panel_test.rb +1 -2
  321. data/lib/web_system/{web/controllers → sub/rack}/rack_test.rb +1 -2
  322. data/lib/web_system/sub/rack/server_racks/agoo_server_rack.rb +53 -0
  323. data/lib/web_system/sub/rack/server_racks/agoo_server_rack_test.rb +11 -0
  324. data/lib/web_system/sub/rack/server_racks/falcon_server_rack.rb +46 -0
  325. data/lib/web_system/sub/rack/server_racks/falcon_server_rack_test.rb +11 -0
  326. data/lib/web_system/sub/rack/server_racks/iodine_server_rack.rb +47 -0
  327. data/lib/web_system/sub/rack/server_racks/iodine_server_rack_test.rb +11 -0
  328. data/lib/web_system/sub/rack/server_racks/puma_server_rack.rb +48 -0
  329. data/lib/web_system/sub/rack/server_racks/puma_server_rack_test.rb +11 -0
  330. data/lib/web_system/sub/rack/server_racks/server_rack.rb +12 -0
  331. data/lib/web_system/sub/rack/server_racks/server_rack_test.rb +11 -0
  332. data/lib/web_system/sub/rack/server_racks/thin_server_rack.rb +85 -0
  333. data/lib/web_system/sub/rack/server_racks/thin_server_rack_test.rb +11 -0
  334. data/lib/web_system/sub/request/commands/request_command.rb +125 -0
  335. data/lib/web_system/sub/request/commands/request_command_test.rb +11 -0
  336. data/lib/web_system/sub/request/generators/request_generator.rb +96 -0
  337. data/lib/web_system/sub/request/generators/request_generator_test.rb +11 -0
  338. data/lib/web_system/sub/request/request_panel.rb +69 -0
  339. data/lib/web_system/sub/request/request_panel_test.rb +54 -0
  340. data/lib/web_system/{web/controllers → sub/request}/request_test.rb +1 -2
  341. data/lib/web_system/sub/request/requests/simple_request.rb +95 -0
  342. data/lib/web_system/sub/request/requests/simple_request_test.rb +11 -0
  343. data/lib/web_system/sub/request/router_requests/router_request.rb +7 -0
  344. data/lib/web_system/sub/request/router_requests/router_request_test.rb +11 -0
  345. data/lib/web_system/sub/request/router_requests/simple_router_request.rb +24 -0
  346. data/lib/web_system/sub/request/router_requests/simple_router_request_test.rb +11 -0
  347. data/lib/web_system/web_box.rb +17 -0
  348. data/lib/web_system/{web/web_box_test.rb → web_box_test.rb} +1 -2
  349. data/lib/web_system.rb +9 -3
  350. data/lib/work_system/work_box.rb +5 -0
  351. data/lib/work_system/work_box_test.rb +8 -0
  352. data/lib/work_system.rb +8 -0
  353. data/lizarb.gemspec +14 -8
  354. metadata +375 -168
  355. data/.ruby-version +0 -1
  356. data/app/dev/benches/app_bench.rb +0 -5
  357. data/app/dev/benches/app_bench_test.rb +0 -7
  358. data/app/dev/benches/loops_bench_test.rb +0 -11
  359. data/app/dev/commands/app_command.rb +0 -5
  360. data/app/dev/commands/app_command_test.rb +0 -7
  361. data/app/dev/commands/new_command.rb +0 -9
  362. data/app/dev/commands/new_command_test.rb +0 -7
  363. data/app/dev/generators/bench_generator/bench.rb.erb +0 -24
  364. data/app/dev/generators/bench_generator/bench_test.rb.erb +0 -12
  365. data/app/dev/generators/bench_generator.rb +0 -18
  366. data/app/dev/generators/bench_generator_test.rb +0 -12
  367. data/app/dev/generators/command_generator/command.rb.erb +0 -26
  368. data/app/dev/generators/command_generator/command_test.rb.erb +0 -12
  369. data/app/dev/generators/command_generator.rb +0 -18
  370. data/app/dev/generators/command_generator_test.rb +0 -12
  371. data/app/dev/generators/record_generator.rb +0 -46
  372. data/app/dev/generators/record_generator_test.rb +0 -12
  373. data/app/dev/generators/request_generator.rb +0 -63
  374. data/app/dev/generators/request_generator_test.rb +0 -12
  375. data/app/happy/axos/axo.rb +0 -50
  376. data/exe/Gemfile.lock +0 -13
  377. data/exe/lrb +0 -3
  378. data/lib/dev_system/dev/controllers/bench/not_found_bench.rb +0 -27
  379. data/lib/dev_system/dev/controllers/bench.rb +0 -9
  380. data/lib/dev_system/dev/controllers/bench_dsl_main_part.rb +0 -58
  381. data/lib/dev_system/dev/controllers/bench_test.rb +0 -12
  382. data/lib/dev_system/dev/controllers/command/echo_command.rb +0 -9
  383. data/lib/dev_system/dev/controllers/command/echo_command_test.rb +0 -12
  384. data/lib/dev_system/dev/controllers/command/generate_command.rb +0 -33
  385. data/lib/dev_system/dev/controllers/command/generate_command_test.rb +0 -12
  386. data/lib/dev_system/dev/controllers/command/not_found_command.rb +0 -27
  387. data/lib/dev_system/dev/controllers/command/not_found_command_test.rb +0 -12
  388. data/lib/dev_system/dev/controllers/command/terminal_command.rb +0 -22
  389. data/lib/dev_system/dev/controllers/command/terminal_command_test.rb +0 -12
  390. data/lib/dev_system/dev/controllers/command/version_command.rb +0 -7
  391. data/lib/dev_system/dev/controllers/command/version_command_test.rb +0 -12
  392. data/lib/dev_system/dev/controllers/command.rb +0 -17
  393. data/lib/dev_system/dev/controllers/generator.rb +0 -9
  394. data/lib/dev_system/dev/controllers/generator_dsl_main_part.rb +0 -52
  395. data/lib/dev_system/dev/controllers/generators/app_generator.rb +0 -146
  396. data/lib/dev_system/dev/controllers/generators/app_generator_test.rb +0 -12
  397. data/lib/dev_system/dev/controllers/generators/generator_generator/generator.rb.erb +0 -18
  398. data/lib/dev_system/dev/controllers/generators/generator_generator/generator_test.rb.erb +0 -12
  399. data/lib/dev_system/dev/controllers/generators/generator_generator/template.rb.erb +0 -9
  400. data/lib/dev_system/dev/controllers/generators/generator_generator/template_test.rb.erb +0 -12
  401. data/lib/dev_system/dev/controllers/generators/generator_generator.rb +0 -30
  402. data/lib/dev_system/dev/controllers/generators/generator_generator_test.rb +0 -12
  403. data/lib/dev_system/dev/controllers/generators/not_found_generator.rb +0 -27
  404. data/lib/dev_system/dev/controllers/generators/not_found_generator_test.rb +0 -12
  405. data/lib/dev_system/dev/controllers/shell/dir_shell.rb +0 -27
  406. data/lib/dev_system/dev/controllers/shell/text_shell.rb +0 -23
  407. data/lib/dev_system/dev/controllers/terminal/irb_terminal_test.rb +0 -12
  408. data/lib/dev_system/dev/controllers/terminal/pry_terminal.rb +0 -10
  409. data/lib/dev_system/dev/controllers/terminal/pry_terminal_test.rb +0 -12
  410. data/lib/dev_system/dev/controllers/terminal.rb +0 -17
  411. data/lib/dev_system/dev/controllers/terminal_test.rb +0 -12
  412. data/lib/dev_system/dev/dev_box.rb +0 -39
  413. data/lib/dev_system/dev/dev_box_test.rb +0 -17
  414. data/lib/dev_system/dev/panels/command_panel.rb +0 -28
  415. data/lib/dev_system/dev/panels/command_panel_test.rb +0 -21
  416. data/lib/dev_system/dev/panels/generator_panel.rb +0 -3
  417. data/lib/dev_system/dev/panels/generator_panel_test.rb +0 -12
  418. data/lib/dev_system/dev/panels/log_panel.rb +0 -13
  419. data/lib/dev_system/dev/panels/log_panel_test.rb +0 -16
  420. data/lib/dev_system/dev/panels/shell_panel.rb +0 -3
  421. data/lib/dev_system/dev/panels/shell_panel_test.rb +0 -12
  422. data/lib/dev_system/dev/panels/terminal_panel.rb +0 -3
  423. data/lib/dev_system/dev/panels/terminal_panel_test.rb +0 -12
  424. data/lib/happy_system/dev/happy_command.rb +0 -11
  425. data/lib/happy_system/happy/controllers/axo.rb +0 -7
  426. data/lib/happy_system/happy/happy_box.rb +0 -9
  427. data/lib/happy_system/happy/happy_box_test.rb +0 -16
  428. data/lib/happy_system/happy/panels/axo_panel.rb +0 -3
  429. data/lib/liza/base/box.rb +0 -85
  430. data/lib/liza/base/box_test.rb +0 -10
  431. data/lib/liza/base_parts/controller_renderer_part.rb +0 -140
  432. data/lib/liza/base_parts/controller_renderer_part_test.rb +0 -16
  433. data/lib/liza/meta/part_extension.rb +0 -16
  434. data/lib/liza/test_parts/test_tree_part.rb +0 -137
  435. data/lib/net_system/dev/net_command.rb +0 -22
  436. data/lib/net_system/net/net_box.rb +0 -15
  437. data/lib/web_system/dev/rack_command.rb +0 -35
  438. data/lib/web_system/dev/request_command.rb +0 -143
  439. data/lib/web_system/dev/web_command.rb +0 -9
  440. data/lib/web_system/web/panels/rack_panel.rb +0 -42
  441. data/lib/web_system/web/panels/request_panel.rb +0 -72
  442. data/lib/web_system/web/panels/request_panel_test.rb +0 -33
  443. data/lib/web_system/web/web_box.rb +0 -20
  444. /data/lib/dev_system/{dev/panels → sub/bench}/bench_panel.rb +0 -0
  445. /data/lib/dev_system/{dev/controllers/shell → sub/shell/shells}/bin_shell.rb +0 -0
  446. /data/lib/net_system/{net/controllers → sub/client}/client.rb +0 -0
  447. /data/lib/net_system/{net/panels → sub/client}/client_panel.rb +0 -0
  448. /data/lib/net_system/{net/controllers → sub/database}/database.rb +0 -0
  449. /data/lib/net_system/{net/panels → sub/database}/database_panel.rb +0 -0
  450. /data/lib/net_system/{net/controllers/database → sub/database/databases}/redis_db.rb +0 -0
  451. /data/lib/net_system/{net/controllers/database → sub/database/databases}/sqlite_db.rb +0 -0
  452. /data/lib/net_system/{net/controllers → sub/record}/record.rb +0 -0
  453. /data/lib/web_system/{web/controllers → sub/rack}/rack.rb +0 -0
  454. /data/lib/web_system/{web/controllers → sub/request}/request.rb +0 -0
  455. /data/lib/web_system/{web/controllers/request → sub/request/requests}/client_error_request.rb +0 -0
  456. /data/lib/web_system/{web/controllers/request → sub/request/requests}/not_found_request.rb +0 -0
  457. /data/lib/web_system/{web/controllers/request → sub/request/requests}/server_error_request.rb +0 -0
data/lib/app.rb CHANGED
@@ -1,204 +1,133 @@
1
- module App
1
+ class App
2
2
  class Error < StandardError; end
3
- class ModeNotFound < Error; end
4
- class SystemNotFound < Error; end
5
3
 
6
4
  #
7
5
 
8
- module_function
9
-
10
- def log s
11
- puts s.bold
12
- end
13
-
14
- def logv s
15
- log s if $VERBOSE
6
+ def self.log s
7
+ puts s
16
8
  end
17
9
 
18
- # called from "#{APP_DIR}/app"
19
- def call argv, &block
20
- instance_exec &block
21
-
22
- setup_env
23
- setup_bundle
24
- setup_liza
25
- bundle_systems_app Lizarb::APP_DIR
26
-
27
- check_mode!
28
-
10
+ # called from exe/lizarb
11
+ def self.call argv
12
+ log "#{$boot_time.diff}s to boot" if defined? $log_boot_high
29
13
  puts
30
- DevBox[:command].call argv
14
+ args = argv.dup
15
+ argv.clear
16
+ Liza[:DevBox].command args
31
17
  puts
32
18
  end
33
19
 
34
- def root
20
+ def self.cwd
35
21
  Pathname Dir.pwd
36
22
  end
37
23
 
38
- def setup_env
39
- require "dotenv"
40
- Dotenv.load "app.#{mode}.env", "app.env"
41
- end
24
+ @root = cwd
42
25
 
43
- def setup_bundle
44
- require "bundler/setup"
45
- Bundler.require :default, *@systems.keys
26
+ def self.root
27
+ @root
46
28
  end
47
29
 
48
- def setup_liza
49
- require "liza"
50
-
51
- @loaders << loader = Zeitwerk::Loader.new
52
- loader.tag = Liza.to_s
53
-
54
- # ORDER MATTERS: IGNORE, COLLAPSE, PUSH
55
- loader.collapse "#{Liza.source_location_radical}/**/*"
56
- loader.push_dir "#{Liza.source_location_radical}", namespace: Liza
57
-
58
- loader.enable_reloading
59
- loader.setup
30
+ def self.filename
31
+ root.join "#{$APP}.rb"
60
32
  end
61
33
 
62
- def bundle_systems_app app_dir
63
- @systems.keys.each do |k|
64
- key = "#{k}_system"
34
+ # folder
65
35
 
66
- require_system key
67
- klass = Object.const_get key.camelize
68
-
69
- @systems[k] = klass
70
- end
71
-
72
- @loaders << loader = Zeitwerk::Loader.new
73
-
74
- @systems.each do |k, klass|
75
- # ORDER MATTERS: IGNORE, COLLAPSE, PUSH
76
- loader.collapse "#{klass.source_location_radical}/**/*"
77
- loader.push_dir "#{klass.source_location_radical}", namespace: klass
78
- end
79
-
80
- # ORDER MATTERS: IGNORE, COLLAPSE, PUSH
81
- loader.collapse "#{app_dir}/app/**/*"
82
- loader.push_dir "#{app_dir}/app" if Dir.exist? "#{app_dir}/app"
83
-
84
- loader.enable_reloading
85
- loader.setup
86
-
87
- @systems.each do |k, klass|
88
- connect_system k, klass
36
+ def self.folder folder = nil
37
+ raise "locked" if @locked
38
+ if folder
39
+ @folder = folder
40
+ @relative_path = Pathname(folder)
41
+ @path = Pathname("#{Lizarb::APP_DIR}/#{folder}")
42
+ else
43
+ @folder
89
44
  end
90
-
91
- @systems.freeze
92
45
  end
93
46
 
94
- # loaders
95
-
96
- @loaders = []
97
- @mutex = Mutex.new
98
-
99
- def reload &block
100
- @mutex.synchronize do
101
- @loaders.map &:reload
102
- yield if block_given?
103
- end
104
-
105
- true
47
+ def self.path
48
+ @path
106
49
  end
107
50
 
108
- def eager_load_all
109
- Zeitwerk::Loader.eager_load_all
51
+ def self.relative_path
52
+ @relative_path or raise "@relative_path not set"
110
53
  end
111
54
 
112
55
  # mode
113
56
 
114
- @modes = [:code]
115
- ENV["LIZA_MODE"] ||= @modes.first.to_s
116
- @mode = ENV["LIZA_MODE"].to_sym
117
-
118
- def mode mode = nil
119
- return @mode if mode.nil?
120
- @modes << mode.to_sym
57
+ def self.mode mode = nil
58
+ if mode
59
+ @mode = mode.to_sym
60
+ else
61
+ @mode ||= (ENV["MODE"] || :code).to_sym
62
+ end
121
63
  end
122
64
 
123
- def check_mode!
124
- return if @modes.include? @mode
125
- raise ModeNotFound, "LIZA_MODE `#{@mode}` not found in #{@modes}", []
65
+ def self.coding?
66
+ mode == :code
126
67
  end
127
68
 
128
69
  # systems
129
70
 
130
71
  @systems = {}
131
72
 
132
- def system key
73
+ def self.system key
133
74
  raise "locked" if @locked
134
75
  @systems[key] = nil
135
76
  end
136
77
 
137
- def systems
78
+ def self.systems
138
79
  @systems
139
80
  end
140
81
 
141
- def self.require_system key
142
- t = Time.now
143
- logv "App.system :#{key}"
144
- require key
145
- logv "App.system :#{key} takes #{t.diff}s"
146
- rescue LoadError => e
147
- def e.backtrace; []; end
148
- raise SystemNotFound, "FILE #{key}.rb not found on $LOAD_PATH", []
149
- end
150
-
151
- # parts
82
+ # settings
152
83
 
153
- def connect_part part_klass, key, system
154
- t = Time.now
155
- string = "CONNECTING PART #{part_klass.to_s.rjust 25}.part :#{key}"
156
- logv string
157
-
158
- klass = if system.nil?
159
- Liza.const "#{key}_part"
160
- else
161
- Liza.const("#{system}_system")
162
- .const "#{key}_part"
163
- end
84
+ def self.settings
85
+ @settings ||= {}
86
+ end
164
87
 
165
- if klass.insertion
166
- part_klass.class_exec &klass.insertion
167
- end
88
+ def self.set key, value
89
+ settings[key] = value
90
+ end
168
91
 
169
- if klass.extension
170
- klass.const_set :Extension, Class.new(Liza::PartExtension)
171
- klass::Extension.class_exec &klass.extension
172
- end
173
- logv "#{string} takes #{t.diff}s"
92
+ def self.get key
93
+ settings[key]
174
94
  end
175
95
 
176
- # systems
96
+ # advanced settings
177
97
 
178
- def connect_system key, system_klass
179
- t = Time.now
98
+ DEFAULT_LOG_LEVEL = 4
180
99
 
181
- color_system_klass = system_klass.to_s.colorize system_klass.log_color
182
- color_key = key.to_s.colorize system_klass.log_color
100
+ LOG_LEVELS = {
101
+ :highest => 7,
102
+ :higher => 6,
103
+ :high => 5,
104
+ :normal => 4,
105
+ :low => 3,
106
+ :lower => 2,
107
+ :lowest => 1,
108
+ }
109
+ @log_boot = DEFAULT_LOG_LEVEL
110
+ set :log_level, DEFAULT_LOG_LEVEL
183
111
 
184
- registrar_index = 0
185
- system_klass.registrar.each do |string, target_block|
186
- reg_type, _sep, reg_target = string.to_s.lpartition "_"
112
+ def self.log_boot level = nil
113
+ return @log_boot if level.nil?
114
+ level = LOG_LEVELS[level] if level.is_a? Symbol
115
+ raise Error, "invalid log level `#{level}`", caller unless LOG_LEVELS.values.include? level
187
116
 
188
- registrar_index += 1
117
+ @log_boot = level
118
+ end
189
119
 
190
- target_klass = Liza.const reg_target
120
+ def self.log_level level
121
+ level = LOG_LEVELS[level] if level.is_a? Symbol
122
+ raise Error, "invalid log level `#{level}`", caller unless LOG_LEVELS.values.include? level
191
123
 
192
- if reg_type == "insertion"
193
- target_klass.class_exec &target_block
194
- else
195
- raise "TODO: decide and implement system extension"
196
- end
124
+ set :log_level, level
125
+ end
197
126
 
198
- log "CONNECTING SYSTEM PART #{color_system_klass}.#{reg_type} #{target_klass}"
127
+ # helpers
199
128
 
200
- end
201
- log "CONNECTING SYSTEM - #{t.diff}s for #{color_system_klass} to connect to #{registrar_index} system parts"
129
+ def self.global?
130
+ $APP == "app_global"
202
131
  end
203
132
 
204
133
  end
@@ -0,0 +1,5 @@
1
+ class ArtSystem::ArtBox < Liza::Box
2
+
3
+ #
4
+
5
+ end
@@ -0,0 +1,8 @@
1
+ class ArtSystem::ArtBoxTest < Liza::BoxTest
2
+
3
+ test :subject_class, :subject do
4
+ assert_equality ArtSystem::ArtBox, subject_class
5
+ assert_equality ArtSystem::ArtBox, subject.class
6
+ end
7
+
8
+ end
data/lib/art_system.rb ADDED
@@ -0,0 +1,8 @@
1
+ class ArtSystem < Liza::System
2
+ class Error < Liza::Error; end
3
+
4
+ #
5
+
6
+ color :amethyst
7
+
8
+ end
@@ -0,0 +1,5 @@
1
+ class CryptoSystem::CryptoBox < Liza::Box
2
+
3
+ #
4
+
5
+ end
@@ -0,0 +1,8 @@
1
+ class CryptoSystem::CryptoBoxTest < Liza::BoxTest
2
+
3
+ test :subject_class, :subject do
4
+ assert_equality CryptoSystem::CryptoBox, subject_class
5
+ assert_equality CryptoSystem::CryptoBox, subject.class
6
+ end
7
+
8
+ end
@@ -0,0 +1,8 @@
1
+ class CryptoSystem < Liza::System
2
+ class Error < Liza::Error; end
3
+
4
+ #
5
+
6
+ color :jade
7
+
8
+ end
@@ -0,0 +1,5 @@
1
+ class DeepSystem::DeepBox < Liza::Box
2
+
3
+ #
4
+
5
+ end
@@ -0,0 +1,8 @@
1
+ class DeepSystem::DeepBoxTest < Liza::BoxTest
2
+
3
+ test :subject_class, :subject do
4
+ assert_equality DeepSystem::DeepBox, subject_class
5
+ assert_equality DeepSystem::DeepBox, subject.class
6
+ end
7
+
8
+ end
@@ -0,0 +1,8 @@
1
+ class DeepSystem < Liza::System
2
+ class Error < Liza::Error; end
3
+
4
+ #
5
+
6
+ color :light_indigo
7
+
8
+ end
@@ -0,0 +1,26 @@
1
+ class DeskSystem::GlimmerCommand < DevSystem::SimpleCommand
2
+
3
+ # liza glimmer
4
+
5
+ def call_default
6
+ call_examples
7
+ end
8
+
9
+ # liza glimmer:examples
10
+
11
+ def call_examples
12
+ log stick :b, system.color, "Glimmer is a free Ruby Desktop Development Cross-Platform Native GUI Library!"
13
+ log [
14
+ (stick :b, "Learn more at "),
15
+ (stick :b, system.color, "https://github.com/AndyObtiva/glimmer-dsl-libui")
16
+ ]
17
+
18
+ puts
19
+ log "args = #{env[:args].inspect}"
20
+ # require "glimmer-dsl-libui"
21
+ require "examples/meta_example"
22
+
23
+ log "done at #{Time.now}"
24
+ end
25
+
26
+ end
@@ -0,0 +1,10 @@
1
+ class DeskSystem::GlimmerCommandTest < DevSystem::SimpleCommandTest
2
+
3
+ #
4
+
5
+ test :subject_class, :subject do
6
+ assert_equality DeskSystem::GlimmerCommand, subject_class
7
+ assert_equality DeskSystem::GlimmerCommand, subject.class
8
+ end
9
+
10
+ end
@@ -0,0 +1,5 @@
1
+ class DeskSystem::DeskBox < Liza::Box
2
+
3
+ #
4
+
5
+ end
@@ -0,0 +1,8 @@
1
+ class DeskSystem::DeskBoxTest < Liza::BoxTest
2
+
3
+ test :subject_class, :subject do
4
+ assert_equality DeskSystem::DeskBox, subject_class
5
+ assert_equality DeskSystem::DeskBox, subject.class
6
+ end
7
+
8
+ end
@@ -0,0 +1,8 @@
1
+ class DeskSystem < Liza::System
2
+ class Error < Liza::Error; end
3
+
4
+ #
5
+
6
+ color :turquoise
7
+
8
+ end
@@ -1,13 +1,15 @@
1
1
  class DevSystem::TestCommand < DevSystem::Command
2
2
 
3
3
  def self.call args
4
- log :higher, "Called #{self} with args #{args}"
5
-
6
- App.eager_load_all
4
+ log "args = #{args.inspect}"
7
5
 
8
6
  now = Time.now
9
7
  test_classes = Liza::Test.descendants
10
8
 
9
+ if args.any?
10
+ test_classes = test_classes.select { |tc| args.any? { tc.source_location_radical.snakecase.include? _1.snakecase } }
11
+ end
12
+
11
13
  _call_silence_base_units
12
14
 
13
15
  if Lizarb::IS_APP_DIR
@@ -44,11 +46,11 @@ class DevSystem::TestCommand < DevSystem::Command
44
46
  proc_namespaced = proc { |tc| tc.name.include? "::" }
45
47
  proc_liza = proc { |tc| tc.name[0..3] == "Liza" }
46
48
 
47
- tc_app = test_classes.reject &proc_namespaced
48
- tc_namespaced = test_classes.select &proc_namespaced
49
+ tc_app = test_classes.reject(&proc_namespaced)
50
+ tc_namespaced = test_classes.select(&proc_namespaced)
49
51
 
50
- tc_liza = tc_namespaced.select &proc_liza
51
- tc_system = tc_namespaced.reject &proc_liza
52
+ tc_liza = tc_namespaced.select(&proc_liza)
53
+ tc_system = tc_namespaced.reject(&proc_liza)
52
54
 
53
55
  tc_app.sort_by! &:source_location
54
56
  tc_liza.sort_by! &:source_location
@@ -63,7 +65,12 @@ class DevSystem::TestCommand < DevSystem::Command
63
65
  end
64
66
  end
65
67
 
68
+
66
69
  def self._call_counting test_classes
70
+ puts
71
+ Liza.log ""
72
+ Liza.log stick :b, " TEST TOTALS ".center(140, "-")
73
+ Liza.log ""
67
74
  puts
68
75
  totals = Hash.new { 0 }
69
76
  last_namespace = nil
@@ -75,11 +82,32 @@ class DevSystem::TestCommand < DevSystem::Command
75
82
  test_class.totals.each do |k, v|
76
83
  totals[k] += v.size
77
84
  end
78
- Liza.log " #{"#{test_class}.totals".ljust 60} #{test_class.totals.map { |k, v| [k, v.size] }.to_h}"
85
+ size = 60 - test_class.subject_class.to_s.size
86
+ Liza.log "#{_color_unit test_class.subject_class}#{".totals".ljust size} #{test_class.totals.map { |k, v| [k, v.size] }.to_h}"
79
87
  end
80
88
  puts
81
- Liza.log " #{"Total".ljust 60} #{totals}"
89
+ Liza.log "#{"Total".ljust 60} #{totals}"
82
90
  puts
83
91
  end
84
92
 
93
+ def self._color_unit klass
94
+ return klass.to_s unless klass < Liza::Unit
95
+ return klass.to_s if klass.superclass == Liza::Unit
96
+
97
+ ret = ""
98
+ namespace, _sep, classname = klass.name.rpartition('::')
99
+ unless namespace.empty?
100
+ system_color = klass.system.color
101
+ ret << stick(namespace, system_color, :b).to_s
102
+ ret << "::"
103
+ end
104
+
105
+ klass = klass.division if klass.is_a? Liza::Controller
106
+ unit_color = nil
107
+ unit_color = klass.system.color
108
+
109
+ ret << stick(classname, unit_color).to_s
110
+ ret
111
+ end
112
+
85
113
  end
@@ -5,8 +5,7 @@ class DevSystem::TestCommandTest < DevSystem::CommandTest
5
5
  end
6
6
 
7
7
  test :settings do
8
- assert subject_class.log_level == :normal
9
- assert subject_class.log_color == :green
8
+ assert_equality subject_class.log_level, 0
10
9
  end
11
10
 
12
11
  end
@@ -0,0 +1,79 @@
1
+ class DevSystem::DevBox < Liza::Box
2
+
3
+ # Preconfigure your bench panel
4
+
5
+ configure :bench do
6
+ #
7
+ end
8
+
9
+ # Preconfigure your command panel
10
+
11
+ configure :command do
12
+ #
13
+ rescue_from CommandPanel::NotFoundError, with: NotFoundCommand
14
+ end
15
+
16
+ def self.command(...)
17
+ self[:command].call(...)
18
+ end
19
+
20
+ def self.input
21
+ self[:command].input
22
+ end
23
+
24
+ def self.pick_one(...)
25
+ self[:command].pick_one(...)
26
+ end
27
+
28
+ def self.pick_many(...)
29
+ self[:command].pick_many(...)
30
+ end
31
+
32
+ # Preconfigure your generator panel
33
+
34
+ configure :generator do
35
+ #
36
+ rescue_from GeneratorPanel::NotFoundError, with: NotFoundGenerator
37
+ end
38
+
39
+ # Preconfigure your log panel
40
+
41
+ configure :log do
42
+ #
43
+ end
44
+
45
+ # Preconfigure your shell panel
46
+
47
+ configure :shell do
48
+ #
49
+ end
50
+
51
+ def self.formatters
52
+ self[:shell].formatters
53
+ end
54
+
55
+ def self.converters
56
+ self[:shell].converters
57
+ end
58
+
59
+ def self.converters_to
60
+ self[:shell].converters_to
61
+ end
62
+
63
+ def self.format(...)
64
+ self[:shell].format(...)
65
+ end
66
+
67
+ def self.format?(...)
68
+ self[:shell].format?(...)
69
+ end
70
+
71
+ def self.convert(...)
72
+ self[:shell].convert(...)
73
+ end
74
+
75
+ def self.convert?(...)
76
+ self[:shell].convert?(...)
77
+ end
78
+
79
+ end
@@ -0,0 +1,33 @@
1
+ class DevSystem::DevBoxTest < Liza::BoxTest
2
+
3
+ test :subject_class do
4
+ assert subject_class == DevSystem::DevBox
5
+ end
6
+
7
+ test_methods_defined do
8
+ on_self \
9
+ :command,
10
+ :convert, :convert?, :converters, :converters_to,
11
+ :format, :format?, :formatters,
12
+ :input,
13
+ :pick_many, :pick_one
14
+ on_instance
15
+ end
16
+
17
+ test :settings do
18
+ assert_equality subject_class.log_level, 0
19
+ end
20
+
21
+ test :subsystems do
22
+ a = subject_class.panels.keys
23
+ b = [:bench, :command, :generator, :log, :shell]
24
+ assert_equality a, b
25
+
26
+ assert_sub :bench, DevSystem::Bench, DevSystem::BenchPanel
27
+ assert_sub :command, DevSystem::Command, DevSystem::CommandPanel
28
+ assert_sub :generator, DevSystem::Generator, DevSystem::GeneratorPanel
29
+ assert_sub :log, DevSystem::Log, DevSystem::LogPanel
30
+ assert_sub :shell, DevSystem::Shell, DevSystem::ShellPanel
31
+ end
32
+
33
+ end