lizarb 1.0.4 → 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 (441) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +34 -7
  3. data/Gemfile.lock +176 -14
  4. data/README.md +53 -9
  5. data/app/dev/commands/color_command.rb +29 -0
  6. data/app/dev/commands/color_command_test.rb +10 -0
  7. data/app/dev/commands/stick_command.rb +102 -0
  8. data/app/dev/commands/stick_command_test.rb +19 -0
  9. data/app/dev_box.rb +49 -17
  10. data/app/happy_box.rb +3 -2
  11. data/app/net/databases/redis_db.rb +1 -1
  12. data/app/net/databases/redis_db_test.rb +5 -5
  13. data/app/net/databases/sqlite_db.rb +1 -1
  14. data/app/net/databases/sqlite_db_test.rb +5 -5
  15. data/app/net/records/app_record.rb +1 -1
  16. data/app/net/records/app_record_test.rb +1 -1
  17. data/app/net/records/post_record_test.rb +1 -1
  18. data/app/net/records/user_record_test.rb +1 -1
  19. data/app/net_box.rb +29 -6
  20. data/app/web/requests/app_request.rb +1 -1
  21. data/app/web/requests/app_request_test.rb +1 -1
  22. data/app/web/requests/foo_request.rb +26 -0
  23. data/app/web/requests/foo_request_test.rb +7 -0
  24. data/app/web_box.rb +16 -8
  25. data/app.rb +38 -6
  26. data/app_global.gemfile.rb +1 -1
  27. data/app_global.gemfile.rb.lock +25 -3
  28. data/app_global.rb +1 -0
  29. data/{app_new → examples/bench/app}/dev/benches/loops_bench.rb +10 -3
  30. data/{app_new → examples/bench/app}/dev/benches/loops_bench_test.rb +1 -2
  31. data/examples/bench/app/dev/benches/objects_bench.rb +48 -0
  32. data/{app_new → examples/bench/app}/dev/benches/objects_bench_test.rb +1 -2
  33. data/{app_new → examples/bench/app}/dev/benches/sorted_bench.rb +28 -8
  34. data/examples/bench/app/dev/benches/sorted_bench_test.rb +11 -0
  35. data/{app_new → examples/bench/app}/dev/benches/variables_bench.rb +8 -2
  36. data/{app_new → examples/bench/app}/dev/benches/variables_bench_test.rb +1 -2
  37. data/examples/client/app/net/clients/news_client.rb +42 -0
  38. data/examples/client/app/net/clients/news_client_test.rb +24 -0
  39. data/{app_new → examples/command/app}/dev/commands/calculator_command.rb +1 -1
  40. data/{app_new → examples/command/app}/dev/commands/calculator_command_test.rb +1 -2
  41. data/{app_new → examples/command/app}/dev/commands/circle_command.rb +1 -1
  42. data/{app_new → examples/command/app}/dev/commands/circle_command_test.rb +1 -2
  43. data/{app_new → examples/command/app}/dev/commands/narrative_method_command.rb +3 -3
  44. data/{app_new → examples/command/app}/dev/commands/narrative_method_command_test.rb +2 -3
  45. data/{app_new → examples/command/app}/dev/commands/quadratic_command.rb +1 -1
  46. data/{app_new → examples/command/app}/dev/commands/quadratic_command_test.rb +1 -2
  47. data/examples/command/app/dev_box.rb +3 -0
  48. data/examples/log/app/dev/logs/logger_log.rb +8 -0
  49. data/examples/log/app/dev/logs/logger_log_test.rb +16 -0
  50. data/examples/new/app/dev_box.rb +67 -0
  51. data/examples/new/app.rb +41 -0
  52. data/examples/shell/app/dev/shells/bash_adapter_shell.rb +25 -0
  53. data/examples/shell/app/dev/shells/bash_adapter_shell_test.rb +23 -0
  54. data/examples/shell/app/dev/shells/business_logic_shell.rb +42 -0
  55. data/examples/shell/app/dev/shells/business_logic_shell_test.rb +39 -0
  56. data/examples/shell/app/dev/shells/gem_adapter_shell.rb +33 -0
  57. data/examples/shell/app/dev/shells/gem_adapter_shell_test.rb +23 -0
  58. data/exe/liza +6 -1
  59. data/exe/lizarb +1 -1
  60. data/lib/app.rb +71 -74
  61. data/lib/art_system/art_box.rb +5 -0
  62. data/lib/art_system/art_box_test.rb +8 -0
  63. data/lib/art_system.rb +8 -0
  64. data/lib/crypto_system/crypto_box.rb +5 -0
  65. data/lib/crypto_system/crypto_box_test.rb +8 -0
  66. data/lib/crypto_system.rb +8 -0
  67. data/lib/deep_system/deep_box.rb +5 -0
  68. data/lib/deep_system/deep_box_test.rb +8 -0
  69. data/lib/deep_system.rb +8 -0
  70. data/lib/desk_system/commands/glimmer_command.rb +26 -0
  71. data/lib/desk_system/commands/glimmer_command_test.rb +10 -0
  72. data/lib/desk_system/desk_box.rb +5 -0
  73. data/lib/desk_system/desk_box_test.rb +8 -0
  74. data/lib/desk_system.rb +8 -0
  75. data/lib/dev_system/{dev/controllers/command → commands}/test_command.rb +32 -4
  76. data/lib/dev_system/{dev/controllers/command → commands}/test_command_test.rb +1 -2
  77. data/lib/dev_system/dev_box.rb +79 -0
  78. data/lib/dev_system/dev_box_test.rb +33 -0
  79. data/lib/dev_system/generators/env_generator.rb +87 -0
  80. data/lib/dev_system/generators/env_generator_test.rb +11 -0
  81. data/lib/dev_system/generators/gemfile_generator.rb +47 -0
  82. data/lib/dev_system/generators/gemfile_generator_test.rb +11 -0
  83. data/lib/dev_system/generators/system_generator.rb +70 -0
  84. data/lib/dev_system/generators/system_generator_test.rb +11 -0
  85. data/lib/dev_system/{dev/controllers → sub/bench}/bench.rb +4 -0
  86. data/lib/dev_system/{dev/panels → sub/bench}/bench_panel_test.rb +6 -2
  87. data/lib/dev_system/sub/bench/bench_test.rb +24 -0
  88. data/lib/dev_system/{dev/controllers/bench → sub/bench/benches}/not_found_bench.rb +1 -2
  89. data/lib/dev_system/{dev/controllers/bench → sub/bench/benches}/not_found_bench_test.rb +1 -2
  90. data/lib/dev_system/{dev/controllers/command → sub/bench/commands}/bench_command.rb +1 -5
  91. data/lib/dev_system/{dev/controllers/command → sub/bench/commands}/bench_command_test.rb +1 -2
  92. data/lib/dev_system/sub/bench/generators/bench_generator.rb +70 -0
  93. data/lib/dev_system/sub/bench/generators/bench_generator_test.rb +10 -0
  94. data/lib/dev_system/sub/command/command.rb +28 -0
  95. data/lib/dev_system/sub/command/command_panel.rb +151 -0
  96. data/lib/dev_system/sub/command/command_panel_test.rb +78 -0
  97. data/lib/dev_system/{dev/controllers → sub/command}/command_test.rb +6 -2
  98. data/lib/dev_system/sub/command/commands/base_command.rb +48 -0
  99. data/lib/dev_system/sub/command/commands/base_command_test.rb +11 -0
  100. data/lib/dev_system/{dev/controllers/terminal/irb_terminal.rb → sub/command/commands/irb_command.rb} +3 -7
  101. data/lib/dev_system/sub/command/commands/irb_command_test.rb +11 -0
  102. data/lib/dev_system/sub/command/commands/not_found_command.rb +156 -0
  103. data/lib/dev_system/sub/command/commands/not_found_command_test.rb +11 -0
  104. data/lib/dev_system/{dev/controllers/terminal/pry_terminal.rb → sub/command/commands/pry_command.rb} +2 -2
  105. data/lib/dev_system/sub/command/commands/pry_command_test.rb +11 -0
  106. data/lib/dev_system/sub/command/commands/simple_command.rb +143 -0
  107. data/lib/dev_system/sub/command/commands/simple_command_test.rb +11 -0
  108. data/lib/dev_system/sub/command/generators/command_generator.rb +90 -0
  109. data/lib/dev_system/sub/command/generators/command_generator_test.rb +11 -0
  110. data/lib/dev_system/sub/command/input_commands/highline_input_command.rb +17 -0
  111. data/lib/dev_system/sub/command/input_commands/highline_input_command_test.rb +19 -0
  112. data/lib/dev_system/sub/command/input_commands/input_command.rb +20 -0
  113. data/lib/dev_system/sub/command/input_commands/input_command_test.rb +19 -0
  114. data/lib/dev_system/sub/command/input_commands/tty_input_command.rb +55 -0
  115. data/lib/dev_system/sub/command/input_commands/tty_input_command_test.rb +19 -0
  116. data/lib/dev_system/sub/generator/commands/generate_command.rb +9 -0
  117. data/lib/dev_system/sub/generator/commands/generate_command_test.rb +11 -0
  118. data/lib/dev_system/sub/generator/commands/new_command.rb +10 -0
  119. data/lib/dev_system/{dev/controllers/command → sub/generator/commands}/new_command_test.rb +1 -1
  120. data/lib/dev_system/sub/generator/generator.rb +19 -0
  121. data/lib/dev_system/sub/generator/generator_panel.rb +98 -0
  122. data/lib/dev_system/sub/generator/generator_panel_test.rb +79 -0
  123. data/lib/dev_system/{dev/controllers → sub/generator}/generator_test.rb +6 -2
  124. data/lib/dev_system/sub/generator/generators/base_generator.rb +64 -0
  125. data/lib/dev_system/sub/generator/generators/base_generator_test.rb +11 -0
  126. data/lib/dev_system/sub/generator/generators/generator_generator.rb +71 -0
  127. data/lib/dev_system/sub/generator/generators/generator_generator_test.rb +11 -0
  128. data/lib/dev_system/sub/generator/generators/new_generator.rb +74 -0
  129. data/lib/dev_system/sub/generator/generators/new_generator_test.rb +11 -0
  130. data/lib/dev_system/sub/generator/generators/not_found_generator.rb +155 -0
  131. data/lib/dev_system/sub/generator/generators/not_found_generator_test.rb +11 -0
  132. data/lib/dev_system/sub/generator/generators/simple_generator.rb +257 -0
  133. data/lib/dev_system/sub/generator/generators/simple_generator_test.rb +38 -0
  134. data/lib/dev_system/sub/log/commands/log_command.rb +11 -0
  135. data/lib/dev_system/sub/log/commands/log_command_test.rb +11 -0
  136. data/lib/dev_system/sub/log/generators/log_generator.rb +54 -0
  137. data/lib/dev_system/sub/log/generators/log_generator_test.rb +10 -0
  138. data/lib/dev_system/sub/log/log_panel.rb +47 -0
  139. data/lib/dev_system/sub/log/log_panel_test.rb +50 -0
  140. data/lib/dev_system/{dev/controllers → sub/log}/log_test.rb +6 -2
  141. data/lib/dev_system/sub/log/logs/output_log.rb +74 -0
  142. data/lib/dev_system/sub/log/logs/output_log_test.rb +47 -0
  143. data/lib/dev_system/sub/log/logs/stick_log.rb +79 -0
  144. data/lib/dev_system/sub/log/logs/stick_log_test.rb +88 -0
  145. data/lib/dev_system/sub/shell/commands/convert_command.rb +27 -0
  146. data/lib/dev_system/sub/shell/commands/convert_command_test.rb +10 -0
  147. data/lib/dev_system/sub/shell/commands/format_command.rb +25 -0
  148. data/lib/dev_system/sub/shell/commands/format_command_test.rb +10 -0
  149. data/lib/dev_system/sub/shell/commands/loc_command.rb +211 -0
  150. data/lib/dev_system/sub/shell/commands/loc_command_test.rb +10 -0
  151. data/lib/dev_system/sub/shell/commands/shell_command.rb +45 -0
  152. data/lib/dev_system/sub/shell/commands/shell_command_test.rb +11 -0
  153. data/lib/dev_system/sub/shell/converter_shells/coffee_converter_shell.rb +21 -0
  154. data/lib/dev_system/sub/shell/converter_shells/coffee_converter_shell_test.rb +41 -0
  155. data/lib/dev_system/sub/shell/converter_shells/converter_shell.rb +13 -0
  156. data/lib/dev_system/sub/shell/converter_shells/converter_shell_test.rb +19 -0
  157. data/lib/dev_system/sub/shell/converter_shells/haml_converter_shell.rb +30 -0
  158. data/lib/dev_system/sub/shell/converter_shells/haml_converter_shell_test.rb +34 -0
  159. data/lib/dev_system/sub/shell/converter_shells/md_converter_shell.rb +21 -0
  160. data/lib/dev_system/sub/shell/converter_shells/md_converter_shell_test.rb +38 -0
  161. data/lib/dev_system/sub/shell/converter_shells/scss_converter_shell.rb +59 -0
  162. data/lib/dev_system/sub/shell/converter_shells/scss_converter_shell_test.rb +59 -0
  163. data/lib/dev_system/sub/shell/formatter_shells/formatter_shell.rb +13 -0
  164. data/lib/dev_system/sub/shell/formatter_shells/formatter_shell_test.rb +19 -0
  165. data/lib/dev_system/sub/shell/formatter_shells/html_formatter_shell.rb +20 -0
  166. data/lib/dev_system/sub/shell/formatter_shells/html_formatter_shell_test.rb +51 -0
  167. data/lib/dev_system/sub/shell/generators/shell_generator.rb +68 -0
  168. data/lib/dev_system/sub/shell/generators/shell_generator_test.rb +10 -0
  169. data/lib/dev_system/{dev/controllers → sub/shell}/shell.rb +2 -2
  170. data/lib/dev_system/sub/shell/shell_panel.rb +98 -0
  171. data/lib/dev_system/sub/shell/shell_panel_test.rb +18 -0
  172. data/lib/dev_system/{dev/controllers → sub/shell}/shell_test.rb +9 -5
  173. data/lib/dev_system/sub/shell/shells/app_shell.rb +185 -0
  174. data/lib/dev_system/sub/shell/shells/app_shell_test.rb +26 -0
  175. data/lib/dev_system/{dev/controllers/shell → sub/shell/shells}/bin_shell_test.rb +1 -2
  176. data/lib/dev_system/sub/shell/shells/color_shell.rb +389 -0
  177. data/lib/dev_system/sub/shell/shells/color_shell_test.rb +27 -0
  178. data/lib/dev_system/sub/shell/shells/controller_shell.rb +20 -0
  179. data/lib/dev_system/sub/shell/shells/controller_shell_test.rb +16 -0
  180. data/lib/dev_system/sub/shell/shells/dir_shell.rb +27 -0
  181. data/lib/dev_system/{dev/controllers/shell → sub/shell/shells}/dir_shell_test.rb +1 -5
  182. data/lib/dev_system/{dev/controllers/shell → sub/shell/shells}/file_shell.rb +4 -4
  183. data/lib/dev_system/{dev/controllers/shell → sub/shell/shells}/file_shell_test.rb +1 -2
  184. data/lib/dev_system/sub/shell/shells/gem_shell.rb +21 -0
  185. data/lib/dev_system/sub/shell/shells/gem_shell_test.rb +28 -0
  186. data/lib/dev_system/sub/shell/shells/kernel_shell.rb +22 -0
  187. data/lib/dev_system/sub/shell/shells/kernel_shell_test.rb +10 -0
  188. data/lib/dev_system/sub/shell/shells/line_diff_shell.rb +26 -0
  189. data/lib/dev_system/sub/shell/shells/line_diff_shell_test.rb +11 -0
  190. data/lib/dev_system/sub/shell/shells/line_shell.rb +56 -0
  191. data/lib/dev_system/sub/shell/shells/line_shell_test.rb +70 -0
  192. data/lib/dev_system/sub/shell/shells/method_shell.rb +52 -0
  193. data/lib/dev_system/sub/shell/shells/method_shell_test.rb +34 -0
  194. data/lib/dev_system/sub/shell/shells/text_file_shell.rb +14 -0
  195. data/lib/dev_system/sub/shell/shells/text_file_shell_test.rb +11 -0
  196. data/lib/dev_system/sub/shell/shells/text_shell.rb +65 -0
  197. data/lib/dev_system/{dev/controllers/shell → sub/shell/shells}/text_shell_test.rb +1 -2
  198. data/lib/dev_system.rb +8 -2
  199. data/lib/happy_system/happy_box.rb +9 -0
  200. data/lib/happy_system/happy_box_test.rb +24 -0
  201. data/lib/happy_system/sub/axo/axo.rb +10 -0
  202. data/lib/happy_system/sub/axo/axo_panel.rb +9 -0
  203. data/lib/happy_system/sub/axo/axo_panel_test.rb +16 -0
  204. data/lib/happy_system/sub/axo/axo_test.rb +16 -0
  205. data/lib/happy_system/sub/axo/commands/axo_command.rb +40 -0
  206. data/lib/happy_system/sub/axo/commands/axo_command_test.rb +8 -0
  207. data/lib/happy_system/sub/axo/generators/axo_generator.rb +79 -0
  208. data/lib/happy_system/sub/axo/generators/axo_generator_test.rb +11 -0
  209. data/lib/happy_system.rb +4 -2
  210. data/lib/lab_system/clients/kroki_client.rb +134 -0
  211. data/lib/lab_system/clients/kroki_client_test.rb +32 -0
  212. data/lib/lab_system/clients/liza_kroki_client.rb +176 -0
  213. data/lib/lab_system/clients/liza_kroki_client_test.rb +32 -0
  214. data/lib/lab_system/commands/docker_command.rb +61 -0
  215. data/lib/lab_system/commands/docker_command_test.rb +11 -0
  216. data/lib/lab_system/lab_box.rb +5 -0
  217. data/lib/lab_system/lab_box_test.rb +8 -0
  218. data/lib/lab_system/requests/kroki_request.rb +182 -0
  219. data/lib/lab_system/requests/kroki_request_test.rb +11 -0
  220. data/lib/lab_system/shells/docker_shell.rb +60 -0
  221. data/lib/lab_system/shells/docker_shell_test.rb +61 -0
  222. data/lib/lab_system/shells/kroki_docker_shell.rb +20 -0
  223. data/lib/lab_system/shells/kroki_docker_shell_test.rb +11 -0
  224. data/lib/lab_system.rb +8 -0
  225. data/lib/liza/base/controller.rb +14 -15
  226. data/lib/liza/base/controller_test.rb +28 -2
  227. data/lib/liza/base/panel.rb +48 -6
  228. data/lib/liza/base/panel_test.rb +141 -2
  229. data/lib/liza/base_parts/controller_subsystem_part.rb +93 -0
  230. data/lib/liza/base_parts/panel_rescuer_part.rb +129 -0
  231. data/lib/liza/meta/box.rb +24 -0
  232. data/lib/liza/meta/box_test.rb +20 -0
  233. data/lib/liza/meta/part_test.rb +6 -1
  234. data/lib/liza/meta/system.rb +50 -7
  235. data/lib/liza/meta/system_test.rb +6 -2
  236. data/lib/liza/ruby_tests/app_test.rb +39 -0
  237. data/lib/liza/ruby_tests/class_test.rb +20 -0
  238. data/lib/liza/ruby_tests/module_test.rb +4 -4
  239. data/lib/liza/{ruby_test.rb → ruby_tests/object_test.rb} +1 -1
  240. data/lib/liza/ruby_tests/string_test.rb +3 -1
  241. data/lib/liza/{test → safety}/test.rb +9 -0
  242. data/lib/liza/{test → safety}/test_test.rb +40 -7
  243. data/lib/liza/{test_parts → safety_parts}/test_assertions_advanced_part.rb +1 -1
  244. data/lib/liza/{test_parts → safety_parts}/test_log_part.rb +20 -0
  245. data/lib/liza/{test_parts → safety_parts}/test_subject_part.rb +10 -0
  246. data/lib/liza/safety_parts/test_tree_part.rb +87 -0
  247. data/lib/liza/unit.rb +50 -100
  248. data/lib/liza/unit_parts/unit_classes_part.rb +37 -0
  249. data/lib/liza/unit_parts/unit_classes_part_test.rb +3 -0
  250. data/lib/liza/unit_parts/unit_logging_part.rb +139 -0
  251. data/lib/liza/unit_parts/unit_logging_part_test.rb +3 -0
  252. data/lib/liza/unit_parts/unit_methods_part.rb +35 -0
  253. data/lib/liza/unit_parts/unit_methods_part_test.rb +3 -0
  254. data/lib/liza/unit_parts/unit_procedure_part.rb +2 -2
  255. data/lib/liza/unit_parts/unit_renderer_part.rb +171 -0
  256. data/lib/liza/unit_parts/unit_renderer_part_test.rb +15 -0
  257. data/lib/liza/unit_parts/unit_settings_part.rb +8 -0
  258. data/lib/liza/unit_test.rb +114 -16
  259. data/lib/liza.rb +2 -2
  260. data/lib/lizarb/ruby/class.rb +9 -1
  261. data/lib/lizarb/ruby/string.rb +3 -1
  262. data/lib/lizarb/version.rb +1 -1
  263. data/lib/lizarb.rb +215 -64
  264. data/lib/micro_system/micro_box.rb +5 -0
  265. data/lib/micro_system/micro_box_test.rb +8 -0
  266. data/lib/micro_system.rb +8 -0
  267. data/lib/net_system/net_box.rb +21 -0
  268. data/lib/net_system/{net/net_box_test.rb → net_box_test.rb} +1 -2
  269. data/lib/net_system/{net/panels → sub/client}/client_panel_test.rb +1 -2
  270. data/lib/net_system/{net/controllers → sub/client}/client_test.rb +1 -2
  271. data/lib/net_system/sub/client/generators/client_generator.rb +88 -0
  272. data/lib/net_system/sub/client/generators/client_generator_test.rb +10 -0
  273. data/lib/net_system/sub/database/clients/mongo_client.rb +33 -0
  274. data/lib/net_system/sub/database/clients/mongo_client_test.rb +20 -0
  275. data/lib/net_system/sub/database/clients/mysql_client.rb +29 -0
  276. data/lib/net_system/sub/database/clients/mysql_client_test.rb +23 -0
  277. data/lib/net_system/sub/database/clients/pgsql_client.rb +29 -0
  278. data/lib/net_system/sub/database/clients/pgsql_client_test.rb +25 -0
  279. data/lib/net_system/{net/controllers/client → sub/database/clients}/redis_client.rb +4 -1
  280. data/lib/net_system/{net/controllers/client → sub/database/clients}/redis_client_test.rb +2 -2
  281. data/lib/net_system/{net/controllers/client → sub/database/clients}/sqlite_client.rb +4 -1
  282. data/lib/net_system/{net/controllers/client → sub/database/clients}/sqlite_client_test.rb +2 -2
  283. data/lib/net_system/sub/database/commands/database_command.rb +32 -0
  284. data/lib/net_system/sub/database/commands/database_command_test.rb +11 -0
  285. data/lib/net_system/{net/panels → sub/database}/database_panel_test.rb +1 -2
  286. data/lib/net_system/{net/controllers → sub/database}/database_test.rb +1 -2
  287. data/lib/net_system/sub/database/databases/mongo_db.rb +8 -0
  288. data/lib/net_system/sub/database/databases/mongo_db_test.rb +21 -0
  289. data/lib/net_system/sub/database/databases/mysql_db.rb +8 -0
  290. data/lib/net_system/sub/database/databases/mysql_db_test.rb +21 -0
  291. data/lib/net_system/sub/database/databases/pgsql_db.rb +8 -0
  292. data/lib/net_system/sub/database/databases/pgsql_db_test.rb +21 -0
  293. data/lib/net_system/{net/controllers/database → sub/database/databases}/redis_db_test.rb +1 -1
  294. data/lib/net_system/{net/controllers/database → sub/database/databases}/sqlite_db_test.rb +1 -1
  295. data/lib/net_system/sub/record/generators/record_generator.rb +33 -0
  296. data/lib/net_system/sub/record/generators/record_generator_test.rb +11 -0
  297. data/lib/net_system/sub/record/record_panel.rb +3 -0
  298. data/lib/net_system/sub/record/record_panel_test.rb +11 -0
  299. data/lib/net_system/{net/controllers → sub/record}/record_test.rb +1 -2
  300. data/lib/net_system.rb +8 -1
  301. data/lib/web_system/{dev → sub/rack/commands}/rack_command.rb +7 -5
  302. data/lib/web_system/sub/rack/commands/rack_command_test.rb +11 -0
  303. data/lib/web_system/sub/rack/middle_racks/first_middle_rack.rb +8 -0
  304. data/lib/web_system/sub/rack/middle_racks/first_middle_rack_test.rb +11 -0
  305. data/lib/web_system/sub/rack/middle_racks/last_middle_rack.rb +3 -0
  306. data/lib/web_system/sub/rack/middle_racks/last_middle_rack_test.rb +11 -0
  307. data/lib/web_system/sub/rack/middle_racks/middle_rack.rb +18 -0
  308. data/lib/web_system/sub/rack/middle_racks/middle_rack_test.rb +11 -0
  309. data/lib/web_system/sub/rack/middle_racks/zeitwerk_middle_rack.rb +11 -0
  310. data/lib/web_system/sub/rack/middle_racks/zeitwerk_middle_rack_test.rb +11 -0
  311. data/lib/web_system/sub/rack/rack_panel.rb +52 -0
  312. data/lib/web_system/{web/panels → sub/rack}/rack_panel_test.rb +1 -2
  313. data/lib/web_system/{web/controllers → sub/rack}/rack_test.rb +1 -2
  314. data/lib/web_system/sub/rack/server_racks/agoo_server_rack.rb +53 -0
  315. data/lib/web_system/sub/rack/server_racks/agoo_server_rack_test.rb +11 -0
  316. data/lib/web_system/sub/rack/server_racks/falcon_server_rack.rb +46 -0
  317. data/lib/web_system/sub/rack/server_racks/falcon_server_rack_test.rb +11 -0
  318. data/lib/web_system/sub/rack/server_racks/iodine_server_rack.rb +47 -0
  319. data/lib/web_system/sub/rack/server_racks/iodine_server_rack_test.rb +11 -0
  320. data/lib/web_system/sub/rack/server_racks/puma_server_rack.rb +48 -0
  321. data/lib/web_system/sub/rack/server_racks/puma_server_rack_test.rb +11 -0
  322. data/lib/web_system/sub/rack/server_racks/server_rack.rb +12 -0
  323. data/lib/web_system/sub/rack/server_racks/server_rack_test.rb +11 -0
  324. data/lib/web_system/sub/rack/server_racks/thin_server_rack.rb +85 -0
  325. data/lib/web_system/sub/rack/server_racks/thin_server_rack_test.rb +11 -0
  326. data/lib/web_system/sub/request/commands/request_command.rb +125 -0
  327. data/lib/web_system/sub/request/commands/request_command_test.rb +11 -0
  328. data/lib/web_system/sub/request/generators/request_generator.rb +96 -0
  329. data/lib/web_system/sub/request/generators/request_generator_test.rb +11 -0
  330. data/lib/web_system/sub/request/request_panel.rb +69 -0
  331. data/lib/web_system/sub/request/request_panel_test.rb +54 -0
  332. data/lib/web_system/{web/controllers → sub/request}/request_test.rb +1 -2
  333. data/lib/web_system/sub/request/requests/simple_request.rb +95 -0
  334. data/lib/web_system/sub/request/requests/simple_request_test.rb +11 -0
  335. data/lib/web_system/sub/request/router_requests/router_request.rb +7 -0
  336. data/lib/web_system/sub/request/router_requests/router_request_test.rb +11 -0
  337. data/lib/web_system/sub/request/router_requests/simple_router_request.rb +24 -0
  338. data/lib/web_system/sub/request/router_requests/simple_router_request_test.rb +11 -0
  339. data/lib/web_system/web_box.rb +17 -0
  340. data/lib/web_system/{web/web_box_test.rb → web_box_test.rb} +1 -2
  341. data/lib/web_system.rb +9 -3
  342. data/lib/work_system/work_box.rb +5 -0
  343. data/lib/work_system/work_box_test.rb +8 -0
  344. data/lib/work_system.rb +8 -0
  345. data/lizarb.gemspec +13 -7
  346. metadata +369 -167
  347. data/app/happy/axos/axo.rb +0 -50
  348. data/app_new/dev/benches/objects_bench.rb +0 -83
  349. data/app_new/dev/benches/sorted_bench_test.rb +0 -12
  350. data/app_new/dev_box.rb +0 -14
  351. data/app_new.rb +0 -15
  352. data/exe/lrb +0 -3
  353. data/lib/dev_system/dev/controllers/bench_test.rb +0 -12
  354. data/lib/dev_system/dev/controllers/command/generate_command.rb +0 -9
  355. data/lib/dev_system/dev/controllers/command/generate_command_test.rb +0 -12
  356. data/lib/dev_system/dev/controllers/command/new_command.rb +0 -9
  357. data/lib/dev_system/dev/controllers/command/not_found_command.rb +0 -48
  358. data/lib/dev_system/dev/controllers/command/not_found_command_test.rb +0 -12
  359. data/lib/dev_system/dev/controllers/command/terminal_command.rb +0 -22
  360. data/lib/dev_system/dev/controllers/command/terminal_command_test.rb +0 -12
  361. data/lib/dev_system/dev/controllers/command.rb +0 -13
  362. data/lib/dev_system/dev/controllers/generator.rb +0 -9
  363. data/lib/dev_system/dev/controllers/generator_dsl_main_part.rb +0 -50
  364. data/lib/dev_system/dev/controllers/generators/bench_generator/controller.rb.erb +0 -23
  365. data/lib/dev_system/dev/controllers/generators/bench_generator/controller_test.rb.erb +0 -12
  366. data/lib/dev_system/dev/controllers/generators/bench_generator.rb +0 -12
  367. data/lib/dev_system/dev/controllers/generators/bench_generator_test.rb +0 -12
  368. data/lib/dev_system/dev/controllers/generators/command_generator/controller.rb.erb +0 -41
  369. data/lib/dev_system/dev/controllers/generators/command_generator/controller_test.rb.erb +0 -12
  370. data/lib/dev_system/dev/controllers/generators/command_generator.rb +0 -19
  371. data/lib/dev_system/dev/controllers/generators/command_generator_test.rb +0 -12
  372. data/lib/dev_system/dev/controllers/generators/controller_generator.rb +0 -97
  373. data/lib/dev_system/dev/controllers/generators/controller_generator_test.rb +0 -12
  374. data/lib/dev_system/dev/controllers/generators/generator_generator/generator.rb.erb +0 -18
  375. data/lib/dev_system/dev/controllers/generators/generator_generator/generator_test.rb.erb +0 -12
  376. data/lib/dev_system/dev/controllers/generators/generator_generator/template.rb.erb +0 -9
  377. data/lib/dev_system/dev/controllers/generators/generator_generator/template_test.rb.erb +0 -12
  378. data/lib/dev_system/dev/controllers/generators/generator_generator.rb +0 -30
  379. data/lib/dev_system/dev/controllers/generators/generator_generator_test.rb +0 -12
  380. data/lib/dev_system/dev/controllers/generators/new_generator.rb +0 -117
  381. data/lib/dev_system/dev/controllers/generators/new_generator_test.rb +0 -12
  382. data/lib/dev_system/dev/controllers/generators/not_found_generator.rb +0 -39
  383. data/lib/dev_system/dev/controllers/generators/not_found_generator_test.rb +0 -12
  384. data/lib/dev_system/dev/controllers/generators/record_generator.rb +0 -46
  385. data/lib/dev_system/dev/controllers/generators/record_generator_test.rb +0 -12
  386. data/lib/dev_system/dev/controllers/generators/request_generator.rb +0 -63
  387. data/lib/dev_system/dev/controllers/generators/request_generator_test.rb +0 -12
  388. data/lib/dev_system/dev/controllers/shell/dir_shell.rb +0 -27
  389. data/lib/dev_system/dev/controllers/shell/text_shell.rb +0 -23
  390. data/lib/dev_system/dev/controllers/terminal/irb_terminal_test.rb +0 -12
  391. data/lib/dev_system/dev/controllers/terminal/pry_terminal_test.rb +0 -12
  392. data/lib/dev_system/dev/controllers/terminal.rb +0 -17
  393. data/lib/dev_system/dev/controllers/terminal_test.rb +0 -12
  394. data/lib/dev_system/dev/dev_box.rb +0 -33
  395. data/lib/dev_system/dev/dev_box_test.rb +0 -17
  396. data/lib/dev_system/dev/panels/command_panel.rb +0 -71
  397. data/lib/dev_system/dev/panels/command_panel_test.rb +0 -46
  398. data/lib/dev_system/dev/panels/generator_panel.rb +0 -73
  399. data/lib/dev_system/dev/panels/generator_panel_test.rb +0 -46
  400. data/lib/dev_system/dev/panels/log_panel.rb +0 -13
  401. data/lib/dev_system/dev/panels/log_panel_test.rb +0 -16
  402. data/lib/dev_system/dev/panels/shell_panel.rb +0 -3
  403. data/lib/dev_system/dev/panels/shell_panel_test.rb +0 -12
  404. data/lib/dev_system/dev/panels/terminal_panel.rb +0 -3
  405. data/lib/dev_system/dev/panels/terminal_panel_test.rb +0 -12
  406. data/lib/happy_system/dev/happy_command.rb +0 -11
  407. data/lib/happy_system/happy/controllers/axo.rb +0 -7
  408. data/lib/happy_system/happy/happy_box.rb +0 -8
  409. data/lib/happy_system/happy/happy_box_test.rb +0 -16
  410. data/lib/happy_system/happy/panels/axo_panel.rb +0 -3
  411. data/lib/liza/base/box.rb +0 -90
  412. data/lib/liza/base/box_test.rb +0 -10
  413. data/lib/liza/base_parts/controller_renderer_part.rb +0 -140
  414. data/lib/liza/base_parts/controller_renderer_part_test.rb +0 -16
  415. data/lib/liza/meta/part_extension.rb +0 -16
  416. data/lib/liza/test_parts/test_tree_part.rb +0 -92
  417. data/lib/net_system/dev/net_command.rb +0 -22
  418. data/lib/net_system/net/net_box.rb +0 -13
  419. data/lib/web_system/dev/request_command.rb +0 -129
  420. data/lib/web_system/dev/web_command.rb +0 -9
  421. data/lib/web_system/web/panels/rack_panel.rb +0 -42
  422. data/lib/web_system/web/panels/request_panel.rb +0 -70
  423. data/lib/web_system/web/panels/request_panel_test.rb +0 -33
  424. data/lib/web_system/web/web_box.rb +0 -18
  425. /data/lib/dev_system/{dev/panels → sub/bench}/bench_panel.rb +0 -0
  426. /data/lib/dev_system/{dev/controllers → sub/log}/log.rb +0 -0
  427. /data/lib/dev_system/{dev/controllers/shell → sub/shell/shells}/bin_shell.rb +0 -0
  428. /data/lib/liza/{test_parts → safety_parts}/test_assertions_part.rb +0 -0
  429. /data/lib/liza/{test_parts → safety_parts}/test_dsl_part.rb +0 -0
  430. /data/lib/net_system/{net/controllers → sub/client}/client.rb +0 -0
  431. /data/lib/net_system/{net/panels → sub/client}/client_panel.rb +0 -0
  432. /data/lib/net_system/{net/controllers → sub/database}/database.rb +0 -0
  433. /data/lib/net_system/{net/panels → sub/database}/database_panel.rb +0 -0
  434. /data/lib/net_system/{net/controllers/database → sub/database/databases}/redis_db.rb +0 -0
  435. /data/lib/net_system/{net/controllers/database → sub/database/databases}/sqlite_db.rb +0 -0
  436. /data/lib/net_system/{net/controllers → sub/record}/record.rb +0 -0
  437. /data/lib/web_system/{web/controllers → sub/rack}/rack.rb +0 -0
  438. /data/lib/web_system/{web/controllers → sub/request}/request.rb +0 -0
  439. /data/lib/web_system/{web/controllers/request → sub/request/requests}/client_error_request.rb +0 -0
  440. /data/lib/web_system/{web/controllers/request → sub/request/requests}/not_found_request.rb +0 -0
  441. /data/lib/web_system/{web/controllers/request → sub/request/requests}/server_error_request.rb +0 -0
