lizarb 1.0.3 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (457) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +34 -7
  3. data/Gemfile.lock +179 -18
  4. data/README.md +53 -9
  5. data/Rakefile +38 -0
  6. data/app/dev/commands/color_command.rb +29 -0
  7. data/app/dev/commands/color_command_test.rb +10 -0
  8. data/app/dev/commands/stick_command.rb +102 -0
  9. data/app/dev/commands/stick_command_test.rb +19 -0
  10. data/app/dev_box.rb +54 -20
  11. data/app/happy_box.rb +4 -3
  12. data/app/net/databases/redis_db.rb +1 -1
  13. data/app/net/databases/redis_db_test.rb +5 -5
  14. data/app/net/databases/sqlite_db.rb +1 -1
  15. data/app/net/databases/sqlite_db_test.rb +5 -5
  16. data/app/net/records/app_record.rb +1 -1
  17. data/app/net/records/app_record_test.rb +1 -1
  18. data/app/net/records/post_record_test.rb +1 -1
  19. data/app/net/records/user_record_test.rb +1 -1
  20. data/app/net_box.rb +29 -6
  21. data/app/web/requests/app_request.rb +1 -1
  22. data/app/web/requests/app_request_test.rb +1 -1
  23. data/app/web/requests/foo_request.rb +26 -0
  24. data/app/web/requests/foo_request_test.rb +7 -0
  25. data/app/web_box.rb +17 -9
  26. data/app.rb +41 -10
  27. data/{exe/Gemfile → app_global.gemfile.rb} +2 -0
  28. data/app_global.gemfile.rb.lock +41 -0
  29. data/app_global.rb +5 -0
  30. data/{app → examples/bench/app}/dev/benches/loops_bench.rb +11 -3
  31. data/examples/bench/app/dev/benches/loops_bench_test.rb +11 -0
  32. data/examples/bench/app/dev/benches/objects_bench.rb +48 -0
  33. data/examples/bench/app/dev/benches/objects_bench_test.rb +11 -0
  34. data/examples/bench/app/dev/benches/sorted_bench.rb +74 -0
  35. data/examples/bench/app/dev/benches/sorted_bench_test.rb +11 -0
  36. data/examples/bench/app/dev/benches/variables_bench.rb +61 -0
  37. data/examples/bench/app/dev/benches/variables_bench_test.rb +11 -0
  38. data/examples/client/app/net/clients/news_client.rb +42 -0
  39. data/examples/client/app/net/clients/news_client_test.rb +24 -0
  40. data/{app → examples/command/app}/dev/commands/calculator_command.rb +2 -2
  41. data/{app → examples/command/app}/dev/commands/calculator_command_test.rb +1 -2
  42. data/{app → examples/command/app}/dev/commands/circle_command.rb +2 -2
  43. data/{app → examples/command/app}/dev/commands/circle_command_test.rb +1 -2
  44. data/{app → examples/command/app}/dev/commands/narrative_method_command.rb +8 -10
  45. data/{app → examples/command/app}/dev/commands/narrative_method_command_test.rb +2 -3
  46. data/{app → examples/command/app}/dev/commands/quadratic_command.rb +2 -2
  47. data/{app → examples/command/app}/dev/commands/quadratic_command_test.rb +1 -2
  48. data/examples/command/app/dev_box.rb +3 -0
  49. data/examples/log/app/dev/logs/logger_log.rb +8 -0
  50. data/examples/log/app/dev/logs/logger_log_test.rb +16 -0
  51. data/examples/new/app/dev_box.rb +67 -0
  52. data/examples/new/app.rb +41 -0
  53. data/examples/shell/app/dev/shells/bash_adapter_shell.rb +25 -0
  54. data/examples/shell/app/dev/shells/bash_adapter_shell_test.rb +23 -0
  55. data/examples/shell/app/dev/shells/business_logic_shell.rb +42 -0
  56. data/examples/shell/app/dev/shells/business_logic_shell_test.rb +39 -0
  57. data/examples/shell/app/dev/shells/gem_adapter_shell.rb +33 -0
  58. data/examples/shell/app/dev/shells/gem_adapter_shell_test.rb +23 -0
  59. data/exe/liza +6 -1
  60. data/exe/lizarb +9 -1
  61. data/lib/app.rb +74 -145
  62. data/lib/art_system/art_box.rb +5 -0
  63. data/lib/art_system/art_box_test.rb +8 -0
  64. data/lib/art_system.rb +8 -0
  65. data/lib/crypto_system/crypto_box.rb +5 -0
  66. data/lib/crypto_system/crypto_box_test.rb +8 -0
  67. data/lib/crypto_system.rb +8 -0
  68. data/lib/deep_system/deep_box.rb +5 -0
  69. data/lib/deep_system/deep_box_test.rb +8 -0
  70. data/lib/deep_system.rb +8 -0
  71. data/lib/desk_system/commands/glimmer_command.rb +26 -0
  72. data/lib/desk_system/commands/glimmer_command_test.rb +10 -0
  73. data/lib/desk_system/desk_box.rb +5 -0
  74. data/lib/desk_system/desk_box_test.rb +8 -0
  75. data/lib/desk_system.rb +8 -0
  76. data/lib/dev_system/{dev/controllers/command → commands}/test_command.rb +37 -9
  77. data/lib/dev_system/{dev/controllers/command → commands}/test_command_test.rb +1 -2
  78. data/lib/dev_system/dev_box.rb +79 -0
  79. data/lib/dev_system/dev_box_test.rb +33 -0
  80. data/lib/dev_system/generators/env_generator.rb +87 -0
  81. data/lib/dev_system/generators/env_generator_test.rb +11 -0
  82. data/lib/dev_system/generators/gemfile_generator.rb +47 -0
  83. data/lib/dev_system/generators/gemfile_generator_test.rb +11 -0
  84. data/lib/dev_system/generators/system_generator.rb +70 -0
  85. data/lib/dev_system/generators/system_generator_test.rb +11 -0
  86. data/lib/dev_system/sub/bench/bench.rb +7 -0
  87. data/lib/dev_system/{dev/panels → sub/bench}/bench_panel_test.rb +6 -2
  88. data/lib/dev_system/sub/bench/bench_test.rb +24 -0
  89. data/lib/dev_system/sub/bench/benches/not_found_bench.rb +33 -0
  90. data/lib/dev_system/{dev/controllers/bench → sub/bench/benches}/not_found_bench_test.rb +1 -2
  91. data/lib/dev_system/{dev/controllers/command → sub/bench/commands}/bench_command.rb +2 -7
  92. data/lib/dev_system/{dev/controllers/command → sub/bench/commands}/bench_command_test.rb +1 -2
  93. data/lib/dev_system/sub/bench/generators/bench_generator.rb +70 -0
  94. data/lib/dev_system/sub/bench/generators/bench_generator_test.rb +10 -0
  95. data/lib/dev_system/sub/command/command.rb +28 -0
  96. data/lib/dev_system/sub/command/command_panel.rb +151 -0
  97. data/lib/dev_system/sub/command/command_panel_test.rb +78 -0
  98. data/lib/dev_system/{dev/controllers → sub/command}/command_test.rb +6 -2
  99. data/lib/dev_system/sub/command/commands/base_command.rb +48 -0
  100. data/lib/dev_system/sub/command/commands/base_command_test.rb +11 -0
  101. data/lib/dev_system/{dev/controllers/terminal/irb_terminal.rb → sub/command/commands/irb_command.rb} +4 -2
  102. data/lib/dev_system/sub/command/commands/irb_command_test.rb +11 -0
  103. data/lib/dev_system/sub/command/commands/not_found_command.rb +156 -0
  104. data/lib/dev_system/sub/command/commands/not_found_command_test.rb +11 -0
  105. data/lib/dev_system/sub/command/commands/pry_command.rb +10 -0
  106. data/lib/dev_system/sub/command/commands/pry_command_test.rb +11 -0
  107. data/lib/dev_system/sub/command/commands/simple_command.rb +143 -0
  108. data/lib/dev_system/sub/command/commands/simple_command_test.rb +11 -0
  109. data/lib/dev_system/sub/command/generators/command_generator.rb +90 -0
  110. data/lib/dev_system/sub/command/generators/command_generator_test.rb +11 -0
  111. data/lib/dev_system/sub/command/input_commands/highline_input_command.rb +17 -0
  112. data/lib/dev_system/sub/command/input_commands/highline_input_command_test.rb +19 -0
  113. data/lib/dev_system/sub/command/input_commands/input_command.rb +20 -0
  114. data/lib/dev_system/sub/command/input_commands/input_command_test.rb +19 -0
  115. data/lib/dev_system/sub/command/input_commands/tty_input_command.rb +55 -0
  116. data/lib/dev_system/sub/command/input_commands/tty_input_command_test.rb +19 -0
  117. data/lib/dev_system/sub/generator/commands/generate_command.rb +9 -0
  118. data/lib/dev_system/sub/generator/commands/generate_command_test.rb +11 -0
  119. data/lib/dev_system/sub/generator/commands/new_command.rb +10 -0
  120. data/lib/dev_system/sub/generator/commands/new_command_test.rb +7 -0
  121. data/lib/dev_system/sub/generator/generator.rb +19 -0
  122. data/lib/dev_system/sub/generator/generator_panel.rb +98 -0
  123. data/lib/dev_system/sub/generator/generator_panel_test.rb +79 -0
  124. data/lib/dev_system/{dev/controllers → sub/generator}/generator_test.rb +6 -2
  125. data/lib/dev_system/sub/generator/generators/base_generator.rb +64 -0
  126. data/lib/dev_system/sub/generator/generators/base_generator_test.rb +11 -0
  127. data/lib/dev_system/sub/generator/generators/generator_generator.rb +71 -0
  128. data/lib/dev_system/sub/generator/generators/generator_generator_test.rb +11 -0
  129. data/lib/dev_system/sub/generator/generators/new_generator.rb +74 -0
  130. data/lib/dev_system/sub/generator/generators/new_generator_test.rb +11 -0
  131. data/lib/dev_system/sub/generator/generators/not_found_generator.rb +155 -0
  132. data/lib/dev_system/sub/generator/generators/not_found_generator_test.rb +11 -0
  133. data/lib/dev_system/sub/generator/generators/simple_generator.rb +257 -0
  134. data/lib/dev_system/sub/generator/generators/simple_generator_test.rb +38 -0
  135. data/lib/dev_system/sub/log/commands/log_command.rb +11 -0
  136. data/lib/dev_system/sub/log/commands/log_command_test.rb +11 -0
  137. data/lib/dev_system/sub/log/generators/log_generator.rb +54 -0
  138. data/lib/dev_system/sub/log/generators/log_generator_test.rb +10 -0
  139. data/lib/dev_system/sub/log/log.rb +3 -0
  140. data/lib/dev_system/sub/log/log_panel.rb +47 -0
  141. data/lib/dev_system/sub/log/log_panel_test.rb +50 -0
  142. data/lib/dev_system/sub/log/log_test.rb +16 -0
  143. data/lib/dev_system/sub/log/logs/output_log.rb +74 -0
  144. data/lib/dev_system/sub/log/logs/output_log_test.rb +47 -0
  145. data/lib/dev_system/sub/log/logs/stick_log.rb +79 -0
  146. data/lib/dev_system/sub/log/logs/stick_log_test.rb +88 -0
  147. data/lib/dev_system/sub/shell/commands/convert_command.rb +27 -0
  148. data/lib/dev_system/sub/shell/commands/convert_command_test.rb +10 -0
  149. data/lib/dev_system/sub/shell/commands/format_command.rb +25 -0
  150. data/lib/dev_system/sub/shell/commands/format_command_test.rb +10 -0
  151. data/lib/dev_system/sub/shell/commands/loc_command.rb +211 -0
  152. data/lib/dev_system/sub/shell/commands/loc_command_test.rb +10 -0
  153. data/lib/dev_system/sub/shell/commands/shell_command.rb +45 -0
  154. data/lib/dev_system/sub/shell/commands/shell_command_test.rb +11 -0
  155. data/lib/dev_system/sub/shell/converter_shells/coffee_converter_shell.rb +21 -0
  156. data/lib/dev_system/sub/shell/converter_shells/coffee_converter_shell_test.rb +41 -0
  157. data/lib/dev_system/sub/shell/converter_shells/converter_shell.rb +13 -0
  158. data/lib/dev_system/sub/shell/converter_shells/converter_shell_test.rb +19 -0
  159. data/lib/dev_system/sub/shell/converter_shells/haml_converter_shell.rb +30 -0
  160. data/lib/dev_system/sub/shell/converter_shells/haml_converter_shell_test.rb +34 -0
  161. data/lib/dev_system/sub/shell/converter_shells/md_converter_shell.rb +21 -0
  162. data/lib/dev_system/sub/shell/converter_shells/md_converter_shell_test.rb +38 -0
  163. data/lib/dev_system/sub/shell/converter_shells/scss_converter_shell.rb +59 -0
  164. data/lib/dev_system/sub/shell/converter_shells/scss_converter_shell_test.rb +59 -0
  165. data/lib/dev_system/sub/shell/formatter_shells/formatter_shell.rb +13 -0
  166. data/lib/dev_system/sub/shell/formatter_shells/formatter_shell_test.rb +19 -0
  167. data/lib/dev_system/sub/shell/formatter_shells/html_formatter_shell.rb +20 -0
  168. data/lib/dev_system/sub/shell/formatter_shells/html_formatter_shell_test.rb +51 -0
  169. data/lib/dev_system/sub/shell/generators/shell_generator.rb +68 -0
  170. data/lib/dev_system/sub/shell/generators/shell_generator_test.rb +10 -0
  171. data/lib/dev_system/{dev/controllers → sub/shell}/shell.rb +22 -0
  172. data/lib/dev_system/sub/shell/shell_panel.rb +98 -0
  173. data/lib/dev_system/sub/shell/shell_panel_test.rb +18 -0
  174. data/lib/dev_system/{dev/controllers → sub/shell}/shell_test.rb +31 -2
  175. data/lib/dev_system/sub/shell/shells/app_shell.rb +185 -0
  176. data/lib/dev_system/sub/shell/shells/app_shell_test.rb +26 -0
  177. data/lib/dev_system/{dev/controllers/shell → sub/shell/shells}/bin_shell_test.rb +1 -2
  178. data/lib/dev_system/sub/shell/shells/color_shell.rb +389 -0
  179. data/lib/dev_system/sub/shell/shells/color_shell_test.rb +27 -0
  180. data/lib/dev_system/sub/shell/shells/controller_shell.rb +20 -0
  181. data/lib/dev_system/sub/shell/shells/controller_shell_test.rb +16 -0
  182. data/lib/dev_system/sub/shell/shells/dir_shell.rb +27 -0
  183. data/lib/dev_system/{dev/controllers/shell → sub/shell/shells}/dir_shell_test.rb +1 -5
  184. data/lib/dev_system/{dev/controllers/shell → sub/shell/shells}/file_shell.rb +4 -4
  185. data/lib/dev_system/{dev/controllers/shell → sub/shell/shells}/file_shell_test.rb +1 -2
  186. data/lib/dev_system/sub/shell/shells/gem_shell.rb +21 -0
  187. data/lib/dev_system/sub/shell/shells/gem_shell_test.rb +28 -0
  188. data/lib/dev_system/sub/shell/shells/kernel_shell.rb +22 -0
  189. data/lib/dev_system/sub/shell/shells/kernel_shell_test.rb +10 -0
  190. data/lib/dev_system/sub/shell/shells/line_diff_shell.rb +26 -0
  191. data/lib/dev_system/sub/shell/shells/line_diff_shell_test.rb +11 -0
  192. data/lib/dev_system/sub/shell/shells/line_shell.rb +56 -0
  193. data/lib/dev_system/sub/shell/shells/line_shell_test.rb +70 -0
  194. data/lib/dev_system/sub/shell/shells/method_shell.rb +52 -0
  195. data/lib/dev_system/sub/shell/shells/method_shell_test.rb +34 -0
  196. data/lib/dev_system/sub/shell/shells/text_file_shell.rb +14 -0
  197. data/lib/dev_system/sub/shell/shells/text_file_shell_test.rb +11 -0
  198. data/lib/dev_system/sub/shell/shells/text_shell.rb +65 -0
  199. data/lib/dev_system/{dev/controllers/shell → sub/shell/shells}/text_shell_test.rb +1 -2
  200. data/lib/dev_system.rb +8 -2
  201. data/lib/happy_system/happy_box.rb +9 -0
  202. data/lib/happy_system/happy_box_test.rb +24 -0
  203. data/lib/happy_system/sub/axo/axo.rb +10 -0
  204. data/lib/happy_system/sub/axo/axo_panel.rb +9 -0
  205. data/lib/happy_system/sub/axo/axo_panel_test.rb +16 -0
  206. data/lib/happy_system/sub/axo/axo_test.rb +16 -0
  207. data/lib/happy_system/sub/axo/commands/axo_command.rb +40 -0
  208. data/lib/happy_system/sub/axo/commands/axo_command_test.rb +8 -0
  209. data/lib/happy_system/sub/axo/generators/axo_generator.rb +79 -0
  210. data/lib/happy_system/sub/axo/generators/axo_generator_test.rb +11 -0
  211. data/lib/happy_system.rb +4 -2
  212. data/lib/lab_system/clients/kroki_client.rb +134 -0
  213. data/lib/lab_system/clients/kroki_client_test.rb +32 -0
  214. data/lib/lab_system/clients/liza_kroki_client.rb +176 -0
  215. data/lib/lab_system/clients/liza_kroki_client_test.rb +32 -0
  216. data/lib/lab_system/commands/docker_command.rb +61 -0
  217. data/lib/lab_system/commands/docker_command_test.rb +11 -0
  218. data/lib/lab_system/lab_box.rb +5 -0
  219. data/lib/lab_system/lab_box_test.rb +8 -0
  220. data/lib/lab_system/requests/kroki_request.rb +182 -0
  221. data/lib/lab_system/requests/kroki_request_test.rb +11 -0
  222. data/lib/lab_system/shells/docker_shell.rb +60 -0
  223. data/lib/lab_system/shells/docker_shell_test.rb +61 -0
  224. data/lib/lab_system/shells/kroki_docker_shell.rb +20 -0
  225. data/lib/lab_system/shells/kroki_docker_shell_test.rb +11 -0
  226. data/lib/lab_system.rb +8 -0
  227. data/lib/lerb.rb +95 -49
  228. data/lib/liza/base/controller.rb +14 -15
  229. data/lib/liza/base/controller_test.rb +28 -2
  230. data/lib/liza/base/panel.rb +64 -24
  231. data/lib/liza/base/panel_test.rb +168 -3
  232. data/lib/liza/base_parts/controller_subsystem_part.rb +93 -0
  233. data/lib/liza/base_parts/panel_rescuer_part.rb +129 -0
  234. data/lib/liza/meta/box.rb +24 -0
  235. data/lib/liza/meta/box_test.rb +20 -0
  236. data/lib/liza/meta/part_test.rb +6 -1
  237. data/lib/liza/meta/system.rb +50 -7
  238. data/lib/liza/meta/system_test.rb +6 -2
  239. data/lib/liza/ruby_tests/app_test.rb +39 -0
  240. data/lib/liza/ruby_tests/class_test.rb +20 -0
  241. data/lib/liza/ruby_tests/module_test.rb +4 -4
  242. data/lib/liza/{ruby_test.rb → ruby_tests/object_test.rb} +1 -1
  243. data/lib/liza/ruby_tests/string_test.rb +3 -1
  244. data/lib/liza/{test → safety}/test.rb +9 -0
  245. data/lib/liza/{test → safety}/test_test.rb +44 -7
  246. data/lib/liza/{test_parts → safety_parts}/test_assertions_advanced_part.rb +1 -1
  247. data/lib/liza/{test_parts → safety_parts}/test_assertions_part.rb +1 -1
  248. data/lib/liza/{test_parts → safety_parts}/test_dsl_part.rb +3 -3
  249. data/lib/liza/{test_parts → safety_parts}/test_log_part.rb +20 -0
  250. data/lib/liza/{test_parts → safety_parts}/test_subject_part.rb +10 -0
  251. data/lib/liza/safety_parts/test_tree_part.rb +87 -0
  252. data/lib/liza/unit.rb +64 -120
  253. data/lib/liza/unit_parts/unit_classes_part.rb +37 -0
  254. data/lib/liza/unit_parts/unit_classes_part_test.rb +3 -0
  255. data/lib/liza/unit_parts/unit_logging_part.rb +139 -0
  256. data/lib/liza/unit_parts/unit_logging_part_test.rb +3 -0
  257. data/lib/liza/unit_parts/unit_methods_part.rb +35 -0
  258. data/lib/liza/unit_parts/unit_methods_part_test.rb +3 -0
  259. data/lib/liza/unit_parts/unit_procedure_part.rb +2 -2
  260. data/lib/liza/unit_parts/unit_procedure_part_test.rb +9 -9
  261. data/lib/liza/unit_parts/unit_renderer_part.rb +171 -0
  262. data/lib/liza/unit_parts/unit_renderer_part_test.rb +15 -0
  263. data/lib/liza/unit_parts/unit_settings_part.rb +84 -0
  264. data/lib/liza/unit_parts/unit_settings_part_test.rb +3 -0
  265. data/lib/liza/unit_test.rb +114 -5
  266. data/lib/liza.rb +11 -2
  267. data/lib/lizarb/ruby/class.rb +9 -1
  268. data/lib/lizarb/ruby/module.rb +1 -1
  269. data/lib/lizarb/ruby/string.rb +3 -1
  270. data/lib/lizarb/version.rb +1 -1
  271. data/lib/lizarb.rb +404 -29
  272. data/lib/micro_system/micro_box.rb +5 -0
  273. data/lib/micro_system/micro_box_test.rb +8 -0
  274. data/lib/micro_system.rb +8 -0
  275. data/lib/net_system/net_box.rb +21 -0
  276. data/lib/net_system/{net/net_box_test.rb → net_box_test.rb} +1 -2
  277. data/lib/net_system/{net/panels → sub/client}/client_panel_test.rb +1 -2
  278. data/lib/net_system/{net/controllers → sub/client}/client_test.rb +1 -2
  279. data/lib/net_system/sub/client/generators/client_generator.rb +88 -0
  280. data/lib/net_system/sub/client/generators/client_generator_test.rb +10 -0
  281. data/lib/net_system/sub/database/clients/mongo_client.rb +33 -0
  282. data/lib/net_system/sub/database/clients/mongo_client_test.rb +20 -0
  283. data/lib/net_system/sub/database/clients/mysql_client.rb +29 -0
  284. data/lib/net_system/sub/database/clients/mysql_client_test.rb +23 -0
  285. data/lib/net_system/sub/database/clients/pgsql_client.rb +29 -0
  286. data/lib/net_system/sub/database/clients/pgsql_client_test.rb +25 -0
  287. data/lib/net_system/{net/controllers/client → sub/database/clients}/redis_client.rb +5 -2
  288. data/lib/net_system/{net/controllers/client → sub/database/clients}/redis_client_test.rb +2 -2
  289. data/lib/net_system/{net/controllers/client → sub/database/clients}/sqlite_client.rb +5 -2
  290. data/lib/net_system/{net/controllers/client → sub/database/clients}/sqlite_client_test.rb +2 -2
  291. data/lib/net_system/sub/database/commands/database_command.rb +32 -0
  292. data/lib/net_system/sub/database/commands/database_command_test.rb +11 -0
  293. data/lib/net_system/{net/panels → sub/database}/database_panel_test.rb +1 -2
  294. data/lib/net_system/{net/controllers → sub/database}/database_test.rb +1 -2
  295. data/lib/net_system/sub/database/databases/mongo_db.rb +8 -0
  296. data/lib/net_system/sub/database/databases/mongo_db_test.rb +21 -0
  297. data/lib/net_system/sub/database/databases/mysql_db.rb +8 -0
  298. data/lib/net_system/sub/database/databases/mysql_db_test.rb +21 -0
  299. data/lib/net_system/sub/database/databases/pgsql_db.rb +8 -0
  300. data/lib/net_system/sub/database/databases/pgsql_db_test.rb +21 -0
  301. data/lib/net_system/{net/controllers/database → sub/database/databases}/redis_db_test.rb +1 -1
  302. data/lib/net_system/{net/controllers/database → sub/database/databases}/sqlite_db_test.rb +1 -1
  303. data/lib/net_system/sub/record/generators/record_generator.rb +33 -0
  304. data/lib/net_system/sub/record/generators/record_generator_test.rb +11 -0
  305. data/lib/net_system/sub/record/record_panel.rb +3 -0
  306. data/lib/net_system/sub/record/record_panel_test.rb +11 -0
  307. data/lib/net_system/{net/controllers → sub/record}/record_test.rb +1 -2
  308. data/lib/net_system.rb +8 -1
  309. data/lib/web_system/sub/rack/commands/rack_command.rb +30 -0
  310. data/lib/web_system/sub/rack/commands/rack_command_test.rb +11 -0
  311. data/lib/web_system/sub/rack/middle_racks/first_middle_rack.rb +8 -0
  312. data/lib/web_system/sub/rack/middle_racks/first_middle_rack_test.rb +11 -0
  313. data/lib/web_system/sub/rack/middle_racks/last_middle_rack.rb +3 -0
  314. data/lib/web_system/sub/rack/middle_racks/last_middle_rack_test.rb +11 -0
  315. data/lib/web_system/sub/rack/middle_racks/middle_rack.rb +18 -0
  316. data/lib/web_system/sub/rack/middle_racks/middle_rack_test.rb +11 -0
  317. data/lib/web_system/sub/rack/middle_racks/zeitwerk_middle_rack.rb +11 -0
  318. data/lib/web_system/sub/rack/middle_racks/zeitwerk_middle_rack_test.rb +11 -0
  319. data/lib/web_system/sub/rack/rack_panel.rb +52 -0
  320. data/lib/web_system/{web/panels → sub/rack}/rack_panel_test.rb +1 -2
  321. data/lib/web_system/{web/controllers → sub/rack}/rack_test.rb +1 -2
  322. data/lib/web_system/sub/rack/server_racks/agoo_server_rack.rb +53 -0
  323. data/lib/web_system/sub/rack/server_racks/agoo_server_rack_test.rb +11 -0
  324. data/lib/web_system/sub/rack/server_racks/falcon_server_rack.rb +46 -0
  325. data/lib/web_system/sub/rack/server_racks/falcon_server_rack_test.rb +11 -0
  326. data/lib/web_system/sub/rack/server_racks/iodine_server_rack.rb +47 -0
  327. data/lib/web_system/sub/rack/server_racks/iodine_server_rack_test.rb +11 -0
  328. data/lib/web_system/sub/rack/server_racks/puma_server_rack.rb +48 -0
  329. data/lib/web_system/sub/rack/server_racks/puma_server_rack_test.rb +11 -0
  330. data/lib/web_system/sub/rack/server_racks/server_rack.rb +12 -0
  331. data/lib/web_system/sub/rack/server_racks/server_rack_test.rb +11 -0
  332. data/lib/web_system/sub/rack/server_racks/thin_server_rack.rb +85 -0
  333. data/lib/web_system/sub/rack/server_racks/thin_server_rack_test.rb +11 -0
  334. data/lib/web_system/sub/request/commands/request_command.rb +125 -0
  335. data/lib/web_system/sub/request/commands/request_command_test.rb +11 -0
  336. data/lib/web_system/sub/request/generators/request_generator.rb +96 -0
  337. data/lib/web_system/sub/request/generators/request_generator_test.rb +11 -0
  338. data/lib/web_system/sub/request/request_panel.rb +69 -0
  339. data/lib/web_system/sub/request/request_panel_test.rb +54 -0
  340. data/lib/web_system/{web/controllers → sub/request}/request_test.rb +1 -2
  341. data/lib/web_system/sub/request/requests/simple_request.rb +95 -0
  342. data/lib/web_system/sub/request/requests/simple_request_test.rb +11 -0
  343. data/lib/web_system/sub/request/router_requests/router_request.rb +7 -0
  344. data/lib/web_system/sub/request/router_requests/router_request_test.rb +11 -0
  345. data/lib/web_system/sub/request/router_requests/simple_router_request.rb +24 -0
  346. data/lib/web_system/sub/request/router_requests/simple_router_request_test.rb +11 -0
  347. data/lib/web_system/web_box.rb +17 -0
  348. data/lib/web_system/{web/web_box_test.rb → web_box_test.rb} +1 -2
  349. data/lib/web_system.rb +9 -3
  350. data/lib/work_system/work_box.rb +5 -0
  351. data/lib/work_system/work_box_test.rb +8 -0
  352. data/lib/work_system.rb +8 -0
  353. data/lizarb.gemspec +14 -8
  354. metadata +375 -168
  355. data/.ruby-version +0 -1
  356. data/app/dev/benches/app_bench.rb +0 -5
  357. data/app/dev/benches/app_bench_test.rb +0 -7
  358. data/app/dev/benches/loops_bench_test.rb +0 -11
  359. data/app/dev/commands/app_command.rb +0 -5
  360. data/app/dev/commands/app_command_test.rb +0 -7
  361. data/app/dev/commands/new_command.rb +0 -9
  362. data/app/dev/commands/new_command_test.rb +0 -7
  363. data/app/dev/generators/bench_generator/bench.rb.erb +0 -24
  364. data/app/dev/generators/bench_generator/bench_test.rb.erb +0 -12
  365. data/app/dev/generators/bench_generator.rb +0 -18
  366. data/app/dev/generators/bench_generator_test.rb +0 -12
  367. data/app/dev/generators/command_generator/command.rb.erb +0 -26
  368. data/app/dev/generators/command_generator/command_test.rb.erb +0 -12
  369. data/app/dev/generators/command_generator.rb +0 -18
  370. data/app/dev/generators/command_generator_test.rb +0 -12
  371. data/app/dev/generators/record_generator.rb +0 -46
  372. data/app/dev/generators/record_generator_test.rb +0 -12
  373. data/app/dev/generators/request_generator.rb +0 -63
  374. data/app/dev/generators/request_generator_test.rb +0 -12
  375. data/app/happy/axos/axo.rb +0 -50
  376. data/exe/Gemfile.lock +0 -13
  377. data/exe/lrb +0 -3
  378. data/lib/dev_system/dev/controllers/bench/not_found_bench.rb +0 -27
  379. data/lib/dev_system/dev/controllers/bench.rb +0 -9
  380. data/lib/dev_system/dev/controllers/bench_dsl_main_part.rb +0 -58
  381. data/lib/dev_system/dev/controllers/bench_test.rb +0 -12
  382. data/lib/dev_system/dev/controllers/command/echo_command.rb +0 -9
  383. data/lib/dev_system/dev/controllers/command/echo_command_test.rb +0 -12
  384. data/lib/dev_system/dev/controllers/command/generate_command.rb +0 -33
  385. data/lib/dev_system/dev/controllers/command/generate_command_test.rb +0 -12
  386. data/lib/dev_system/dev/controllers/command/not_found_command.rb +0 -27
  387. data/lib/dev_system/dev/controllers/command/not_found_command_test.rb +0 -12
  388. data/lib/dev_system/dev/controllers/command/terminal_command.rb +0 -22
  389. data/lib/dev_system/dev/controllers/command/terminal_command_test.rb +0 -12
  390. data/lib/dev_system/dev/controllers/command/version_command.rb +0 -7
  391. data/lib/dev_system/dev/controllers/command/version_command_test.rb +0 -12
  392. data/lib/dev_system/dev/controllers/command.rb +0 -17
  393. data/lib/dev_system/dev/controllers/generator.rb +0 -9
  394. data/lib/dev_system/dev/controllers/generator_dsl_main_part.rb +0 -52
  395. data/lib/dev_system/dev/controllers/generators/app_generator.rb +0 -146
  396. data/lib/dev_system/dev/controllers/generators/app_generator_test.rb +0 -12
  397. data/lib/dev_system/dev/controllers/generators/generator_generator/generator.rb.erb +0 -18
  398. data/lib/dev_system/dev/controllers/generators/generator_generator/generator_test.rb.erb +0 -12
  399. data/lib/dev_system/dev/controllers/generators/generator_generator/template.rb.erb +0 -9
  400. data/lib/dev_system/dev/controllers/generators/generator_generator/template_test.rb.erb +0 -12
  401. data/lib/dev_system/dev/controllers/generators/generator_generator.rb +0 -30
  402. data/lib/dev_system/dev/controllers/generators/generator_generator_test.rb +0 -12
  403. data/lib/dev_system/dev/controllers/generators/not_found_generator.rb +0 -27
  404. data/lib/dev_system/dev/controllers/generators/not_found_generator_test.rb +0 -12
  405. data/lib/dev_system/dev/controllers/shell/dir_shell.rb +0 -27
  406. data/lib/dev_system/dev/controllers/shell/text_shell.rb +0 -23
  407. data/lib/dev_system/dev/controllers/terminal/irb_terminal_test.rb +0 -12
  408. data/lib/dev_system/dev/controllers/terminal/pry_terminal.rb +0 -10
  409. data/lib/dev_system/dev/controllers/terminal/pry_terminal_test.rb +0 -12
  410. data/lib/dev_system/dev/controllers/terminal.rb +0 -17
  411. data/lib/dev_system/dev/controllers/terminal_test.rb +0 -12
  412. data/lib/dev_system/dev/dev_box.rb +0 -39
  413. data/lib/dev_system/dev/dev_box_test.rb +0 -17
  414. data/lib/dev_system/dev/panels/command_panel.rb +0 -28
  415. data/lib/dev_system/dev/panels/command_panel_test.rb +0 -21
  416. data/lib/dev_system/dev/panels/generator_panel.rb +0 -3
  417. data/lib/dev_system/dev/panels/generator_panel_test.rb +0 -12
  418. data/lib/dev_system/dev/panels/log_panel.rb +0 -13
  419. data/lib/dev_system/dev/panels/log_panel_test.rb +0 -16
  420. data/lib/dev_system/dev/panels/shell_panel.rb +0 -3
  421. data/lib/dev_system/dev/panels/shell_panel_test.rb +0 -12
  422. data/lib/dev_system/dev/panels/terminal_panel.rb +0 -3
  423. data/lib/dev_system/dev/panels/terminal_panel_test.rb +0 -12
  424. data/lib/happy_system/dev/happy_command.rb +0 -11
  425. data/lib/happy_system/happy/controllers/axo.rb +0 -7
  426. data/lib/happy_system/happy/happy_box.rb +0 -9
  427. data/lib/happy_system/happy/happy_box_test.rb +0 -16
  428. data/lib/happy_system/happy/panels/axo_panel.rb +0 -3
  429. data/lib/liza/base/box.rb +0 -85
  430. data/lib/liza/base/box_test.rb +0 -10
  431. data/lib/liza/base_parts/controller_renderer_part.rb +0 -140
  432. data/lib/liza/base_parts/controller_renderer_part_test.rb +0 -16
  433. data/lib/liza/meta/part_extension.rb +0 -16
  434. data/lib/liza/test_parts/test_tree_part.rb +0 -137
  435. data/lib/net_system/dev/net_command.rb +0 -22
  436. data/lib/net_system/net/net_box.rb +0 -15
  437. data/lib/web_system/dev/rack_command.rb +0 -35
  438. data/lib/web_system/dev/request_command.rb +0 -143
  439. data/lib/web_system/dev/web_command.rb +0 -9
  440. data/lib/web_system/web/panels/rack_panel.rb +0 -42
  441. data/lib/web_system/web/panels/request_panel.rb +0 -72
  442. data/lib/web_system/web/panels/request_panel_test.rb +0 -33
  443. data/lib/web_system/web/web_box.rb +0 -20
  444. /data/lib/dev_system/{dev/panels → sub/bench}/bench_panel.rb +0 -0
  445. /data/lib/dev_system/{dev/controllers/shell → sub/shell/shells}/bin_shell.rb +0 -0
  446. /data/lib/net_system/{net/controllers → sub/client}/client.rb +0 -0
  447. /data/lib/net_system/{net/panels → sub/client}/client_panel.rb +0 -0
  448. /data/lib/net_system/{net/controllers → sub/database}/database.rb +0 -0
  449. /data/lib/net_system/{net/panels → sub/database}/database_panel.rb +0 -0
  450. /data/lib/net_system/{net/controllers/database → sub/database/databases}/redis_db.rb +0 -0
  451. /data/lib/net_system/{net/controllers/database → sub/database/databases}/sqlite_db.rb +0 -0
  452. /data/lib/net_system/{net/controllers → sub/record}/record.rb +0 -0
  453. /data/lib/web_system/{web/controllers → sub/rack}/rack.rb +0 -0
  454. /data/lib/web_system/{web/controllers → sub/request}/request.rb +0 -0
  455. /data/lib/web_system/{web/controllers/request → sub/request/requests}/client_error_request.rb +0 -0
  456. /data/lib/web_system/{web/controllers/request → sub/request/requests}/not_found_request.rb +0 -0
  457. /data/lib/web_system/{web/controllers/request → sub/request/requests}/server_error_request.rb +0 -0
