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
@@ -0,0 +1,26 @@
1
+ class DeskSystem::GlimmerCommand < DevSystem::SimpleCommand
2
+
3
+ # liza glimmer
4
+
5
+ def call_default
6
+ call_examples
7
+ end
8
+
9
+ # liza glimmer:examples
10
+
11
+ def call_examples
12
+ log stick :b, system.color, "Glimmer is a free Ruby Desktop Development Cross-Platform Native GUI Library!"
13
+ log [
14
+ (stick :b, "Learn more at "),
15
+ (stick :b, system.color, "https://github.com/AndyObtiva/glimmer-dsl-libui")
16
+ ]
17
+
18
+ puts
19
+ log "args = #{env[:args].inspect}"
20
+ # require "glimmer-dsl-libui"
21
+ require "examples/meta_example"
22
+
23
+ log "done at #{Time.now}"
24
+ end
25
+
26
+ end
@@ -0,0 +1,10 @@
1
+ class DeskSystem::GlimmerCommandTest < DevSystem::SimpleCommandTest
2
+
3
+ #
4
+
5
+ test :subject_class, :subject do
6
+ assert_equality DeskSystem::GlimmerCommand, subject_class
7
+ assert_equality DeskSystem::GlimmerCommand, subject.class
8
+ end
9
+
10
+ end
@@ -0,0 +1,5 @@
1
+ class DeskSystem::DeskBox < Liza::Box
2
+
3
+ #
4
+
5
+ end
@@ -0,0 +1,8 @@
1
+ class DeskSystem::DeskBoxTest < Liza::BoxTest
2
+
3
+ test :subject_class, :subject do
4
+ assert_equality DeskSystem::DeskBox, subject_class
5
+ assert_equality DeskSystem::DeskBox, subject.class
6
+ end
7
+
8
+ end
@@ -0,0 +1,8 @@
1
+ class DeskSystem < Liza::System
2
+ class Error < Liza::Error; end
3
+
4
+ #
5
+
6
+ color :turquoise
7
+
8
+ end
@@ -3,11 +3,13 @@ class DevSystem::TestCommand < DevSystem::Command
3
3
  def self.call args
4
4
  log "args = #{args.inspect}"
5
5
 
6
- App.load_all
7
-
8
6
  now = Time.now
9
7
  test_classes = Liza::Test.descendants
10
8
 
9
+ if args.any?
10
+ test_classes = test_classes.select { |tc| args.any? { tc.source_location_radical.snakecase.include? _1.snakecase } }
11
+ end
12
+
11
13
  _call_silence_base_units
12
14
 
13
15
  if Lizarb::IS_APP_DIR
@@ -63,7 +65,12 @@ class DevSystem::TestCommand < DevSystem::Command
63
65
  end
64
66
  end
65
67
 
68
+
66
69
  def self._call_counting test_classes
70
+ puts
71
+ Liza.log ""
72
+ Liza.log stick :b, " TEST TOTALS ".center(140, "-")
73
+ Liza.log ""
67
74
  puts
68
75
  totals = Hash.new { 0 }
69
76
  last_namespace = nil
@@ -75,11 +82,32 @@ class DevSystem::TestCommand < DevSystem::Command
75
82
  test_class.totals.each do |k, v|
76
83
  totals[k] += v.size
77
84
  end
78
- Liza.log " #{"#{test_class}.totals".ljust 60} #{test_class.totals.map { |k, v| [k, v.size] }.to_h}"
85
+ size = 60 - test_class.subject_class.to_s.size
86
+ Liza.log "#{_color_unit test_class.subject_class}#{".totals".ljust size} #{test_class.totals.map { |k, v| [k, v.size] }.to_h}"
79
87
  end
80
88
  puts
81
- Liza.log " #{"Total".ljust 60} #{totals}"
89
+ Liza.log "#{"Total".ljust 60} #{totals}"
82
90
  puts
83
91
  end
84
92
 
93
+ def self._color_unit klass
94
+ return klass.to_s unless klass < Liza::Unit
95
+ return klass.to_s if klass.superclass == Liza::Unit
96
+
97
+ ret = ""
98
+ namespace, _sep, classname = klass.name.rpartition('::')
99
+ unless namespace.empty?
100
+ system_color = klass.system.color
101
+ ret << stick(namespace, system_color, :b).to_s
102
+ ret << "::"
103
+ end
104
+
105
+ klass = klass.division if klass.is_a? Liza::Controller
106
+ unit_color = nil
107
+ unit_color = klass.system.color
108
+
109
+ ret << stick(classname, unit_color).to_s
110
+ ret
111
+ end
112
+
85
113
  end