@@ -1,12 +1,11 @@
1
- class NarrativeMethodCommandTest < Liza::CommandTest
1
+ class NarrativeMethodCommandTest < DevSystem::CommandTest
2
2
 
3
3
  test :subject_class do
4
4
  assert subject_class == NarrativeMethodCommand
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 subject_class.log_level == 0
10
9
  end
11
10
 
12
11
  test :validate, :not_implemented do
@@ -35,7 +35,7 @@ class QuadraticCommand < NarrativeMethodCommand
35
35
 
36
36
  @result = self.class.quadratic(@a, @b, @c)
37
37
  log "RESULT: #{@result}"
38
- log render "success.txt"
38
+ log render(:success, format: :txt)
39
39
  end
40
40
 
41
41
  end
@@ -5,8 +5,7 @@ class QuadraticCommandTest < NarrativeMethodCommandTest
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 subject_class.log_level == 0
10
9
  end
11
10
 
12
11
  test :subject_class, :quadratic do
@@ -0,0 +1,3 @@
1
+ class DevBox < Liza::DevBox
2
+
3
+ end
@@ -0,0 +1,8 @@
1
+ class LoggerLog < DevSystem::Log
2
+
3
+ # TODO: https://rubyapi.org/3.1/o/logger
4
+ def self.call(env)
5
+ #
6
+ end
7
+
8
+ end
@@ -0,0 +1,16 @@
1
+ class LoggerLogTest < DevSystem::LogTest
2
+
3
+ test :subject_class do
4
+ assert subject_class == LoggerLog
5
+ end
6
+
7
+ test_methods_defined do
8
+ on_self :call
9
+ on_instance
10
+ end
11
+
12
+ test :settings do
13
+ assert_equality subject_class.log_level, 0
14
+ end
15
+
16
+ end
@@ -0,0 +1,67 @@
1
+ class DevBox < DevSystem::DevBox
2
+
3
+ # Configure your bench panel
4
+
5
+ configure :bench do
6
+
7
+ end
8
+
9
+ # Configure your command panel
10
+
11
+ configure :command do
12
+ short :b, :bench
13
+ short :g, :generate
14
+ short :i, :irb
15
+ short :l, :log
16
+ short :p, :pry
17
+ short :s, :shell
18
+ short :t, :test
19
+
20
+ # rescue_from declarations are checked bottom to top
21
+
22
+ # rescue_from(Exception) { |rescuer| binding.irb } if $coding
23
+ # rescue_from(StandardError) { |rescuer| binding.irb } if $coding
24
+
25
+ # uncomment below to override default setting to call NotFoundCommand
26
+ # rescue_from(CommandPanel::NotFoundError) { |rescuer| binding.irb } if $coding
27
+ end
28
+
29
+ # Configure your generator panel
30
+
31
+ configure :generator do
32
+ # rescue_from declarations are checked bottom to top
33
+
34
+ # rescue_from(Exception) { |rescuer| binding.irb } if $coding
35
+ # rescue_from(StandardError) { |rescuer| binding.irb } if $coding
36
+
37
+ # uncomment below to override default setting to call NotFoundGenerator
38
+ # rescue_from(GeneratorPanel::NotFoundError) { |rescuer| binding.irb } if $coding
39
+ end
40
+
41
+ # Configure your log panel
42
+
43
+ configure :log do
44
+ # handlers
45
+ handler :output
46
+
47
+ # rescue_from declarations are checked bottom to top
48
+
49
+ # rescue_from(Exception) { |rescuer| binding.irb } if $coding
50
+ # rescue_from(StandardError) { |rescuer| binding.irb } if $coding
51
+ end
52
+
53
+ # Configure your shell panel
54
+
55
+ configure :shell do
56
+ # formatters
57
+ formatter :html
58
+ formatter :html, :xml
59
+
60
+ # converters
61
+ converter :html, :md
62
+ converter :html, :haml
63
+ converter :js, :coffee
64
+ converter :css, :scss
65
+ end
66
+
67
+ end
@@ -0,0 +1,41 @@
1
+ # This is a LizaRB Application
2
+ # Learn more: http://lizarb.org/
3
+
4
+ # ENV["VERBOSE"] ||= "1"
5
+
6
+ class App
7
+
8
+ # Choose your Application Directory
9
+
10
+ folder "app"
11
+
12
+ # Choose your level of log opacity
13
+
14
+ # log_boot :highest
15
+ # log_boot :higher
16
+ # log_boot :high
17
+ # log_boot :normal # default
18
+ # log_boot :low
19
+ # log_boot :lower
20
+ # log_boot :lowest
21
+
22
+ # Choose your level of log opacity
23
+
24
+ # log_level :highest
25
+ # log_level :higher
26
+ # log_level :high
27
+ # log_level :normal # default
28
+ # log_level :low
29
+ # log_level :lower
30
+ # log_level :lowest
31
+
32
+ # Your mode is where you get global environment variables from
33
+
34
+ # mode :code # default
35
+ # mode :demo
36
+
37
+ # Systems help you organize your application's dependencies and RAM memory usage.
38
+
39
+ system :dev # default
40
+
41
+ end
@@ -0,0 +1,25 @@
1
+ class BashAdapterShell < DevSystem::Shell
2
+ # class Error < Liza::Error; end
3
+ # class CustomError < Error; end
4
+
5
+ def self.query_something(args)
6
+ log "args = #{args.inspect}"
7
+ output = nil
8
+
9
+ output = KernelShell.call_backticks("echo '#{args.size}'")
10
+ log "output = #{output.inspect}"
11
+
12
+ output
13
+ end
14
+
15
+ def self.execute_something(args)
16
+ log "args = #{args.inspect}"
17
+ it_worked = nil
18
+
19
+ it_worked = KernelShell.call_system("echo '#{args.size}'")
20
+ log "it_worked = #{it_worked.inspect}"
21
+
22
+ it_worked
23
+ end
24
+
25
+ end
@@ -0,0 +1,23 @@
1
+ class BashAdapterShellTest < DevSystem::ShellTest
2
+
3
+ test :subject_class do
4
+ assert_equality subject_class, BashAdapterShell
5
+ end
6
+
7
+ test :settings do
8
+ assert_equality subject_class.log_level, 0
9
+ end
10
+
11
+ test :query_something do
12
+ a = subject_class.query_something "some args"
13
+ b = "9\n"
14
+ assert_equality a, b
15
+ end
16
+
17
+ test :execute_something do
18
+ a = subject_class.execute_something "same args"
19
+ b = true
20
+ assert_equality a, b
21
+ end
22
+
23
+ end
@@ -0,0 +1,42 @@
1
+ class BusinessLogicShell < DevSystem::Shell
2
+ # class Error < Liza::Error; end
3
+ # class CustomError < Error; end
4
+
5
+ # BusinessLogicShell.metric_bmi 70, 180
6
+
7
+ def self.metric_bmi(kilograms, centimenters)
8
+ log "kilograms = #{kilograms.inspect}"
9
+ log "centimenters = #{centimenters.inspect}"
10
+ bmi = nil
11
+
12
+ bmi = kilograms / ((centimenters / 100.0) ** 2)
13
+ log "bmi = #{bmi.inspect}"
14
+
15
+ bmi
16
+ end
17
+
18
+ # BusinessLogicShell.imperial_bmi 154, 70
19
+
20
+ def self.imperial_bmi(pounds, inches)
21
+ log "pounds = #{pounds.inspect}"
22
+ log "inches = #{inches.inspect}"
23
+
24
+ kilograms = pounds_to_kilograms pounds
25
+ centimenters = inches_to_centimeters inches
26
+
27
+ metric_bmi kilograms, centimenters
28
+ end
29
+
30
+ # BusinessLogicShell.pounds_to_kilograms 154
31
+
32
+ def self.pounds_to_kilograms(pounds)
33
+ pounds * 0.45
34
+ end
35
+
36
+ # BusinessLogicShell.inches_to_centimeters 70
37
+
38
+ def self.inches_to_centimeters(inches)
39
+ inches * 2.54
40
+ end
41
+
42
+ end
@@ -0,0 +1,39 @@
1
+ class BusinessLogicShellTest < DevSystem::ShellTest
2
+
3
+ test :subject_class do
4
+ assert_equality subject_class, BusinessLogicShell
5
+ end
6
+
7
+ test :settings do
8
+ assert_equality subject_class.log_level, 0
9
+ end
10
+
11
+ #
12
+
13
+ test :metric_bmi do
14
+ a = subject_class.metric_bmi 100, 193
15
+ b = 26.85
16
+ assert_equality a.round(2), b
17
+ end
18
+
19
+ test :imperial_bmi do
20
+ a = subject_class.imperial_bmi 222, 76
21
+ b = 26.81
22
+ assert_equality a.round(2), b
23
+ end
24
+
25
+ #
26
+
27
+ test :pounds_to_kilograms do
28
+ a = subject_class.pounds_to_kilograms 222
29
+ b = 100
30
+ assert_equality a.round(0), b
31
+ end
32
+
33
+ test :inches_to_centimeters do
34
+ a = subject_class.inches_to_centimeters 76
35
+ b = 193
36
+ assert_equality a.round(0), b
37
+ end
38
+
39
+ end
@@ -0,0 +1,33 @@
1
+ class GemAdapterShell < DevSystem::Shell
2
+ # class Error < Liza::Error; end
3
+ # class CustomError < Error; end
4
+
5
+ # GemAdapterShell.do_something "some args"
6
+
7
+ def self.do_something(args)
8
+ log "args = #{args.inspect}"
9
+ result = nil
10
+
11
+ # require "some_gem"
12
+ # result = SomeGem.do_something args
13
+ result = [:some, :result]
14
+ log "result = #{result.inspect}"
15
+
16
+ result
17
+ end
18
+
19
+ # GemAdapterShell.do_something_else "some args"
20
+
21
+ def self.do_something_else(args)
22
+ log "args = #{args.inspect}"
23
+ result = nil
24
+
25
+ # require "some_gem"
26
+ # result = SomeGem.do_something_else args
27
+ result = {:some=>{:other=>:result}}
28
+ log "result = #{result.inspect}"
29
+
30
+ result
31
+ end
32
+
33
+ end
@@ -0,0 +1,23 @@
1
+ class GemAdapterShellTest < DevSystem::ShellTest
2
+
3
+ test :subject_class do
4
+ assert_equality subject_class, GemAdapterShell
5
+ end
6
+
7
+ test :settings do
8
+ assert_equality subject_class.log_level, 0
9
+ end
10
+
11
+ test :do_something do
12
+ a = subject_class.do_something "some args"
13
+ b = [:some, :result]
14
+ assert_equality a, b
15
+ end
16
+
17
+ test :do_something_else do
18
+ a = subject_class.do_something_else "same args"
19
+ b = {some: {other: :result}}
20
+ assert_equality a, b
21
+ end
22
+
23
+ end
data/exe/liza CHANGED
@@ -1,3 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- load "#{__dir__}/lizarb"
3
+ is_mother_project = File.exist? "exe/lizarb"
4
+
5
+ load \
6
+ is_mother_project \
7
+ ? "#{Dir.pwd}/exe/lizarb"
8
+ : "#{__dir__}/lizarb"
data/exe/lizarb CHANGED
@@ -16,4 +16,4 @@ Lizarb.call
16
16
 