data/app/dev_box.rb CHANGED
@@ -1,33 +1,67 @@
1
- class DevBox < Liza::DevBox
1
+ class DevBox < DevSystem::DevBox
2
2
 
3
- # Set up your bench panel per the DSL in http://guides.lizarb.org/panels/bench.html
4
- panel :bench do
5
- # set :log_level, ENV["dev.bench.log_level"]
6
- end
3
+ # Configure your bench panel
7
4
 
8
- # Set up your command panel per the DSL in http://guides.lizarb.org/panels/command.html
9
- panel :command do
10
- # set :log_level, ENV["dev.command.log_level"]
5
+ configure :bench do
6
+ #
11
7
  end
12
8
 
13
- # Set up your generator panel per the DSL in http://guides.lizarb.org/panels/generator.html
14
- panel :generator do
15
- # set :log_level, ENV["dev.generator.log_level"]
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
16
27
  end
17
28
 
18
- # Set up your command panel per the DSL in http://guides.lizarb.org/panels/log.html
19
- panel :log do
20
- # set :log_level, ENV["dev.log.log_level"]
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
21
39
  end
22
40
 
23
- # Set up your shell panel per the DSL in http://guides.lizarb.org/panels/shell.html
24
- panel :shell do
25
- # set :log_level, ENV["dev.shell.log_level"]
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
26
51
  end
