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,12 @@
1
- class RedisDbTest < Liza::RedisDbTest
1
+ class RedisDbTest < NetSystem::RedisDbTest
2
2
 
3
3
  test :subject_class do
4
4
  assert subject_class == RedisDb
5
5
  assert RedisDb.current.class == RedisDb
6
- assert Liza::RedisDb.current.class == RedisDb
7
- assert RedisDb.current == Liza::RedisDb.current
8
- assert RedisDb.current.client == Liza::RedisDb.current.client
9
- assert RedisDb.current.client.conn == Liza::RedisDb.current.client.conn
6
+ assert NetSystem::RedisDb.current.class == RedisDb
7
+ assert RedisDb.current == NetSystem::RedisDb.current
8
+ assert RedisDb.current.client == NetSystem::RedisDb.current.client
9
+ assert RedisDb.current.client.conn == NetSystem::RedisDb.current.client.conn
10
10
  end
11
11
 
12
12
  end
@@ -1,4 +1,4 @@
1
- class SqliteDb < Liza::SqliteDb
1
+ class SqliteDb < NetSystem::SqliteDb
2
2
 
3
3
  # Set up your database controllers per the DSL in http://guides.lizarb.org/controllers/database.html
4
4
 
@@ -1,12 +1,12 @@
1
- class SqliteDbTest < Liza::SqliteDbTest
1
+ class SqliteDbTest < NetSystem::SqliteDbTest
2
2
 
3
3
  test :subject_class do
4
4
  assert subject_class == SqliteDb
5
5
  # assert SqliteDb.current.class == SqliteDb
6
- # assert Liza::SqliteDb.current.class == SqliteDb
7
- # assert SqliteDb.current == Liza::SqliteDb.current
8
- # assert SqliteDb.current.client == Liza::SqliteDb.current.client
9
- # assert SqliteDb.current.client.conn == Liza::SqliteDb.current.client.conn
6
+ # assert NetSystem::SqliteDb.current.class == SqliteDb
7
+ # assert SqliteDb.current == NetSystem::SqliteDb.current
8
+ # assert SqliteDb.current.client == NetSystem::SqliteDb.current.client
9
+ # assert SqliteDb.current.client.conn == NetSystem::SqliteDb.current.client.conn
10
10
  end
11
11
 
12
12
  end
@@ -1,4 +1,4 @@
1
- class AppRecord < Liza::Record
1
+ class AppRecord < NetSystem::Record
2
2
  db :sqlite
3
3
 
4
4
  def self.create_tables!
@@ -1,4 +1,4 @@
1
- class AppRecordTest < Liza::RecordTest
1
+ class AppRecordTest < NetSystem::RecordTest
2
2
 
3
3
  test :subject_class do
4
4
  assert subject_class == AppRecord
@@ -1,4 +1,4 @@
1
- class PostRecordTest < Liza::RecordTest
1
+ class PostRecordTest < NetSystem::RecordTest
2
2
 
3
3
  test :subject_class do
4
4
  assert subject_class == PostRecord
@@ -1,4 +1,4 @@
1
- class UserRecordTest < Liza::RecordTest
1
+ class UserRecordTest < NetSystem::RecordTest
2
2
 
3
3
  test :subject_class do
4
4
  assert subject_class == UserRecord
data/app/net_box.rb CHANGED
@@ -1,21 +1,44 @@
1
- class NetBox < Liza::NetBox
1
+ class NetBox < NetSystem::NetBox
2
2
 
3
- configure :client do
4
- # Configure your client panel per the DSL in http://guides.lizarb.org/panels/client.html
3
+ # Configure your client panel
5
4
 
5
+ configure :client do
6
6
  set :redis_url, "redis://localhost:6379/15"
7
- set :sqlite_path, "tmp/app.#{Time.now.to_i}.sqlite" if App.mode == :code
7
+ set :mongo_hash, host: "localhost",
8
+ port: 27017,
9
+ connect: :direct,
10
+ database: "app_1_#{App.mode}"
11
+ set :sqlite_path, "tmp/app.#{Time.now.to_i}.sqlite" if $coding
8
12
  set :sqlite_path, "app.#{App.mode}.sqlite"
13
+ set :mysql_hash, host: "localhost",
14
+ port: 3306,
15
+ username: "root",
16
+ password: "123123123",
17
+ database: "app_1_#{App.mode}"
18
+ set :pgsql_hash, host: "localhost",
19
+ port: 5432,
20
+ user: "postgres",
21
+ password: "postgres",
22
+ dbname: "app_1_#{App.mode}"
9
23
 