17
17
  App.call ARGV
18
18
 
19
- Lizarb.exit verbose: true
19
+ Lizarb.exit
data/lib/app.rb CHANGED
@@ -1,61 +1,69 @@
1
1
  class App
2
2
  class Error < StandardError; end
3
- class SystemNotFound < Error; end
4
3
 
5
4
  #
6
5
 
7
6
  def self.log s
8
- puts s.bold
9
- end
10
-
11
- def self.logv s
12
- log s if $VERBOSE
7
+ puts s
13
8
  end
14
9
 
15
10
  # called from exe/lizarb
16
11
  def self.call argv
12
+ log "#{$boot_time.diff}s to boot" if defined? $log_boot_high
17
13
  puts
18
- Liza[:DevBox][:command].call argv
14
+ args = argv.dup
15
+ argv.clear
16
+ Liza[:DevBox].command args
19
17
  puts
20
18
  end
21
19
 
22
- def self.root
20
+ def self.cwd
23
21
  Pathname Dir.pwd
24
22
  end
25
23
 
26
- # loaders
24
+ @root = cwd
27
25
 
28
- @loaders = []
29
- @mutex = Mutex.new
26
+ def self.root
27
+ @root
28
+ end
30
29
 
31
- def self.loaders
32
- @loaders
30
+ def self.filename
31
+ root.join "#{$APP}.rb"
33
32
  end