27
52
 
28
- # Set up your terminal panel per the DSL in http://guides.lizarb.org/panels/terminal.html
29
- panel :terminal do
30
- # set :log_level, ENV["dev.terminal.log_level"]
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
31
65
  end
32
66
 
33
67
  end
data/app/happy_box.rb CHANGED
@@ -1,7 +1,8 @@
1
- class HappyBox < Liza::HappyBox
1
+ class HappyBox < HappySystem::HappyBox
2
+
3
+ # Configure your axo panel
2
4
 
3
- panel :axo do
4
- # Set up your axo panel per the DSL in http://guides.lizarb.com/panels/axo.html
5
+ configure :axo do
5
6
 
6
7
  end
7
8
 
@@ -1,4 +1,4 @@
1
- class RedisDb < Liza::RedisDb
1
+ class RedisDb < NetSystem::RedisDb
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 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
- panel :client do
4
- # Set up 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
- panel :database do
13
- # Set up 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
2
 
3
- panel :rack do
4
- # Set up 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
3
+ # Configure your rack panel
4
+
5
+ configure :rack do
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
- panel :request do
12
- # Set up 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,17 +1,48 @@
1
- App.call ARGV do
1
+ # ENV["VERBOSE"] ||= "1"
2
2
 
3
+ class App
4
+
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
18
+
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
33
+
3
34
  # Systems help you organize your application's dependencies and RAM memory usage.