10
24
  end
11
25
 
12
- configure :database do
13
- # Configure your database panel per the DSL in http://guides.lizarb.org/panels/database.html
26
+ # Configure your database panel
14
27
 
28
+ configure :database do
15
29
  define :redis, RedisDb
30
+ define :mongo, MongoDb
16
31
  define :sql, SqliteDb
17
32
  define :sqlite, SqliteDb
33
+ define :mysql, MysqlDb
34
+ define :pgsql, PgsqlDb
18
35
 
19
36
  end
20
37
 
38
+ # Configure your record panel
39
+
40
+ configure :record do
41
+
42
+ end
43
+
21
44
  end
@@ -1,5 +1,5 @@
1
1
  # Set up your request controllers per the DSL in http://guides.lizarb.org/controllers/request.html
2
2
 
3
- class AppRequest < Liza::Request
3
+ class AppRequest < WebSystem::Request
4
4
 
5
5
  end
@@ -1,4 +1,4 @@
1
- class AppRequestTest < Liza::RequestTest
1
+ class AppRequestTest < WebSystem::RequestTest
2
2
 
3
3
  test :subject_class do
4
4
  assert subject_class == AppRequest
@@ -0,0 +1,26 @@
1
+ class FooRequest < WebSystem::SimpleRequest
2
+
3
+ # GET /foo
4
+
5
+ def call_index
6
+ log "."
7
+ end
8
+
9
+ # POST /foo
10
+
11
+ def call_index!
12
+ log "."
13
+ end
14
+
15
+ end
16
+
17
+ __END__
18
+
19
+ # view index.html.erb
20
+ <h1><%= self.class %></h1>
21
+ <h2><%= action %></h2>
22
+ <p>request: <%= request %></p>
23
+ <p>action: <%= action %></p>
24
+ <p>format: <%= format %></p>
25
+ <p>qs: <%= qs %></p>
26
+ <p>segments: <%= segments %></p>
@@ -0,0 +1,7 @@
1
+ class FooRequestTest < WebSystem::SimpleRequestTest
2
+
3
+ test :subject_class do
4
+ assert_equality subject_class, FooRequest
5
+ end
6
+
7
+ end
data/app/web_box.rb CHANGED
@@ -1,16 +1,24 @@
1
- class WebBox < Liza::WebBox
1
+ class WebBox < WebSystem::WebBox
2
+
3
+ # Configure your rack panel
2
4
 
3
5
  configure :rack do
4
- # Configure your rack panel per the DSL in http://guides.lizarb.org/panels/rack.html
5
-
6
- # set :files, App.root.join("web_files")
7
- # set :host, "localhost"
8
- # set :port, 3000
6
+ # server (pick one, check gemfile)
7
+ # server :agoo
8
+ # server :falcon
9
+ # server :iodine
10
+ server :puma
11
+ # server :thin
12
+
13
+ set :files, App.root.join("web_files")
14
+ set :host, "localhost"
15
+ set :port, 3000
9
16
  end
10
17
 
11
- configure :request do
12
- # Configure your request panel per the DSL in http://guides.lizarb.org/panels/request.html
18
+ # Configure your request panel
13
19
 
20
+ configure :request do
21
+ router :simple
14
22
  end
15
23
 
16
24
  end
data/app.rb CHANGED
@@ -1,16 +1,48 @@
1
+ # ENV["VERBOSE"] ||= "1"
2
+
1
3
  class App
2
4
 
3
- # Modes help you organize your application's behavior and settings.
5
+ # Choose your Application Directory
6
+
7
+ folder "app"
8
+
9
+ # Choose your level of log opacity
10
+
11
+ # log_boot :highest
12
+ # log_boot :higher
13
+ # log_boot :high
14
+ # log_boot :normal # default
15
+ # log_boot :low
16
+ # log_boot :lower
17
+ # log_boot :lowest
4
18
 
5
- mode :code
6
- mode :demo
19
+ # Choose your level of log opacity
20
+
21
+ # log_level :highest
22
+ # log_level :higher
23
+ # log_level :high
24
+ # log_level :normal # default
25
+ # log_level :low
26
+ # log_level :lower
27
+ # log_level :lowest
28
+
29
+ # Your mode is where you get global environment variables from
30
+
31
+ # mode :code # default
32
+ # mode :demo
7
33
 
8
34
  # Systems help you organize your application's dependencies and RAM memory usage.
9
35
 