34
33
 
35
- def self.reload &block
36
- @mutex.synchronize do
37
- @loaders.map &:reload
38
- yield if block_given?
39
- end
34
+ # folder
40
35
 
41
- true
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
44
+ end
42
45
  end
43
46
 
44
- def self.load_all
45
- Lizarb.load_all
47
+ def self.path
48
+ @path
46
49
  end
47
50
 
48
- # modes
51
+ def self.relative_path
52
+ @relative_path or raise "@relative_path not set"
53
+ end
49
54
 
50
- @modes = []
55
+ # mode
51
56
 
52
57
  def self.mode mode = nil
53
- return $MODE if mode.nil?
54
- @modes << mode.to_sym
58
+ if mode
59
+ @mode = mode.to_sym
60
+ else
61
+ @mode ||= (ENV["MODE"] || :code).to_sym
62
+ end
55
63
  end
56
64
 
57
- def self.modes
58
- @modes
65
+ def self.coding?
66
+ mode == :code
59
67
  end
60
68
 
61
69
  # systems
@@ -71,66 +79,55 @@ class App
71
79
  @systems
72
80
  end
73
81
 
74
- def self.require_system key
75
- t = Time.now
76
- logv "App.system :#{key}"
77
- require key
78
- logv "App.system :#{key} takes #{t.diff}s"
79
- rescue LoadError => e
80
- def e.backtrace; []; end
81
- raise SystemNotFound, "FILE #{key}.rb not found on $LOAD_PATH", []
82
- end
82
+ # settings
83
83
 