4
- # Learn more: http://guides.lizarb.org/systems.html
5
35
 
6
- system :dev
7
- system :happy
36
+ system :dev # default
37
+ system :happy if coding?
8
38
  system :net
9
39
  system :web
10
-
11
- # Modes help you organize your application's behavior and settings.
12
- # Learn more: http://guides.lizarb.org/modes.html
13
-
14
- mode :code
15
- mode :demo
40
+ system :work
41
+ system :micro
42
+ system :desk
43
+ system :crypto
44
+ system :art
45
+ system :deep
46
+ system :lab
16
47
 
17
48
  end
@@ -1,3 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  source "https://rubygems.org"
4
+
5
+ gem "lizarb", "~> 1.0"
@@ -0,0 +1,41 @@
1
+ GEM
2
+ remote: https://rubygems.org/
3
+ specs:
4
+ coderay (1.1.3)
5
+ colorize (0.8.1)
6
+ diff-lcs (1.5.0)
7
+ dotenv (2.8.1)
8
+ lizarb (1.0.5)
9
+ colorize (~> 0.8)
10
+ diff-lcs (~> 1.5)
11
+ dotenv (~> 2.8)
12
+ pry (~> 0.14.2)
13
+ tty-prompt (~> 0.23.1)
14
+ zeitwerk (~> 2.6)
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)
33
+
34
+ PLATFORMS
35
+ x86_64-linux
36
+
37
+ DEPENDENCIES
38
+ lizarb (~> 1.0)
39
+
40
+ BUNDLED WITH
41
+ 2.3.22
data/app_global.rb ADDED
@@ -0,0 +1,5 @@
1
+ class App
2
+ folder "../lizarb_blank/app"
3
+ mode :code
4
+ system :dev
5
+ end
@@ -1,8 +1,13 @@
1
- class LoopsBench < AppBench
2
- main_dsl
1
+ class LoopsBench < SortedBench
2
+
3
+ repetitions 100
4
+ # repetitions 1_000
5
+ # repetitions 10_000
3
6
 