10
- system :dev
11
- system :happy
36
+ system :dev # default
37
+ system :happy if coding?
12
38
  system :net
13
39
  system :web
14
-
40
+ system :work
41
+ system :micro
42
+ system :desk
43
+ system :crypto
44
+ system :art
45
+ system :deep
46
+ system :lab
15
47
 
16
48
  end
@@ -2,4 +2,4 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "lizarb", "~> 1.0"
5
+ gem "lizarb", "~> 1.0"
@@ -1,13 +1,35 @@
1
1
  GEM
2
2
  remote: https://rubygems.org/
3
3
  specs:
4
+ coderay (1.1.3)
4
5
  colorize (0.8.1)
6
+ diff-lcs (1.5.0)
5
7
  dotenv (2.8.1)
6
- lizarb (1.0.4)
8
+ lizarb (1.0.5)
7
9
  colorize (~> 0.8)
10
+ diff-lcs (~> 1.5)
8
11
  dotenv (~> 2.8)
12
+ pry (~> 0.14.2)
13
+ tty-prompt (~> 0.23.1)
9
14
  zeitwerk (~> 2.6)
10
- zeitwerk (2.6.8)
15
+ method_source (1.0.0)
16
+ pastel (0.8.0)
17
+ tty-color (~> 0.5)
18
+ pry (0.14.2)
19
+ coderay (~> 1.1)
20
+ method_source (~> 1.0)
21
+ tty-color (0.6.0)
22
+ tty-cursor (0.7.1)
23
+ tty-prompt (0.23.1)
24
+ pastel (~> 0.8)
25
+ tty-reader (~> 0.8)
26
+ tty-reader (0.9.0)
27
+ tty-cursor (~> 0.7)
28
+ tty-screen (~> 0.8)
29
+ wisper (~> 2.0)
30
+ tty-screen (0.8.1)
31
+ wisper (2.0.1)
32
+ zeitwerk (2.6.12)
11
33
 
12
34
  PLATFORMS
13
35
  x86_64-linux
@@ -16,4 +38,4 @@ DEPENDENCIES
16
38
  lizarb (~> 1.0)
17
39
 
18
40
  BUNDLED WITH
19
- 2.4.1
41
+ 2.3.22
data/app_global.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  class App
2
+ folder "../lizarb_blank/app"
2
3
  mode :code
3
4
  system :dev
4
5
  end
@@ -1,16 +1,22 @@
1
1
  class LoopsBench < SortedBench
2
2
 
3
+ repetitions 100
4
+ # repetitions 1_000
5
+ # repetitions 10_000
6
+
3
7
  setup do
4
- N = 1_000_000
8
+ log "repetitions: #{repetitions}"
9
+
10
+ N = 1_000
5
11
  RANGE = 1..N
6
12
  ARRAY = Array RANGE
7
13
  HASH_INT = RANGE.map { |i| [i, i] }.to_h
8
14
  HASH_STR = RANGE.map { |i| ["a#{i}", i] }.to_h
9
15
  HASH_SYM = RANGE.map { |i| [:"a#{i}", i] }.to_h
10
-
11
- log "setup N = #{N}"
12
16
  end
13
17
 
18
+ #
19
+
14
20
  mark "for i in RANGE" do
15
21
  for i in RANGE
16
22
  a = "1"
@@ -142,6 +148,7 @@ class LoopsBench < SortedBench
142
148
  # end
143
149
  end
144
150
 
151
+
145
152
  mark "loop break" do
146
153
  i = 0
147
154
 
@@ -5,8 +5,7 @@ class LoopsBenchTest < SortedBenchTest
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
  end
@@ -0,0 +1,48 @@
1
+ class ObjectsBench < SortedBench
2
+
3
+ repetitions 1_000_000
4
+ # repetitions 10_000_000
5
+ # repetitions 100_000_000
6
+
7
+ setup do
8
+ log "repetitions: #{repetitions}"
9
+ end
10
+ #
11
+
12
+ mark "BasicObject.new" do
13
+ BasicObject.new
14
+ end
15
+
16
+ mark "Object.new" do
17
+ Object.new
18
+ end
19
+
20
+ mark "String.new" do
21
+ String.new
22
+ end
23
+
24
+ mark "Numeric.new" do
25
+ Numeric.new
26
+ end
27
+
28
+ mark "Time.new" do
29
+ Time.new
30
+ end
31
+
32
+ mark "Proc.new {}" do
33
+ Proc.new {}
34
+ end
35
+
36
+ mark "Set.new" do
37
+ Set.new
38
+ end
39
+
40
+ mark "Array.new" do
41
+ Array.new
42
+ end
43
+
44
+ mark "Hash.new" do
45
+ Hash.new
46
+ end
47
+
48
+ end
@@ -5,8 +5,7 @@ class ObjectsBenchTest < SortedBenchTest
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
  end