@@ -5,8 +5,7 @@ class DevSystem::TestCommandTest < DevSystem::CommandTest
5
5
  end
6
6
 
7
7
  test :settings do
8
- assert subject_class.log_level == :normal
9
- assert subject_class.log_color == :green
8
+ assert_equality subject_class.log_level, 0
10
9
  end
11
10
 
12
11
  end
@@ -0,0 +1,79 @@
1
+ class DevSystem::DevBox < Liza::Box
2
+
3
+ # Preconfigure your bench panel
4
+
5
+ configure :bench do
6
+ #
7
+ end
8
+
9
+ # Preconfigure your command panel
10
+
11
+ configure :command do
12
+ #
13
+ rescue_from CommandPanel::NotFoundError, with: NotFoundCommand
14
+ end
15
+
16
+ def self.command(...)
17
+ self[:command].call(...)
18
+ end
19
+
20
+ def self.input
21
+ self[:command].input
22
+ end
23
+
24
+ def self.pick_one(...)
25
+ self[:command].pick_one(...)
26
+ end
27
+
28
+ def self.pick_many(...)
29
+ self[:command].pick_many(...)
30
+ end
31
+
32
+ # Preconfigure your generator panel
33
+
34
+ configure :generator do
35
+ #
36
+ rescue_from GeneratorPanel::NotFoundError, with: NotFoundGenerator
37
+ end
38
+
39
+ # Preconfigure your log panel
40
+
41
+ configure :log do
42
+ #
43
+ end
44
+
45
+ # Preconfigure your shell panel
46
+
47
+ configure :shell do
48
+ #
49
+ end
50
+
51
+ def self.formatters
52
+ self[:shell].formatters
53
+ end
54
+
55
+ def self.converters
56
+ self[:shell].converters
57
+ end
58
+
59
+ def self.converters_to
60
+ self[:shell].converters_to
61
+ end
62
+
63
+ def self.format(...)
64
+ self[:shell].format(...)
65
+ end
66
+
67
+ def self.format?(...)
68
+ self[:shell].format?(...)
69
+ end
70
+
71
+ def self.convert(...)
72
+ self[:shell].convert(...)
73
+ end
74
+
75
+ def self.convert?(...)
76
+ self[:shell].convert?(...)
77
+ end
78
+
79
+ end
@@ -0,0 +1,33 @@
1
+ class DevSystem::DevBoxTest < Liza::BoxTest
2
+
3
+ test :subject_class do
4
+ assert subject_class == DevSystem::DevBox
5
+ end
6
+
7
+ test_methods_defined do
8
+ on_self \
9
+ :command,
10
+ :convert, :convert?, :converters, :converters_to,
11
+ :format, :format?, :formatters,
12
+ :input,
13
+ :pick_many, :pick_one
14
+ on_instance
15
+ end
16
+
17
+ test :settings do
18
+ assert_equality subject_class.log_level, 0
19
+ end
20
+
21
+ test :subsystems do
22
+ a = subject_class.panels.keys
23
+ b = [:bench, :command, :generator, :log, :shell]
24
+ assert_equality a, b
25
+
26
+ assert_sub :bench, DevSystem::Bench, DevSystem::BenchPanel
27
+ assert_sub :command, DevSystem::Command, DevSystem::CommandPanel
28
+ assert_sub :generator, DevSystem::Generator, DevSystem::GeneratorPanel
29
+ assert_sub :log, DevSystem::Log, DevSystem::LogPanel
30
+ assert_sub :shell, DevSystem::Shell, DevSystem::ShellPanel
31
+ end
32
+
33
+ end
@@ -0,0 +1,87 @@
1
+ class DevSystem::EnvGenerator < DevSystem::Generator
2
+
3
+ def self.call args
4
+ log "args = #{args.inspect}"
5
+
6
+ new.call args
7
+ end
8
+
9
+ def call args
10
+ log "args = #{args.inspect}"
11
+
12
+ if app_env_exists?
13
+ log "env files already exist".red.blink
14
+ else
15
+ write_env_files
16
+ end
17
+
18
+ puts
19
+ log "done"
20
+ end
21
+
22
+ private
23
+
24
+ def app_env_exists?
25
+ FileShell.exist? "app.env"
26
+ end
27
+
28
+ def write_env_files
29
+ # app
30
+ @env_name = nil
31
+ content = render :env, format: :env
32
+ puts "-" * 80
33
+ puts content.green
34
+ TextShell.write "app.env", content
35
+
36
+ # app.code
37
+ @env_name = :code
38
+ content = render :env, format: :env
39
+ puts "-" * 80
40
+ puts content.green
41
+ TextShell.write "app.code.env", content
42
+
43
+ # app.demo
44
+ @env_name = :demo
45
+ content = render :env, format: :env
46
+ puts "-" * 80
47
+ puts content.green
48
+ TextShell.write "app.demo.env", content
49
+ end
50
+
51
+ end
52
+
53
+ __END__
54
+
55
+ # view env.env.erb
56
+ #
57
+ <%= render :"#{@env_name || :blank}", format: :env -%>
58
+ #
59
+
60
+ # app variables
61
+
62
+
63
+
64
+ <% App.systems.keys.each do |k| -%>
65
+ # <%= k %> variables
66
+
67
+
68
+
69
+ <% end -%>
70
+
71
+ # view code.env.erb
72
+ # ENV VARIABLES FOR MODE=code (default)
73
+ #
74
+ # MODE=code lizarb commands
75
+ # lizarb commands
76
+
77
+ # view demo.env.erb
78
+ # ENV VARIABLES FOR MODE=demo
79
+ #
80
+ # MODE=demo lizarb commands
81
+
82
+ # view blank.env.erb
83
+ # ENV VARIABLES FOR ALL MODES
84
+ #
85
+ # MODE=code lizarb commands
86
+ # MODE=demo lizarb commands
87
+ # lizarb commands
@@ -0,0 +1,11 @@
1
+ class DevSystem::EnvGeneratorTest < DevSystem::GeneratorTest
2
+
3
+ test :subject_class do
4
+ assert subject_class == DevSystem::EnvGenerator
5
+ end
6
+
7
+ test :settings do
8
+ assert_equality subject_class.log_level, 0
9
+ end
10
+
11
+ end
@@ -0,0 +1,47 @@
1
+ class DevSystem::GemfileGenerator < DevSystem::SimpleGenerator
2
+
3
+ # liza g gemfile
4
+
5
+ def call_default
6
+ @gemspec_name = get_gemspec_name
7
+
8
+ create_file "Gemfile", :gemfile, :rb
9
+ end
10
+
11
+ def get_gemspec_name
12
+ ls = Dir["*.gemspec"]
13
+ ls.first.split(".").first if ls.any?
14
+ end
15
+
16
+ end
17
+
18
+ __END__
19
+
20
+ # view gemfile.rb.erb
21
+
22
+ # frozen_string_literal: true
23
+
24
+ source "https://rubygems.org"
25
+ <% if @gemspec_name -%>
26
+
27
+ # Specify your gem's dependencies in <%= @gemspec_name %>.gemspec
28
+ # gemspec path: "../path/to/<%= @gemspec_name %>"
29
+ gemspec :<%= @gemspec_name %>
30
+ <% end -%>
31
+
32
+ group :default do
33
+ gem "lizarb", "~> <%= Lizarb::VERSION %>"
34
+ # gem "lizarb", github: "lizarb/lizarb"
35
+ # gem "lizarb", path: "../lizarb"
36
+ end
37
+
38
+ group :dev do
39
+ # gems you only want to load if DevSystem is loaded
40
+
41
+ # Shell
42
+ # gem "htmlbeautifier", "~> 1.4"
43
+ # gem "commonmarker", "~> 0.23.9"
44
+ # gem "haml", "~> 6.1"
45
+ # gem "sassc", "~> 2.4"
46
+ # gem "coffee-script", "~> 2.4"
47
+ end
@@ -0,0 +1,11 @@
1
+ class DevSystem::GemfileGeneratorTest < DevSystem::GeneratorTest
2
+
3
+ test :subject_class do
4
+ assert subject_class == DevSystem::GemfileGenerator
5
+ end
6
+
7
+ test :settings do
8
+ assert_equality subject_class.log_level, 0
9
+ end
10
+
11
+ end
@@ -0,0 +1,70 @@
1
+ class DevSystem::SystemGenerator < DevSystem::SimpleGenerator
2
+
3
+ # liza g system name color=coral
4
+
5
+ def call_default
6
+ @name = command.simple_arg_ask_snakecase 0, "What is the name of the system you want to generate?"
7
+ log "@name = #{@name}"
8
+
9
+ @color = command.simple_color :color, string: "#{@name.camelize}System"
10
+ log "@color = #{@color}"
11
+
12
+ append_system_to_app
13
+ create_system
14
+ create_box
15
+ end
16
+
17
+ private
18
+
19
+ def append_system_to_app
20
+ file = TextFileShell.new App.filename
21
+
22
+ lines = LineShell.extract_wall_of file.old_lines, " system :"
23
+ lines << " system :#{@name}\n"
24
+ file.new_lines = LineShell.replace_wall_of file.old_lines, " system :", lines
25
+
26
+ add_change file
27
+ end
28
+
29
+ def create_system
30
+ unit = UnitHelper.new
31
+ classes = ["#{@name.camelize}System", "Liza::System"]
32
+ path = App.root.join("lib/#{@name.snakecase}_system.rb")
33
+
34
+ create_unit unit, classes, path, :system
35
+ end
36
+
37
+ def create_box
38
+ unit, test = UnitHelper.new, UnitHelper.new
39
+ unit_classes = ["#{@name.camelize}System::#{@name.camelize}Box", "Liza::Box"]
40
+ test_classes = ["#{@name.camelize}System::#{@name.camelize}BoxTest", "Liza::BoxTest"]
41
+ unit_path = App.root.join("lib/#{@name.snakecase}_system/#{@name.snakecase}_box.rb")
42
+ test_path = App.root.join("lib/#{@name.snakecase}_system/#{@name.snakecase}_box_test.rb")
43
+
44
+ @class_name = unit_classes[0]
45
+ test.section :box_test_section_1, caption: ""
46
+
47
+ create_unit unit, unit_classes, unit_path, :unit
48
+ create_unit test, test_classes, test_path, :unit
49
+ end
50
+
51
+ end
52
+
53
+ __END__
54
+
55
+ # view system.rb.erb
56
+ class <%= @class_names[0] %> < <%= @class_names[1] %>
57
+ class Error < Liza::Error; end
58
+
59
+ #
60
+
61
+ color :<%= @color %>
62
+
63
+ end
64
+
65
+ # view box_test_section_1.rb.erb
66
+
67
+ test :subject_class, :subject do
68
+ assert_equality <%= @class_name %>, subject_class
69
+ assert_equality <%= @class_name %>, subject.class
70
+ end
@@ -0,0 +1,11 @@
1
+ class DevSystem::SystemGeneratorTest < DevSystem::SimpleGeneratorTest
2
+
3
+ test :subject_class do
4
+ assert subject_class == DevSystem::SystemGenerator
5
+ end
6
+
7
+ test :settings do
8
+ assert_equality subject_class.log_level, 0
9
+ end
10
+
11
+ end
@@ -1,3 +1,7 @@
1
1
  class DevSystem::Bench < Liza::Controller