84
- # parts
85
-
86
- def self.connect_part part_klass, key, system
87
- t = Time.now
88
- string = "CONNECTING PART #{part_klass.to_s.rjust 25}.part :#{key}"
89
- logv string
90
-
91
- klass = if system.nil?
92
- Liza.const "#{key}_part"
93
- else
94
- Liza.const("#{system}_system")
95
- .const "#{key}_part"
96
- end
84
+ def self.settings
85
+ @settings ||= {}
86
+ end
97
87
 
98
- if klass.insertion
99
- part_klass.class_exec(&klass.insertion)
100
- end
88
+ def self.set key, value
89
+ settings[key] = value
90
+ end
101
91
 
102
- if klass.extension
103
- klass.const_set :Extension, Class.new(Liza::PartExtension)
104
- klass::Extension.class_exec(&klass.extension)
105
- end
106
- logv "#{string} takes #{t.diff}s"
92
+ def self.get key
93
+ settings[key]
107
94
  end
108
95
 
109
- # systems
96
+ # advanced settings
110
97
 
111
- def self.connect_system key, system_klass
112
- t = Time.now
98
+ DEFAULT_LOG_LEVEL = 4
113
99
 
114
- color_system_klass = system_klass.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
115
111
 
116
- registrar_index = 0
117
- system_klass.registrar.each do |string, target_block|
118
- 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
119
116
 
120
- registrar_index += 1
117
+ @log_boot = level
118
+ end
121
119
 
122
- 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
123
123
 
124
- if reg_type == "insertion"
125
- target_klass.class_exec(&target_block)
126
- else
127
- raise "TODO: decide and implement system extension"
128
- end
124
+ set :log_level, level
125
+ end
129
126
 
130
- log "CONNECTING SYSTEM PART #{color_system_klass}.#{reg_type} #{target_klass}"
127
+ # helpers
131
128
 
132
- end
133
- 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"
134
131
  end
135
132
 
136
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