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
@@ -0,0 +1,61 @@
1
+ class VariablesBench < SortedBench
2
+
3
+ setup do
4
+ log "repetitions: #{repetitions}"
5
+
6
+ LETTERS = (Array("a".."z")+Array("A".."Z"))
7
+
8
+ N = 1_000
9
+ # N = 10_000
10
+ # N = 100_000
11
+ # N = 1_000_000
12
+ # N = 10_000_000
13
+ # N = 100_000_000
14
+ end
15
+
16
+ #
17
+
18
+ mark "local variable" do
19
+ i = 0
20
+ a = nil
21
+
22
+ while (i += 1) <= N
23
+ eval "v_#{random_name} = sample"
24
+ end
25
+ end
26
+
27
+ mark "instance variable" do
28
+ i = 0
29
+
30
+ while (i += 1) <= N
31
+ eval "@v_#{random_name} = sample"
32
+ end
33
+ end
34
+
35
+ mark "class variable" do
36
+ i = 0
37
+
38
+ while (i += 1) <= N
39
+ eval "@@v_#{random_name} = sample"
40
+ end
41
+ end
42
+
43
+ mark "global variable" do
44
+ i = 0
45
+
46
+ while (i += 1) <= N
47
+ eval "$v_#{random_name} = sample"
48
+ end
49
+ end
50
+
51
+ # helper methods
52
+
53
+ def self.random_name
54
+ LETTERS.shuffle.join("")
55
+ end
56
+
57
+ def self.sample
58
+ LETTERS.sample
59
+ end
60
+
61
+ end
@@ -0,0 +1,11 @@
1
+ class VariablesBenchTest < SortedBenchTest
2
+
3
+ test :subject_class do
4
+ assert subject_class == VariablesBench
5
+ end
6
+
7
+ test :settings do
8
+ assert subject_class.log_level == 0
9
+ end
10
+
11
+ end
@@ -0,0 +1,42 @@
1
+ class NewsClient < NetSystem::Client
2
+
3
+ #
4
+
5
+ def self.ruby_news
6
+ new.call "https://www.ruby-lang.org/en/feeds/news.rss"
7
+ end
8
+
9
+ def self.ruby_weekly
10
+ new.call "https://cprss.s3.amazonaws.com/rubyweekly.com.xml"
11
+ end
12
+
13
+ #
14
+
15
+ def call url
16
+ t = Time.now
17
+ body = http_get url
18
+ hash = xml_to_hash body
19
+ log "rss channel title: #{ hash.dig :rss, :channel, :title }"
20
+ hash
21
+ ensure
22
+ log "#{t.diff}s to request #{url}"
23
+ hash
24
+ end
25
+
26
+ def http_get url
27
+ require "net/http"
28
+ request_uri = URI(url)
29
+ log "GET #{request_uri}"
30
+ Net::HTTP.get(request_uri)
31
+ end
32
+
33
+ def xml_to_hash string
34
+ # https://github.com/savonrb/nori
35
+ gem "nori"
36
+ gem "rexml"
37
+ require "nori"
38
+ require "rexml"
39
+ Nori.new(:parser => :rexml).parse string
40
+ end
41
+
42
+ end
@@ -0,0 +1,24 @@
1
+ class NewsClientTest < NetSystem::ClientTest
2
+
3
+ #
4
+
5
+ test :subject_class, :subject do
6
+ assert_equality NewsClient, subject_class
7
+ assert_equality NewsClient, subject.class
8
+ end
9
+
10
+ test :subject_class, :ruby_news do
11
+ hash = subject_class.ruby_news
12
+ a = hash.dig("rss", "channel", "title")
13
+ b = "Ruby News"
14
+ assert_equality a, b
15
+ end
16
+
17
+ test :subject_class, :ruby_weekly do
18
+ hash = subject_class.ruby_weekly
19
+ a = hash.dig("rss", "channel", "title")
20
+ b = "Ruby Weekly"
21
+ assert_equality a, b
22
+ end
23
+
24
+ end
@@ -33,14 +33,14 @@ class CalculatorCommand < NarrativeMethodCommand
33
33
  when :/ then self.class.div(@a, @b)
34
34
  end
35
35
  log "RESULT: #{@result}"
36
- log render "success.txt"
36
+ log render(:success, format: :txt)
37
37
  end
38
38
 
39
39
  end
40
40
 
41
41
  __END__
42
42
 
43
- # help.txt.erb
43
+ # view help.txt.erb
44
44
 
45
45
  NAME:
46
46
 
@@ -5,8 +5,7 @@ class CalculatorCommandTest < 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, :sum do
@@ -38,14 +38,14 @@ class CircleCommand < NarrativeMethodCommand
38
38
  when :circumference then self.class.circumference(@radius)
39
39
  end
40
40
  log "RESULT: #{@result}"
41
- log render "success.txt"
41
+ log render(:success, format: :txt)
42
42
  end
43
43
 
44
44
  end
45
45
 
46
46
  __END__
47
47
 
48
- # help.txt.erb
48
+ # view help.txt.erb
49
49
 
50
50
  NAME:
51
51
 
@@ -5,8 +5,7 @@ class CircleCommandTest < 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, :area do
@@ -1,19 +1,19 @@
1
- class NarrativeMethodCommand < Liza::Command
1
+ class NarrativeMethodCommand < DevSystem::Command
2
2
  class Error < StandardError; end
3
3
  class Invalid < Error; end
4
4
 
5
5
  def self.call(args)
6
- log "Called #{self}.#{__method__} with args #{args}"
6
+ log "args = #{args.inspect}"
7
7
  new.call(args)
8
8
  end
9
9
 
10
10
  # instance methods
11
11
 
12
12
  def call(args)
13
- log "Called #{self}.#{__method__} with args #{args}"
13
+ @args = args
14
+ log "@args = #{args.inspect}"
14
15
  return help if args.empty?
15
16
 
16
- @args = args
17
17
  validate
18
18
  perform
19
19
  rescue StandardError => error
@@ -32,26 +32,24 @@ class NarrativeMethodCommand < Liza::Command
32
32
  end
33
33
 
34
34
  def handle
35
- log "Called #{self}.#{__method__}"
36
- log render "error.txt"
35
+ log render(:error, format: :txt)
37
36
  end
38
37
 
39
38
  def help
40
- log "Called #{self}.#{__method__}"
41
- log render "help.txt"
39
+ log render(:help, format: :txt)
42
40
  end
43
41
  end
44
42
 
45
43
  __END__
46
44
 
47
- # success.txt.erb
45
+ # view success.txt.erb
48
46
 
49
47
  RESULT:
50
48
 
51
49
  class <%= @result.class %>
52
50
  value <%= @result %>
53
51
 
54
- # error.txt.erb
52
+ # view error.txt.erb
55
53
 
56
54
  ERROR:
57
55
 
@@ -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,14 +35,14 @@ 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
42
42
 
43
43
  __END__
44
44
 
45
- # help.txt.erb
45
+ # view help.txt.erb
46
46
 
47
47
  NAME:
48
48
 
@@ -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
@@ -1,11 +1,19 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
+ $APP = ENV["APP"]
4
+
3
5
  $VERBOSE = ENV["VERBOSE"]
4
6
 
5
7
  $LOAD_PATH.unshift "#{Dir.pwd}/lib"
6
8
 
7
9
  require_relative "../lib/lizarb.rb"
8
10
 
11
+ Lizarb.setup
12
+
13
+ Lizarb.app
14
+
9
15
  Lizarb.call
10
16
 
11
- exit 0
17
+ App.call ARGV
18
+
19
+ Lizarb.exit