2
+
3
+ #
4
+
5
+ set :plural, :benches
2
6
 
3
7
  end
@@ -4,9 +4,13 @@ class DevSystem::BenchPanelTest < Liza::PanelTest
4
4
  assert subject_class == DevSystem::BenchPanel
5
5
  end
6
6
 
7
+ test_methods_defined do
8
+ on_self
9
+ on_instance
10
+ end
11
+
7
12
  test :settings do
8
- assert subject_class.log_level == :normal
9
- assert subject_class.log_color == :green
13
+ assert_equality subject_class.log_level, 0
10
14
  end
11
15
 
12
16
  end
@@ -0,0 +1,24 @@
1
+ class DevSystem::BenchTest < Liza::ControllerTest
2
+
3
+ test :subject_class do
4
+ assert subject_class == DevSystem::Bench
5
+ end
6
+
7
+ test_methods_defined do
8
+ on_self
9
+ on_instance
10
+ end
11
+
12
+ test :settings do
13
+ assert_equality subject_class.log_level, 0
14
+
15
+ assert_equality subject_class.token, nil
16
+ assert_equality subject_class.singular, :bench
17
+ assert_equality subject_class.plural, :benches
18
+
19
+ assert_equality subject_class.system, DevSystem
20
+ assert_equality subject_class.subsystem, DevSystem::Bench
21
+ assert_equality subject_class.division, DevSystem::Bench
22
+ end
23
+
24
+ end
@@ -8,7 +8,6 @@ class DevSystem::NotFoundBench < DevSystem::Bench
8
8
 