@@ -1,25 +1,32 @@
1
- class SortedBench < Liza::Bench
1
+ class SortedBench < DevSystem::Bench
2
2
 
3
3
  def self.call args
4
+ t = Time.now
5
+
4
6
  log "args = #{args.inspect}"
5
7
 
6
8
  # https://rubyapi.org/3.1/o/benchmark
7
9
  require "benchmark"
8
10
 
11
+ log stick system.color, :b, (" MEASURE, DO NOT GUESS ".center 80, "-")
12
+ log "repetitions #{repetitions}"
13
+
9
14
  if @setup_bl
10
15
  log "Setting up..."
11
- instance_exec &@setup_bl
12
- log "Set up"
16
+ @setup_bl.call
13
17
  end
14
18
 
15
19
  log "Benchmarking #{marks.count} Ruby Blocks"
16
20
  puts
17
21
 
18
- length = marks.keys.map(&:length).max
22
+ length = marks.keys.map(&:length).max || 0
19
23
 
20
24
  marks.each do |label, bl|
21
25
  log "Benchmarking #{label}"
22
- marks[label] = Benchmark.measure label, &bl
26
+ marks[label] = Benchmark.measure label do
27
+ i = 0
28
+ bl.call while (i += 1) <= repetitions
29
+ end
23
30
  end
24
31
 
25
32
  puts
@@ -38,17 +45,30 @@ class SortedBench < Liza::Bench
38
45
  log s
39
46
  end
40
47
  puts
41
- log "Done"
48
+ ensure
49
+ log "#{t.diff}s | #{marks.count} marks | #{repetitions} repetitions"
42
50
  end
43
51
 
44
52
  #
45
53
 
46
- def self.marks()= @marks ||= {}
54
+ def self.repetitions n = nil
55
+ if n
56
+ @repetitions = n
57
+ else
58
+ @repetitions ||= 1
59
+ end
60
+ end
47
61
 
48
- def self.mark(label, &block)= marks[label] = block
62
+ #
49
63
 
50
64
  def self.setup &block
51
65
  @setup_bl = block if block_given?
52
66
  end
53
67
 
68
+ #
69
+
70
+ def self.marks()= @marks ||= {}
71
+
72
+ def self.mark(label, &block)= marks[label] = block
73
+
54
74
  end
@@ -0,0 +1,11 @@
1
+ class SortedBenchTest < DevSystem::BenchTest
2
+
3
+ test :subject_class do
4
+ assert_equality subject_class, SortedBench
5
+ end
6
+
7
+ test :settings do
8
+ assert_equality subject_class.log_level, 0
9
+ end
10
+
11
+ end
@@ -1,14 +1,20 @@
1
1
  class VariablesBench < SortedBench
2
2
 
3
3
  setup do
4
+ log "repetitions: #{repetitions}"
5
+
4
6
  LETTERS = (Array("a".."z")+Array("A".."Z"))
7
+
5
8
  N = 1_000
6
9
  # N = 10_000
7
10
  # N = 100_000
8
-
9
- log "setup N = #{N}"
11
+ # N = 1_000_000
12
+ # N = 10_000_000
13
+ # N = 100_000_000
10
14
  end
11
15
 
16
+ #
17
+
12
18
  mark "local variable" do
13
19
  i = 0
14
20
  a = nil
@@ -5,8 +5,7 @@ class VariablesBenchTest < SortedBenchTest
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
  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,7 +33,7 @@ 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
@@ -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,7 +38,7 @@ 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
@@ -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,4 +1,4 @@
1
- class NarrativeMethodCommand < Liza::Command
1
+ class NarrativeMethodCommand < DevSystem::Command
2
2
  class Error < StandardError; end
3
3
  class Invalid < Error; end
4
4
 
@@ -32,11 +32,11 @@ class NarrativeMethodCommand < Liza::Command
32
32
  end
33
33
 
34
34
  def handle
35
- log render "error.txt"
35
+ log render(:error, format: :txt)
36
36
  end
37
37
 
38
38
  def help
39
- log render "help.txt"
39
+ log render(:help, format: :txt)
40
40
  end
41
41
  end
42
42