lizarb 1.0.3 → 1.0.5

Sign up to get free protection for your applications and to get access to all the features.
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