9
9
  # 2. FIND generators
10
10
 
11
- App.load_all
12
11
  benches = Liza::Bench.descendants
13
12
  benches -= ignored_benches
14
13
 
@@ -16,7 +15,7 @@ class DevSystem::NotFoundBench < DevSystem::Bench
16
15
 
17
16
  keys = benches.map { _1.last_namespace.snakecase[0..-7] }.uniq.sort
18
17
 
19
- log "Liza comes with #{keys.count} benches you can use."
18
+ log "This app has #{keys.count} benches you can use."
20
19
  log "Here they are:"
21
20
  puts
22
21
 
@@ -5,8 +5,7 @@ class DevSystem::NotFoundBenchTest < DevSystem::BenchTest
5
5
  end
6
6
 
7
7
  test :settings do
8
- assert subject_class.log_level == :normal
9
- assert subject_class.log_color == :green
8
+ assert_equality subject_class.log_level, 0
10
9
  end
11
10
 
12
11
  end
@@ -7,7 +7,7 @@ class DevSystem::BenchCommand < DevSystem::Command
7
7
 
8
8
  # 2. FIND bench
9
9
 
10
- return call_not_found args if args.none?
10
+ return NotFoundBench.call args if args.none?
11
11
 
12
12
  bench = args[0]
13
13
 