4
7
  setup do
5
- N = 1_000_000
8
+ log "repetitions: #{repetitions}"
9
+
10
+ N = 1_000
6
11
  RANGE = 1..N
7
12
  ARRAY = Array RANGE
8
13
  HASH_INT = RANGE.map { |i| [i, i] }.to_h
@@ -10,6 +15,8 @@ class LoopsBench < AppBench
10
15
  HASH_SYM = RANGE.map { |i| [:"a#{i}", i] }.to_h
11
16
  end
12
17
 
18
+ #
19
+
13
20
  mark "for i in RANGE" do
14
21
  for i in RANGE
15
22
  a = "1"
@@ -141,6 +148,7 @@ class LoopsBench < AppBench
141
148
  # end
142
149
  end
143
150
 
151
+
144
152
  mark "loop break" do
145
153
  i = 0
146
154
 
@@ -0,0 +1,11 @@
1
+ class LoopsBenchTest < SortedBenchTest
2
+
3
+ test :subject_class do
4
+ assert subject_class == LoopsBench
5
+ end
6
+
7
+ test :settings do
8
+ assert subject_class.log_level == 0
9
+ end
10
+
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
@@ -0,0 +1,11 @@
1
+ class ObjectsBenchTest < SortedBenchTest
2
+
3
+ test :subject_class do
4
+ assert subject_class == ObjectsBench
5
+ end
6
+
7
+ test :settings do
8
+ assert subject_class.log_level == 0
9
+ end
10
+
11
+ end
@@ -0,0 +1,74 @@
1
+ class SortedBench < DevSystem::Bench
2
+
3
+ def self.call args
4
+ t = Time.now
5
+
6
+ log "args = #{args.inspect}"
7
+
8
+ # https://rubyapi.org/3.1/o/benchmark
9
+ require "benchmark"
10
+
11
+ log stick system.color, :b, (" MEASURE, DO NOT GUESS ".center 80, "-")
12
+ log "repetitions #{repetitions}"
13
+
14
+ if @setup_bl
15
+ log "Setting up..."
16
+ @setup_bl.call
17
+ end
18
+
19
+ log "Benchmarking #{marks.count} Ruby Blocks"
20
+ puts
21
+
22
+ length = marks.keys.map(&:length).max || 0
23
+
24
+ marks.each do |label, bl|
25
+ log "Benchmarking #{label}"
26
+ marks[label] = Benchmark.measure label do
27
+ i = 0
28
+ bl.call while (i += 1) <= repetitions
29
+ end
30
+ end
31
+
32
+ puts
33
+
34
+ log "#{"Reporting".ljust_blanks(length + 17)} App CPU Time Kernel CPU Time Total CPU Time"
35
+ puts
36
+
37
+ sorted = marks.sort_by { |_k, tms| tms.total }.to_h
38
+
39
+ sorted.each.with_index do |(label, tms), i|
40
+ tms = tms.format "%10.6u %10.6y %10.6t"
41
+ s = "[#{i.next.to_s.rjust_zeroes 2}/#{marks.count.to_s.rjust_zeroes 2}] #{label.rjust_blanks length} #{tms}"
42
+
43
+ s = s.green if i == 0
44
+ s = s.red if i == marks.count-1
45
+ log s
46
+ end
47
+ puts
48
+ ensure
49
+ log "#{t.diff}s | #{marks.count} marks | #{repetitions} repetitions"
50
+ end
51
+
52
+ #
53
+
54
+ def self.repetitions n = nil
55
+ if n
56
+ @repetitions = n
57
+ else
58
+ @repetitions ||= 1
59
+ end
60
+ end
61
+
62
+ #
63
+
64
+ def self.setup &block
65
+ @setup_bl = block if block_given?
66
+ end
67
+
68
+ #
69
+
70
+ def self.marks()= @marks ||= {}
71
+
72
+ def self.mark(label, &block)= marks[label] = block
73
+
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