@@ -24,8 +24,4 @@ class DevSystem::BenchCommand < DevSystem::Command
24
24
  bench_klass.call args[1..-1]
25
25
  end
26
26
 
27
- def self.call_not_found args
28
- Liza::NotFoundBench.call args
29
- end
30
-
31
27
  end
@@ -5,8 +5,7 @@ class DevSystem::BenchCommandTest < DevSystem::CommandTest
5
5
  end
6
6
 
7
7
  test :settings do
8
- assert subject_class.log_level == :normal
9
- assert subject_class.log_color == :green
8
+ assert_equality subject_class.log_level, 0
10
9
  end
11
10
 
12
11
  end
@@ -0,0 +1,70 @@
1
+ class DevSystem::BenchGenerator < DevSystem::SimpleGenerator
2
+
3
+ # liza g bench name place=app +sorted
4
+
5
+ def call_default
6
+ @controller_class = Bench
7
+
8
+ name!
9
+ place!
10
+
11
+ @args = Array command.simple_args[1..-1]
12
+ ancestor = @controller_class
13
+
14
+ # THIS IS A HACK! WILL BE FIXED SOON!
15
+ if File.exist? "app/dev/benches/sorted_bench.rb"
16
+ @sorted = command.simple_boolean_yes :sorted, "Use SortedBench?"
17
+ log "@sorted = #{@sorted.inspect}"
18
+ ancestor = "SortedBench" if @sorted
19
+ end
20
+
21
+ create_controller @name, @controller_class, @place, @path, ancestor: ancestor do |unit, test|
22
+ unit.section :controller_section_1, caption: "liza bench #{ @name }"
23
+ test.section :controller_test_section_1
24
+ end
25
+ end
26
+
27
+ # liza g bench:examples
28
+
29
+ def call_examples
30
+ copy_examples Bench
31
+ end
32
+
33
+ end
34
+
35
+ __END__
36
+
37
+ # view controller_section_1.rb.erb
38
+
39
+ repetitions 1_000_000
40
+ # repetitions 10_000_000
41
+ # repetitions 100_000_000
42
+
43
+ setup do
44
+ log "repetitions: #{repetitions}"
45
+ end
46
+
47
+ #
48
+
49
+ <% if @args.any? -%>
50
+ <% @args.each do |arg| -%>
51
+ mark "<%= arg %>" do
52
+ a = 1.to_s.to_sym
53
+ end
54
+
55
+ <% end -%>
56
+ <% else -%>
57
+ mark "alternative 1" do
58
+ a = "1".to_sym
59
+ end
60
+
61
+ mark "alternative 2" do
62
+ a = :"1"
63
+ end
64
+ <% end -%>
65
+ # view controller_test_section_1.rb.erb
66
+
67
+ test :subject_class, :subject do
68
+ assert_equality <%= @class_name %>, subject_class
69
+ assert_equality <%= @class_name %>, subject.class
70
+ end
@@ -0,0 +1,10 @@
1
+ class DevSystem::BenchGeneratorTest < DevSystem::SimpleGeneratorTest
2
+
3
+ #
4
+
5
+ test :subject do
6
+ assert_equality DevSystem::BenchGenerator, subject_class
7
+ assert_equality DevSystem::BenchGenerator, subject.class
8
+ end
9
+
10
+ end