lizarb 1.0.3 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (457) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +34 -7
  3. data/Gemfile.lock +179 -18
  4. data/README.md +53 -9
  5. data/Rakefile +38 -0
  6. data/app/dev/commands/color_command.rb +29 -0
  7. data/app/dev/commands/color_command_test.rb +10 -0
  8. data/app/dev/commands/stick_command.rb +102 -0
  9. data/app/dev/commands/stick_command_test.rb +19 -0
  10. data/app/dev_box.rb +54 -20
  11. data/app/happy_box.rb +4 -3
  12. data/app/net/databases/redis_db.rb +1 -1
  13. data/app/net/databases/redis_db_test.rb +5 -5
  14. data/app/net/databases/sqlite_db.rb +1 -1
  15. data/app/net/databases/sqlite_db_test.rb +5 -5
  16. data/app/net/records/app_record.rb +1 -1
  17. data/app/net/records/app_record_test.rb +1 -1
  18. data/app/net/records/post_record_test.rb +1 -1
  19. data/app/net/records/user_record_test.rb +1 -1
  20. data/app/net_box.rb +29 -6
  21. data/app/web/requests/app_request.rb +1 -1
  22. data/app/web/requests/app_request_test.rb +1 -1
  23. data/app/web/requests/foo_request.rb +26 -0
  24. data/app/web/requests/foo_request_test.rb +7 -0
  25. data/app/web_box.rb +17 -9
  26. data/app.rb +41 -10
  27. data/{exe/Gemfile → app_global.gemfile.rb} +2 -0
  28. data/app_global.gemfile.rb.lock +41 -0
  29. data/app_global.rb +5 -0
  30. data/{app → examples/bench/app}/dev/benches/loops_bench.rb +11 -3
  31. data/examples/bench/app/dev/benches/loops_bench_test.rb +11 -0
  32. data/examples/bench/app/dev/benches/objects_bench.rb +48 -0
  33. data/examples/bench/app/dev/benches/objects_bench_test.rb +11 -0
  34. data/examples/bench/app/dev/benches/sorted_bench.rb +74 -0
  35. data/examples/bench/app/dev/benches/sorted_bench_test.rb +11 -0
  36. data/examples/bench/app/dev/benches/variables_bench.rb +61 -0
  37. data/examples/bench/app/dev/benches/variables_bench_test.rb +11 -0
  38. data/examples/client/app/net/clients/news_client.rb +42 -0
  39. data/examples/client/app/net/clients/news_client_test.rb +24 -0
  40. data/{app → examples/command/app}/dev/commands/calculator_command.rb +2 -2
  41. data/{app → examples/command/app}/dev/commands/calculator_command_test.rb +1 -2
  42. data/{app → examples/command/app}/dev/commands/circle_command.rb +2 -2
  43. data/{app → examples/command/app}/dev/commands/circle_command_test.rb +1 -2
  44. data/{app → examples/command/app}/dev/commands/narrative_method_command.rb +8 -10
  45. data/{app → examples/command/app}/dev/commands/narrative_method_command_test.rb +2 -3
  46. data/{app → examples/command/app}/dev/commands/quadratic_command.rb +2 -2
  47. data/{app → examples/command/app}/dev/commands/quadratic_command_test.rb +1 -2
  48. data/examples/command/app/dev_box.rb +3 -0
  49. data/examples/log/app/dev/logs/logger_log.rb +8 -0
  50. data/examples/log/app/dev/logs/logger_log_test.rb +16 -0
  51. data/examples/new/app/dev_box.rb +67 -0
  52. data/examples/new/app.rb +41 -0
  53. data/examples/shell/app/dev/shells/bash_adapter_shell.rb +25 -0
  54. data/examples/shell/app/dev/shells/bash_adapter_shell_test.rb +23 -0
  55. data/examples/shell/app/dev/shells/business_logic_shell.rb +42 -0
  56. data/examples/shell/app/dev/shells/business_logic_shell_test.rb +39 -0
  57. data/examples/shell/app/dev/shells/gem_adapter_shell.rb +33 -0
  58. data/examples/shell/app/dev/shells/gem_adapter_shell_test.rb +23 -0
  59. data/exe/liza +6 -1
  60. data/exe/lizarb +9 -1
  61. data/lib/app.rb +74 -145
  62. data/lib/art_system/art_box.rb +5 -0
  63. data/lib/art_system/art_box_test.rb +8 -0
  64. data/lib/art_system.rb +8 -0
  65. data/lib/crypto_system/crypto_box.rb +5 -0
  66. data/lib/crypto_system/crypto_box_test.rb +8 -0
  67. data/lib/crypto_system.rb +8 -0
  68. data/lib/deep_system/deep_box.rb +5 -0
  69. data/lib/deep_system/deep_box_test.rb +8 -0
  70. data/lib/deep_system.rb +8 -0
  71. data/lib/desk_system/commands/glimmer_command.rb +26 -0
  72. data/lib/desk_system/commands/glimmer_command_test.rb +10 -0
  73. data/lib/desk_system/desk_box.rb +5 -0
  74. data/lib/desk_system/desk_box_test.rb +8 -0
  75. data/lib/desk_system.rb +8 -0
  76. data/lib/dev_system/{dev/controllers/command → commands}/test_command.rb +37 -9
  77. data/lib/dev_system/{dev/controllers/command → commands}/test_command_test.rb +1 -2
  78. data/lib/dev_system/dev_box.rb +79 -0
  79. data/lib/dev_system/dev_box_test.rb +33 -0
  80. data/lib/dev_system/generators/env_generator.rb +87 -0
  81. data/lib/dev_system/generators/env_generator_test.rb +11 -0
  82. data/lib/dev_system/generators/gemfile_generator.rb +47 -0
  83. data/lib/dev_system/generators/gemfile_generator_test.rb +11 -0
  84. data/lib/dev_system/generators/system_generator.rb +70 -0
  85. data/lib/dev_system/generators/system_generator_test.rb +11 -0
  86. data/lib/dev_system/sub/bench/bench.rb +7 -0
  87. data/lib/dev_system/{dev/panels → sub/bench}/bench_panel_test.rb +6 -2
  88. data/lib/dev_system/sub/bench/bench_test.rb +24 -0
  89. data/lib/dev_system/sub/bench/benches/not_found_bench.rb +33 -0
  90. data/lib/dev_system/{dev/controllers/bench → sub/bench/benches}/not_found_bench_test.rb +1 -2
  91. data/lib/dev_system/{dev/controllers/command → sub/bench/commands}/bench_command.rb +2 -7
  92. data/lib/dev_system/{dev/controllers/command → sub/bench/commands}/bench_command_test.rb +1 -2
  93. data/lib/dev_system/sub/bench/generators/bench_generator.rb +70 -0
  94. data/lib/dev_system/sub/bench/generators/bench_generator_test.rb +10 -0
  95. data/lib/dev_system/sub/command/command.rb +28 -0
  96. data/lib/dev_system/sub/command/command_panel.rb +151 -0
  97. data/lib/dev_system/sub/command/command_panel_test.rb +78 -0
  98. data/lib/dev_system/{dev/controllers → sub/command}/command_test.rb +6 -2
  99. data/lib/dev_system/sub/command/commands/base_command.rb +48 -0
  100. data/lib/dev_system/sub/command/commands/base_command_test.rb +11 -0
  101. data/lib/dev_system/{dev/controllers/terminal/irb_terminal.rb → sub/command/commands/irb_command.rb} +4 -2
  102. data/lib/dev_system/sub/command/commands/irb_command_test.rb +11 -0
  103. data/lib/dev_system/sub/command/commands/not_found_command.rb +156 -0
  104. data/lib/dev_system/sub/command/commands/not_found_command_test.rb +11 -0
  105. data/lib/dev_system/sub/command/commands/pry_command.rb +10 -0
  106. data/lib/dev_system/sub/command/commands/pry_command_test.rb +11 -0
  107. data/lib/dev_system/sub/command/commands/simple_command.rb +143 -0
  108. data/lib/dev_system/sub/command/commands/simple_command_test.rb +11 -0
  109. data/lib/dev_system/sub/command/generators/command_generator.rb +90 -0
  110. data/lib/dev_system/sub/command/generators/command_generator_test.rb +11 -0
  111. data/lib/dev_system/sub/command/input_commands/highline_input_command.rb +17 -0
  112. data/lib/dev_system/sub/command/input_commands/highline_input_command_test.rb +19 -0
  113. data/lib/dev_system/sub/command/input_commands/input_command.rb +20 -0
  114. data/lib/dev_system/sub/command/input_commands/input_command_test.rb +19 -0
  115. data/lib/dev_system/sub/command/input_commands/tty_input_command.rb +55 -0
  116. data/lib/dev_system/sub/command/input_commands/tty_input_command_test.rb +19 -0
  117. data/lib/dev_system/sub/generator/commands/generate_command.rb +9 -0
  118. data/lib/dev_system/sub/generator/commands/generate_command_test.rb +11 -0
  119. data/lib/dev_system/sub/generator/commands/new_command.rb +10 -0
  120. data/lib/dev_system/sub/generator/commands/new_command_test.rb +7 -0
  121. data/lib/dev_system/sub/generator/generator.rb +19 -0
  122. data/lib/dev_system/sub/generator/generator_panel.rb +98 -0
  123. data/lib/dev_system/sub/generator/generator_panel_test.rb +79 -0
  124. data/lib/dev_system/{dev/controllers → sub/generator}/generator_test.rb +6 -2
  125. data/lib/dev_system/sub/generator/generators/base_generator.rb +64 -0
  126. data/lib/dev_system/sub/generator/generators/base_generator_test.rb +11 -0
  127. data/lib/dev_system/sub/generator/generators/generator_generator.rb +71 -0
  128. data/lib/dev_system/sub/generator/generators/generator_generator_test.rb +11 -0
  129. data/lib/dev_system/sub/generator/generators/new_generator.rb +74 -0
  130. data/lib/dev_system/sub/generator/generators/new_generator_test.rb +11 -0
  131. data/lib/dev_system/sub/generator/generators/not_found_generator.rb +155 -0
  132. data/lib/dev_system/sub/generator/generators/not_found_generator_test.rb +11 -0
  133. data/lib/dev_system/sub/generator/generators/simple_generator.rb +257 -0
  134. data/lib/dev_system/sub/generator/generators/simple_generator_test.rb +38 -0
  135. data/lib/dev_system/sub/log/commands/log_command.rb +11 -0
  136. data/lib/dev_system/sub/log/commands/log_command_test.rb +11 -0
  137. data/lib/dev_system/sub/log/generators/log_generator.rb +54 -0
  138. data/lib/dev_system/sub/log/generators/log_generator_test.rb +10 -0
  139. data/lib/dev_system/sub/log/log.rb +3 -0
  140. data/lib/dev_system/sub/log/log_panel.rb +47 -0
  141. data/lib/dev_system/sub/log/log_panel_test.rb +50 -0
  142. data/lib/dev_system/sub/log/log_test.rb +16 -0
  143. data/lib/dev_system/sub/log/logs/output_log.rb +74 -0
  144. data/lib/dev_system/sub/log/logs/output_log_test.rb +47 -0
  145. data/lib/dev_system/sub/log/logs/stick_log.rb +79 -0
  146. data/lib/dev_system/sub/log/logs/stick_log_test.rb +88 -0
  147. data/lib/dev_system/sub/shell/commands/convert_command.rb +27 -0
  148. data/lib/dev_system/sub/shell/commands/convert_command_test.rb +10 -0
  149. data/lib/dev_system/sub/shell/commands/format_command.rb +25 -0
  150. data/lib/dev_system/sub/shell/commands/format_command_test.rb +10 -0
  151. data/lib/dev_system/sub/shell/commands/loc_command.rb +211 -0
  152. data/lib/dev_system/sub/shell/commands/loc_command_test.rb +10 -0
  153. data/lib/dev_system/sub/shell/commands/shell_command.rb +45 -0
  154. data/lib/dev_system/sub/shell/commands/shell_command_test.rb +11 -0
  155. data/lib/dev_system/sub/shell/converter_shells/coffee_converter_shell.rb +21 -0
  156. data/lib/dev_system/sub/shell/converter_shells/coffee_converter_shell_test.rb +41 -0
  157. data/lib/dev_system/sub/shell/converter_shells/converter_shell.rb +13 -0
  158. data/lib/dev_system/sub/shell/converter_shells/converter_shell_test.rb +19 -0
  159. data/lib/dev_system/sub/shell/converter_shells/haml_converter_shell.rb +30 -0
  160. data/lib/dev_system/sub/shell/converter_shells/haml_converter_shell_test.rb +34 -0
  161. data/lib/dev_system/sub/shell/converter_shells/md_converter_shell.rb +21 -0
  162. data/lib/dev_system/sub/shell/converter_shells/md_converter_shell_test.rb +38 -0
  163. data/lib/dev_system/sub/shell/converter_shells/scss_converter_shell.rb +59 -0
  164. data/lib/dev_system/sub/shell/converter_shells/scss_converter_shell_test.rb +59 -0
  165. data/lib/dev_system/sub/shell/formatter_shells/formatter_shell.rb +13 -0
  166. data/lib/dev_system/sub/shell/formatter_shells/formatter_shell_test.rb +19 -0
  167. data/lib/dev_system/sub/shell/formatter_shells/html_formatter_shell.rb +20 -0
  168. data/lib/dev_system/sub/shell/formatter_shells/html_formatter_shell_test.rb +51 -0
  169. data/lib/dev_system/sub/shell/generators/shell_generator.rb +68 -0
  170. data/lib/dev_system/sub/shell/generators/shell_generator_test.rb +10 -0
  171. data/lib/dev_system/{dev/controllers → sub/shell}/shell.rb +22 -0
  172. data/lib/dev_system/sub/shell/shell_panel.rb +98 -0
  173. data/lib/dev_system/sub/shell/shell_panel_test.rb +18 -0
  174. data/lib/dev_system/{dev/controllers → sub/shell}/shell_test.rb +31 -2
  175. data/lib/dev_system/sub/shell/shells/app_shell.rb +185 -0
  176. data/lib/dev_system/sub/shell/shells/app_shell_test.rb +26 -0
  177. data/lib/dev_system/{dev/controllers/shell → sub/shell/shells}/bin_shell_test.rb +1 -2
  178. data/lib/dev_system/sub/shell/shells/color_shell.rb +389 -0
  179. data/lib/dev_system/sub/shell/shells/color_shell_test.rb +27 -0
  180. data/lib/dev_system/sub/shell/shells/controller_shell.rb +20 -0
  181. data/lib/dev_system/sub/shell/shells/controller_shell_test.rb +16 -0
  182. data/lib/dev_system/sub/shell/shells/dir_shell.rb +27 -0
  183. data/lib/dev_system/{dev/controllers/shell → sub/shell/shells}/dir_shell_test.rb +1 -5
  184. data/lib/dev_system/{dev/controllers/shell → sub/shell/shells}/file_shell.rb +4 -4
  185. data/lib/dev_system/{dev/controllers/shell → sub/shell/shells}/file_shell_test.rb +1 -2
  186. data/lib/dev_system/sub/shell/shells/gem_shell.rb +21 -0
  187. data/lib/dev_system/sub/shell/shells/gem_shell_test.rb +28 -0
  188. data/lib/dev_system/sub/shell/shells/kernel_shell.rb +22 -0
  189. data/lib/dev_system/sub/shell/shells/kernel_shell_test.rb +10 -0
  190. data/lib/dev_system/sub/shell/shells/line_diff_shell.rb +26 -0
  191. data/lib/dev_system/sub/shell/shells/line_diff_shell_test.rb +11 -0
  192. data/lib/dev_system/sub/shell/shells/line_shell.rb +56 -0
  193. data/lib/dev_system/sub/shell/shells/line_shell_test.rb +70 -0
  194. data/lib/dev_system/sub/shell/shells/method_shell.rb +52 -0
  195. data/lib/dev_system/sub/shell/shells/method_shell_test.rb +34 -0
  196. data/lib/dev_system/sub/shell/shells/text_file_shell.rb +14 -0
  197. data/lib/dev_system/sub/shell/shells/text_file_shell_test.rb +11 -0
  198. data/lib/dev_system/sub/shell/shells/text_shell.rb +65 -0
  199. data/lib/dev_system/{dev/controllers/shell → sub/shell/shells}/text_shell_test.rb +1 -2
  200. data/lib/dev_system.rb +8 -2
  201. data/lib/happy_system/happy_box.rb +9 -0
  202. data/lib/happy_system/happy_box_test.rb +24 -0
  203. data/lib/happy_system/sub/axo/axo.rb +10 -0
  204. data/lib/happy_system/sub/axo/axo_panel.rb +9 -0
  205. data/lib/happy_system/sub/axo/axo_panel_test.rb +16 -0
  206. data/lib/happy_system/sub/axo/axo_test.rb +16 -0
  207. data/lib/happy_system/sub/axo/commands/axo_command.rb +40 -0
  208. data/lib/happy_system/sub/axo/commands/axo_command_test.rb +8 -0
  209. data/lib/happy_system/sub/axo/generators/axo_generator.rb +79 -0
  210. data/lib/happy_system/sub/axo/generators/axo_generator_test.rb +11 -0
  211. data/lib/happy_system.rb +4 -2
  212. data/lib/lab_system/clients/kroki_client.rb +134 -0
  213. data/lib/lab_system/clients/kroki_client_test.rb +32 -0
  214. data/lib/lab_system/clients/liza_kroki_client.rb +176 -0
  215. data/lib/lab_system/clients/liza_kroki_client_test.rb +32 -0
  216. data/lib/lab_system/commands/docker_command.rb +61 -0
  217. data/lib/lab_system/commands/docker_command_test.rb +11 -0
  218. data/lib/lab_system/lab_box.rb +5 -0
  219. data/lib/lab_system/lab_box_test.rb +8 -0
  220. data/lib/lab_system/requests/kroki_request.rb +182 -0
  221. data/lib/lab_system/requests/kroki_request_test.rb +11 -0
  222. data/lib/lab_system/shells/docker_shell.rb +60 -0
  223. data/lib/lab_system/shells/docker_shell_test.rb +61 -0
  224. data/lib/lab_system/shells/kroki_docker_shell.rb +20 -0
  225. data/lib/lab_system/shells/kroki_docker_shell_test.rb +11 -0
  226. data/lib/lab_system.rb +8 -0
  227. data/lib/lerb.rb +95 -49
  228. data/lib/liza/base/controller.rb +14 -15
  229. data/lib/liza/base/controller_test.rb +28 -2
  230. data/lib/liza/base/panel.rb +64 -24
  231. data/lib/liza/base/panel_test.rb +168 -3
  232. data/lib/liza/base_parts/controller_subsystem_part.rb +93 -0
  233. data/lib/liza/base_parts/panel_rescuer_part.rb +129 -0
  234. data/lib/liza/meta/box.rb +24 -0
  235. data/lib/liza/meta/box_test.rb +20 -0
  236. data/lib/liza/meta/part_test.rb +6 -1
  237. data/lib/liza/meta/system.rb +50 -7
  238. data/lib/liza/meta/system_test.rb +6 -2
  239. data/lib/liza/ruby_tests/app_test.rb +39 -0
  240. data/lib/liza/ruby_tests/class_test.rb +20 -0
  241. data/lib/liza/ruby_tests/module_test.rb +4 -4
  242. data/lib/liza/{ruby_test.rb → ruby_tests/object_test.rb} +1 -1
  243. data/lib/liza/ruby_tests/string_test.rb +3 -1
  244. data/lib/liza/{test → safety}/test.rb +9 -0
  245. data/lib/liza/{test → safety}/test_test.rb +44 -7
  246. data/lib/liza/{test_parts → safety_parts}/test_assertions_advanced_part.rb +1 -1
  247. data/lib/liza/{test_parts → safety_parts}/test_assertions_part.rb +1 -1
  248. data/lib/liza/{test_parts → safety_parts}/test_dsl_part.rb +3 -3
  249. data/lib/liza/{test_parts → safety_parts}/test_log_part.rb +20 -0
  250. data/lib/liza/{test_parts → safety_parts}/test_subject_part.rb +10 -0
  251. data/lib/liza/safety_parts/test_tree_part.rb +87 -0
  252. data/lib/liza/unit.rb +64 -120
  253. data/lib/liza/unit_parts/unit_classes_part.rb +37 -0
  254. data/lib/liza/unit_parts/unit_classes_part_test.rb +3 -0
  255. data/lib/liza/unit_parts/unit_logging_part.rb +139 -0
  256. data/lib/liza/unit_parts/unit_logging_part_test.rb +3 -0
  257. data/lib/liza/unit_parts/unit_methods_part.rb +35 -0
  258. data/lib/liza/unit_parts/unit_methods_part_test.rb +3 -0
  259. data/lib/liza/unit_parts/unit_procedure_part.rb +2 -2
  260. data/lib/liza/unit_parts/unit_procedure_part_test.rb +9 -9
  261. data/lib/liza/unit_parts/unit_renderer_part.rb +171 -0
  262. data/lib/liza/unit_parts/unit_renderer_part_test.rb +15 -0
  263. data/lib/liza/unit_parts/unit_settings_part.rb +84 -0
  264. data/lib/liza/unit_parts/unit_settings_part_test.rb +3 -0
  265. data/lib/liza/unit_test.rb +114 -5
  266. data/lib/liza.rb +11 -2
  267. data/lib/lizarb/ruby/class.rb +9 -1
  268. data/lib/lizarb/ruby/module.rb +1 -1
  269. data/lib/lizarb/ruby/string.rb +3 -1
  270. data/lib/lizarb/version.rb +1 -1
  271. data/lib/lizarb.rb +404 -29
  272. data/lib/micro_system/micro_box.rb +5 -0
  273. data/lib/micro_system/micro_box_test.rb +8 -0
  274. data/lib/micro_system.rb +8 -0
  275. data/lib/net_system/net_box.rb +21 -0
  276. data/lib/net_system/{net/net_box_test.rb → net_box_test.rb} +1 -2
  277. data/lib/net_system/{net/panels → sub/client}/client_panel_test.rb +1 -2
  278. data/lib/net_system/{net/controllers → sub/client}/client_test.rb +1 -2
  279. data/lib/net_system/sub/client/generators/client_generator.rb +88 -0
  280. data/lib/net_system/sub/client/generators/client_generator_test.rb +10 -0
  281. data/lib/net_system/sub/database/clients/mongo_client.rb +33 -0
  282. data/lib/net_system/sub/database/clients/mongo_client_test.rb +20 -0
  283. data/lib/net_system/sub/database/clients/mysql_client.rb +29 -0
  284. data/lib/net_system/sub/database/clients/mysql_client_test.rb +23 -0
  285. data/lib/net_system/sub/database/clients/pgsql_client.rb +29 -0
  286. data/lib/net_system/sub/database/clients/pgsql_client_test.rb +25 -0
  287. data/lib/net_system/{net/controllers/client → sub/database/clients}/redis_client.rb +5 -2
  288. data/lib/net_system/{net/controllers/client → sub/database/clients}/redis_client_test.rb +2 -2
  289. data/lib/net_system/{net/controllers/client → sub/database/clients}/sqlite_client.rb +5 -2
  290. data/lib/net_system/{net/controllers/client → sub/database/clients}/sqlite_client_test.rb +2 -2
  291. data/lib/net_system/sub/database/commands/database_command.rb +32 -0
  292. data/lib/net_system/sub/database/commands/database_command_test.rb +11 -0
  293. data/lib/net_system/{net/panels → sub/database}/database_panel_test.rb +1 -2
  294. data/lib/net_system/{net/controllers → sub/database}/database_test.rb +1 -2
  295. data/lib/net_system/sub/database/databases/mongo_db.rb +8 -0
  296. data/lib/net_system/sub/database/databases/mongo_db_test.rb +21 -0
  297. data/lib/net_system/sub/database/databases/mysql_db.rb +8 -0
  298. data/lib/net_system/sub/database/databases/mysql_db_test.rb +21 -0
  299. data/lib/net_system/sub/database/databases/pgsql_db.rb +8 -0
  300. data/lib/net_system/sub/database/databases/pgsql_db_test.rb +21 -0
  301. data/lib/net_system/{net/controllers/database → sub/database/databases}/redis_db_test.rb +1 -1
  302. data/lib/net_system/{net/controllers/database → sub/database/databases}/sqlite_db_test.rb +1 -1
  303. data/lib/net_system/sub/record/generators/record_generator.rb +33 -0
  304. data/lib/net_system/sub/record/generators/record_generator_test.rb +11 -0
  305. data/lib/net_system/sub/record/record_panel.rb +3 -0
  306. data/lib/net_system/sub/record/record_panel_test.rb +11 -0
  307. data/lib/net_system/{net/controllers → sub/record}/record_test.rb +1 -2
  308. data/lib/net_system.rb +8 -1
  309. data/lib/web_system/sub/rack/commands/rack_command.rb +30 -0
  310. data/lib/web_system/sub/rack/commands/rack_command_test.rb +11 -0
  311. data/lib/web_system/sub/rack/middle_racks/first_middle_rack.rb +8 -0
  312. data/lib/web_system/sub/rack/middle_racks/first_middle_rack_test.rb +11 -0
  313. data/lib/web_system/sub/rack/middle_racks/last_middle_rack.rb +3 -0
  314. data/lib/web_system/sub/rack/middle_racks/last_middle_rack_test.rb +11 -0
  315. data/lib/web_system/sub/rack/middle_racks/middle_rack.rb +18 -0
  316. data/lib/web_system/sub/rack/middle_racks/middle_rack_test.rb +11 -0
  317. data/lib/web_system/sub/rack/middle_racks/zeitwerk_middle_rack.rb +11 -0
  318. data/lib/web_system/sub/rack/middle_racks/zeitwerk_middle_rack_test.rb +11 -0
  319. data/lib/web_system/sub/rack/rack_panel.rb +52 -0
  320. data/lib/web_system/{web/panels → sub/rack}/rack_panel_test.rb +1 -2
  321. data/lib/web_system/{web/controllers → sub/rack}/rack_test.rb +1 -2
  322. data/lib/web_system/sub/rack/server_racks/agoo_server_rack.rb +53 -0
  323. data/lib/web_system/sub/rack/server_racks/agoo_server_rack_test.rb +11 -0
  324. data/lib/web_system/sub/rack/server_racks/falcon_server_rack.rb +46 -0
  325. data/lib/web_system/sub/rack/server_racks/falcon_server_rack_test.rb +11 -0
  326. data/lib/web_system/sub/rack/server_racks/iodine_server_rack.rb +47 -0
  327. data/lib/web_system/sub/rack/server_racks/iodine_server_rack_test.rb +11 -0
  328. data/lib/web_system/sub/rack/server_racks/puma_server_rack.rb +48 -0
  329. data/lib/web_system/sub/rack/server_racks/puma_server_rack_test.rb +11 -0
  330. data/lib/web_system/sub/rack/server_racks/server_rack.rb +12 -0
  331. data/lib/web_system/sub/rack/server_racks/server_rack_test.rb +11 -0
  332. data/lib/web_system/sub/rack/server_racks/thin_server_rack.rb +85 -0
  333. data/lib/web_system/sub/rack/server_racks/thin_server_rack_test.rb +11 -0
  334. data/lib/web_system/sub/request/commands/request_command.rb +125 -0
  335. data/lib/web_system/sub/request/commands/request_command_test.rb +11 -0
  336. data/lib/web_system/sub/request/generators/request_generator.rb +96 -0
  337. data/lib/web_system/sub/request/generators/request_generator_test.rb +11 -0
  338. data/lib/web_system/sub/request/request_panel.rb +69 -0
  339. data/lib/web_system/sub/request/request_panel_test.rb +54 -0
  340. data/lib/web_system/{web/controllers → sub/request}/request_test.rb +1 -2
  341. data/lib/web_system/sub/request/requests/simple_request.rb +95 -0
  342. data/lib/web_system/sub/request/requests/simple_request_test.rb +11 -0
  343. data/lib/web_system/sub/request/router_requests/router_request.rb +7 -0
  344. data/lib/web_system/sub/request/router_requests/router_request_test.rb +11 -0
  345. data/lib/web_system/sub/request/router_requests/simple_router_request.rb +24 -0
  346. data/lib/web_system/sub/request/router_requests/simple_router_request_test.rb +11 -0
  347. data/lib/web_system/web_box.rb +17 -0
  348. data/lib/web_system/{web/web_box_test.rb → web_box_test.rb} +1 -2
  349. data/lib/web_system.rb +9 -3
  350. data/lib/work_system/work_box.rb +5 -0
  351. data/lib/work_system/work_box_test.rb +8 -0
  352. data/lib/work_system.rb +8 -0
  353. data/lizarb.gemspec +14 -8
  354. metadata +375 -168
  355. data/.ruby-version +0 -1
  356. data/app/dev/benches/app_bench.rb +0 -5
  357. data/app/dev/benches/app_bench_test.rb +0 -7
  358. data/app/dev/benches/loops_bench_test.rb +0 -11
  359. data/app/dev/commands/app_command.rb +0 -5
  360. data/app/dev/commands/app_command_test.rb +0 -7
  361. data/app/dev/commands/new_command.rb +0 -9
  362. data/app/dev/commands/new_command_test.rb +0 -7
  363. data/app/dev/generators/bench_generator/bench.rb.erb +0 -24
  364. data/app/dev/generators/bench_generator/bench_test.rb.erb +0 -12
  365. data/app/dev/generators/bench_generator.rb +0 -18
  366. data/app/dev/generators/bench_generator_test.rb +0 -12
  367. data/app/dev/generators/command_generator/command.rb.erb +0 -26
  368. data/app/dev/generators/command_generator/command_test.rb.erb +0 -12
  369. data/app/dev/generators/command_generator.rb +0 -18
  370. data/app/dev/generators/command_generator_test.rb +0 -12
  371. data/app/dev/generators/record_generator.rb +0 -46
  372. data/app/dev/generators/record_generator_test.rb +0 -12
  373. data/app/dev/generators/request_generator.rb +0 -63
  374. data/app/dev/generators/request_generator_test.rb +0 -12
  375. data/app/happy/axos/axo.rb +0 -50
  376. data/exe/Gemfile.lock +0 -13
  377. data/exe/lrb +0 -3
  378. data/lib/dev_system/dev/controllers/bench/not_found_bench.rb +0 -27
  379. data/lib/dev_system/dev/controllers/bench.rb +0 -9
  380. data/lib/dev_system/dev/controllers/bench_dsl_main_part.rb +0 -58
  381. data/lib/dev_system/dev/controllers/bench_test.rb +0 -12
  382. data/lib/dev_system/dev/controllers/command/echo_command.rb +0 -9
  383. data/lib/dev_system/dev/controllers/command/echo_command_test.rb +0 -12
  384. data/lib/dev_system/dev/controllers/command/generate_command.rb +0 -33
  385. data/lib/dev_system/dev/controllers/command/generate_command_test.rb +0 -12
  386. data/lib/dev_system/dev/controllers/command/not_found_command.rb +0 -27
  387. data/lib/dev_system/dev/controllers/command/not_found_command_test.rb +0 -12
  388. data/lib/dev_system/dev/controllers/command/terminal_command.rb +0 -22
  389. data/lib/dev_system/dev/controllers/command/terminal_command_test.rb +0 -12
  390. data/lib/dev_system/dev/controllers/command/version_command.rb +0 -7
  391. data/lib/dev_system/dev/controllers/command/version_command_test.rb +0 -12
  392. data/lib/dev_system/dev/controllers/command.rb +0 -17
  393. data/lib/dev_system/dev/controllers/generator.rb +0 -9
  394. data/lib/dev_system/dev/controllers/generator_dsl_main_part.rb +0 -52
  395. data/lib/dev_system/dev/controllers/generators/app_generator.rb +0 -146
  396. data/lib/dev_system/dev/controllers/generators/app_generator_test.rb +0 -12
  397. data/lib/dev_system/dev/controllers/generators/generator_generator/generator.rb.erb +0 -18
  398. data/lib/dev_system/dev/controllers/generators/generator_generator/generator_test.rb.erb +0 -12
  399. data/lib/dev_system/dev/controllers/generators/generator_generator/template.rb.erb +0 -9
  400. data/lib/dev_system/dev/controllers/generators/generator_generator/template_test.rb.erb +0 -12
  401. data/lib/dev_system/dev/controllers/generators/generator_generator.rb +0 -30
  402. data/lib/dev_system/dev/controllers/generators/generator_generator_test.rb +0 -12
  403. data/lib/dev_system/dev/controllers/generators/not_found_generator.rb +0 -27
  404. data/lib/dev_system/dev/controllers/generators/not_found_generator_test.rb +0 -12
  405. data/lib/dev_system/dev/controllers/shell/dir_shell.rb +0 -27
  406. data/lib/dev_system/dev/controllers/shell/text_shell.rb +0 -23
  407. data/lib/dev_system/dev/controllers/terminal/irb_terminal_test.rb +0 -12
  408. data/lib/dev_system/dev/controllers/terminal/pry_terminal.rb +0 -10
  409. data/lib/dev_system/dev/controllers/terminal/pry_terminal_test.rb +0 -12
  410. data/lib/dev_system/dev/controllers/terminal.rb +0 -17
  411. data/lib/dev_system/dev/controllers/terminal_test.rb +0 -12
  412. data/lib/dev_system/dev/dev_box.rb +0 -39
  413. data/lib/dev_system/dev/dev_box_test.rb +0 -17
  414. data/lib/dev_system/dev/panels/command_panel.rb +0 -28
  415. data/lib/dev_system/dev/panels/command_panel_test.rb +0 -21
  416. data/lib/dev_system/dev/panels/generator_panel.rb +0 -3
  417. data/lib/dev_system/dev/panels/generator_panel_test.rb +0 -12
  418. data/lib/dev_system/dev/panels/log_panel.rb +0 -13
  419. data/lib/dev_system/dev/panels/log_panel_test.rb +0 -16
  420. data/lib/dev_system/dev/panels/shell_panel.rb +0 -3
  421. data/lib/dev_system/dev/panels/shell_panel_test.rb +0 -12
  422. data/lib/dev_system/dev/panels/terminal_panel.rb +0 -3
  423. data/lib/dev_system/dev/panels/terminal_panel_test.rb +0 -12
  424. data/lib/happy_system/dev/happy_command.rb +0 -11
  425. data/lib/happy_system/happy/controllers/axo.rb +0 -7
  426. data/lib/happy_system/happy/happy_box.rb +0 -9
  427. data/lib/happy_system/happy/happy_box_test.rb +0 -16
  428. data/lib/happy_system/happy/panels/axo_panel.rb +0 -3
  429. data/lib/liza/base/box.rb +0 -85
  430. data/lib/liza/base/box_test.rb +0 -10
  431. data/lib/liza/base_parts/controller_renderer_part.rb +0 -140
  432. data/lib/liza/base_parts/controller_renderer_part_test.rb +0 -16
  433. data/lib/liza/meta/part_extension.rb +0 -16
  434. data/lib/liza/test_parts/test_tree_part.rb +0 -137
  435. data/lib/net_system/dev/net_command.rb +0 -22
  436. data/lib/net_system/net/net_box.rb +0 -15
  437. data/lib/web_system/dev/rack_command.rb +0 -35
  438. data/lib/web_system/dev/request_command.rb +0 -143
  439. data/lib/web_system/dev/web_command.rb +0 -9
  440. data/lib/web_system/web/panels/rack_panel.rb +0 -42
  441. data/lib/web_system/web/panels/request_panel.rb +0 -72
  442. data/lib/web_system/web/panels/request_panel_test.rb +0 -33
  443. data/lib/web_system/web/web_box.rb +0 -20
  444. /data/lib/dev_system/{dev/panels → sub/bench}/bench_panel.rb +0 -0
  445. /data/lib/dev_system/{dev/controllers/shell → sub/shell/shells}/bin_shell.rb +0 -0
  446. /data/lib/net_system/{net/controllers → sub/client}/client.rb +0 -0
  447. /data/lib/net_system/{net/panels → sub/client}/client_panel.rb +0 -0
  448. /data/lib/net_system/{net/controllers → sub/database}/database.rb +0 -0
  449. /data/lib/net_system/{net/panels → sub/database}/database_panel.rb +0 -0
  450. /data/lib/net_system/{net/controllers/database → sub/database/databases}/redis_db.rb +0 -0
  451. /data/lib/net_system/{net/controllers/database → sub/database/databases}/sqlite_db.rb +0 -0
  452. /data/lib/net_system/{net/controllers → sub/record}/record.rb +0 -0
  453. /data/lib/web_system/{web/controllers → sub/rack}/rack.rb +0 -0
  454. /data/lib/web_system/{web/controllers → sub/request}/request.rb +0 -0
  455. /data/lib/web_system/{web/controllers/request → sub/request/requests}/client_error_request.rb +0 -0
  456. /data/lib/web_system/{web/controllers/request → sub/request/requests}/not_found_request.rb +0 -0
  457. /data/lib/web_system/{web/controllers/request → sub/request/requests}/server_error_request.rb +0 -0
@@ -0,0 +1,41 @@
1
+ class DevSystem::CoffeeConverterShellTest < DevSystem::ConverterShellTest
2
+
3
+ test :subject_class do
4
+ assert subject_class == DevSystem::CoffeeConverterShell
5
+ end
6
+
7
+ test :settings do
8
+ assert_equality subject_class.log_level, 0
9
+ end
10
+
11
+ test :convert do
12
+ coffeescript, javascript = <<-COFFEESCRIPT, <<-JAVASCRIPT
13
+ listen = (el, event, handler) ->
14
+ if el.addEventListener
15
+ el.addEventListener event, handler
16
+ else
17
+ el.attachEvent 'on' + event, ->
18
+ handler.call el
19
+
20
+ COFFEESCRIPT
21
+ (function() {
22
+ var listen;
23
+
24
+ listen = function(el, event, handler) {
25
+ if (el.addEventListener) {
26
+ return el.addEventListener(event, handler);
27
+ } else {
28
+ return el.attachEvent('on' + event, function() {
29
+ return handler.call(el);
30
+ });
31
+ }
32
+ };
33
+
34
+ }).call(this);
35
+ JAVASCRIPT
36
+
37
+ output = subject_class.convert coffeescript
38
+ assert_equality output, javascript
39
+ end
40
+
41
+ end
@@ -0,0 +1,13 @@
1
+ class DevSystem::ConverterShell < DevSystem::Shell
2
+
3
+ #
4
+
5
+ division!
6
+
7
+ #
8
+
9
+ def self.call args
10
+ log :lower, "args = #{args.inspect}"
11
+ end
12
+
13
+ end
@@ -0,0 +1,19 @@
1
+ class DevSystem::ConverterShellTest < DevSystem::ShellTest
2
+
3
+ test :subject_class do
4
+ assert subject_class == DevSystem::ConverterShell
5
+ end
6
+
7
+ test :settings do
8
+ assert_equality subject_class.log_level, 0
9
+
10
+ assert_equality subject_class.token, :converter
11
+ assert_equality subject_class.singular, :converter_shell
12
+ assert_equality subject_class.plural, :converter_shells
13
+
14
+ assert_equality subject_class.system, DevSystem
15
+ assert_equality subject_class.subsystem, DevSystem::Shell
16
+ assert_equality subject_class.division, DevSystem::ConverterShell
17
+ end
18
+
19
+ end
@@ -0,0 +1,30 @@
1
+ class DevSystem::HamlConverterShell < DevSystem::ConverterShell
2
+
3
+ def self.default_options
4
+ DevBox[:shell].converters[:haml][:options]
5
+ end
6
+
7
+ # https://github.com/gjtorikian/commonmarker#usage
8
+
9
+ # Haml::Template.options[:ugly] = false
10
+ # Haml::Template.options[:format] = :html5
11
+ # Haml::Template.options[:attr_wrapper] = '"'
12
+ # Haml::Template.options[:escape_html] = true
13
+
14
+ def self.convert string, options = {}
15
+ log :lower, "default_options = #{default_options.inspect} | options = #{options.inspect}"
16
+
17
+ options = default_options.merge options if options.any? && default_options.any?
18
+
19
+ log :lower, "#{string.size} chars (options: #{options.inspect})"
20
+
21
+ haml = string
22
+ # template_options = {escape_html: true}
23
+ template_options = {}
24
+ scope = Object.new
25
+ locals = {}
26
+ require "haml"
27
+ Haml::Template.new(template_options) { haml }.render(scope, locals)
28
+ end
29
+
30
+ end
@@ -0,0 +1,34 @@
1
+ class DevSystem::HamlConverterShellTest < DevSystem::ConverterShellTest
2
+
3
+ test :subject_class do
4
+ assert subject_class == DevSystem::HamlConverterShell
5
+ end
6
+
7
+ test :settings do
8
+ assert_equality subject_class.log_level, 0
9
+ end
10
+
11
+ test :convert do
12
+ haml, html = <<-HAML, <<-HTML
13
+ %body
14
+ %header
15
+ %nav
16
+ %a
17
+ %span
18
+ HAML
19
+ <body>
20
+ <header>
21
+ <nav>
22
+ <a>
23
+ <span></span>
24
+ </a>
25
+ </nav>
26
+ </header>
27
+ </body>
28
+ HTML
29
+
30
+ output = subject_class.convert haml
31
+ assert_equality output, html
32
+ end
33
+
34
+ end
@@ -0,0 +1,21 @@
1
+ class DevSystem::MdConverterShell < DevSystem::ConverterShell
2
+
3
+ def self.default_options
4
+ DevBox[:shell].converters[:md][:options]
5
+ end
6
+
7
+ # https://github.com/gjtorikian/commonmarker#usage
8
+
9
+ def self.convert string, options = {}
10
+ log :lower, "default_options = #{default_options.inspect} | options = #{options.inspect}"
11
+
12
+ options = default_options.merge options if options.any? && default_options.any?
13
+
14
+ log :lower, "#{string.size} chars (options: #{options.inspect})"
15
+
16
+ require "commonmarker"
17
+ # CommonMarker.render_html markdown, [:HARDBREAKS, :SOURCEPOS, :UNSAFE]
18
+ CommonMarker.render_html string, :DEFAULT
19
+ end
20
+
21
+ end
@@ -0,0 +1,38 @@
1
+ class DevSystem::MdConverterShellTest < DevSystem::ConverterShellTest
2
+
3
+ test :subject_class do
4
+ assert subject_class == DevSystem::MdConverterShell
5
+ end
6
+
7
+ test :settings do
8
+ assert_equality subject_class.log_level, 0
9
+ end
10
+
11
+ test :convert do
12
+ markdown, html = <<-MARKDOWN, <<-HTML
13
+ # Hello World
14
+
15
+ ## Hello World
16
+
17
+ ### Hello World
18
+
19
+ #### Hello World
20
+
21
+ ##### Hello World
22
+
23
+ ###### Hello World
24
+
25
+ MARKDOWN
26
+ <h1>Hello World</h1>
27
+ <h2>Hello World</h2>
28
+ <h3>Hello World</h3>
29
+ <h4>Hello World</h4>
30
+ <h5>Hello World</h5>
31
+ <h6>Hello World</h6>
32
+ HTML
33
+
34
+ output = subject_class.convert markdown
35
+ assert_equality output, html
36
+ end
37
+
38
+ end
@@ -0,0 +1,59 @@
1
+ class DevSystem::ScssConverterShell < DevSystem::ConverterShell
2
+
3
+ def self.default_options
4
+ DevBox[:shell].converters[:scss][:options]
5
+ end
6
+
7
+ # https://github.com/gjtorikian/commonmarker#usage
8
+
9
+ def self.convert string, options = {}
10
+ log :lower, "default_options = #{default_options.inspect} | options = #{options.inspect}"
11
+
12
+ options = default_options.merge options if options.any? && default_options.any?
13
+
14
+ log :lower, "#{string.size} chars (options: #{options.inspect})"
15
+
16
+ require "sassc"
17
+ # output = SassC::Engine.new(scss, line_comments: true).render
18
+ # output = SassC::Engine.new(scss, style: :sass_style_nested).render
19
+ # output = SassC::Engine.new(scss, style: :sass_style_compact).render
20
+ # output = SassC::Engine.new(scss, style: :compressed).render
21
+ # output = SassC::Engine.new(scss).render
22
+ SassC::Engine.new(string, line_comments: true, style: :sass_style_expanded).render
23
+ end
24
+
25
+ # def self.sass_to_css sass
26
+ # scss = sass_to_scss sass
27
+ # convert scss
28
+ # end
29
+
30
+ # def self.sass_to_scss sass
31
+ # SassC::Sass2Scss.convert(sass)
32
+ # end
33
+
34
+ # # https://github.com/sass/sassc-ruby/blob/master/lib/sassc/native/sass_input_style.rb
35
+ # module SassC
36
+ # module Native
37
+ # SassInputStyle = enum(
38
+ # :sass_context_null,
39
+ # :sass_context_file,
40
+ # :sass_context_data,
41
+ # :sass_context_folder
42
+ # )
43
+ # end
44
+ # end
45
+
46
+ # # https://github.com/sass/sassc-ruby/blob/master/lib/sassc/native/sass_output_style.rb
47
+ # module SassC
48
+ # module Native
49
+ # SassOutputStyle = enum(
50
+ # :sass_style_nested,
51
+ # :sass_style_expanded,
52
+ # :sass_style_compact,
53
+ # :sass_style_compressed
54
+ # )
55
+ # end
56
+ # end
57
+
58
+
59
+ end
@@ -0,0 +1,59 @@
1
+ class DevSystem::ScssConverterShellTest < DevSystem::ConverterShellTest
2
+
3
+ test :subject_class do
4
+ assert subject_class == DevSystem::ScssConverterShell
5
+ end
6
+
7
+ test :settings do
8
+ assert_equality subject_class.log_level, 0
9
+ end
10
+
11
+ test :convert do
12
+ scss, css = <<-SCSS, <<-CSS
13
+ body {
14
+ color: white;
15
+ header {
16
+ color: green;
17
+ nav {
18
+ color: red;
19
+ a {
20
+ color: blue;
21
+ &:hover {
22
+ color: yellow;
23
+ }
24
+ }
25
+ }
26
+ }
27
+ }
28
+ SCSS
29
+ /* line 1, stdin */
30
+ body {
31
+ color: white;
32
+ }
33
+
34
+ /* line 3, stdin */
35
+ body header {
36
+ color: green;
37
+ }
38
+
39
+ /* line 5, stdin */
40
+ body header nav {
41
+ color: red;
42
+ }
43
+
44
+ /* line 7, stdin */
45
+ body header nav a {
46
+ color: blue;
47
+ }
48
+
49
+ /* line 9, stdin */
50
+ body header nav a:hover {
51
+ color: yellow;
52
+ }
53
+ CSS
54
+
55
+ output = subject_class.convert scss
56
+ assert_equality output, css
57
+ end
58
+
59
+ end
@@ -0,0 +1,13 @@
1
+ class DevSystem::FormatterShell < DevSystem::Shell
2
+
3
+ #
4
+
5
+ division!
6
+
7
+ #
8
+
9
+ def self.call args
10
+ log :lower, "args = #{args.inspect}"
11
+ end
12
+
13
+ end
@@ -0,0 +1,19 @@
1
+ class DevSystem::FormatterShellTest < DevSystem::ShellTest
2
+
3
+ test :subject_class do
4
+ assert subject_class == DevSystem::FormatterShell
5
+ end
6
+
7
+ test :settings do
8
+ assert_equality subject_class.log_level, 0
9
+
10
+ assert_equality subject_class.token, :formatter
11
+ assert_equality subject_class.singular, :formatter_shell
12
+ assert_equality subject_class.plural, :formatter_shells
13
+
14
+ assert_equality subject_class.system, DevSystem
15
+ assert_equality subject_class.subsystem, DevSystem::Shell
16
+ assert_equality subject_class.division, DevSystem::FormatterShell
17
+ end
18
+
19
+ end
@@ -0,0 +1,20 @@
1
+ class DevSystem::HtmlFormatterShell < DevSystem::FormatterShell
2
+
3
+ def self.default_options
4
+ DevBox[:shell].formatters[:html][:options]
5
+ end
6
+
7
+ # https://github.com/threedaymonk/htmlbeautifier
8
+
9
+ def self.format string, options = {}
10
+ log :lower, "default_options = #{default_options.inspect} | options = #{options.inspect}"
11
+
12
+ options = default_options.merge options if options.any? && default_options.any?
13
+
14
+ log :lower, "#{string.size} chars (options: #{options.inspect})"
15
+
16
+ require "htmlbeautifier"
17
+ HtmlBeautifier.beautify string
18
+ end
19
+
20
+ end
@@ -0,0 +1,51 @@
1
+ class DevSystem::HtmlFormatterShellTest < DevSystem::FormatterShellTest
2
+
3
+ test :subject_class do
4
+ assert subject_class == DevSystem::HtmlFormatterShell
5
+ end
6
+
7
+ test :settings do
8
+ assert_equality subject_class.log_level, 0
9
+ end
10
+
11
+ test :format do
12
+ source, expectation = <<-HTML_1, <<-HTML_2
13
+ <!DOCTYPE html>
14
+ <html>
15
+ <head>
16
+ <title>Beauty</title>
17
+ </head>
18
+ <body>
19
+ <header>
20
+ <nav>
21
+ <a>
22
+ <span></span>
23
+ </a>
24
+ </nav>
25
+ </header>
26
+ </body>
27
+ </html>
28
+ HTML_1
29
+ <!DOCTYPE html>
30
+ <html>
31
+ <head>
32
+ <title>Beauty</title>
33
+ </head>
34
+ <body>
35
+ <header>
36
+ <nav>
37
+ <a>
38
+ <span></span>
39
+ </a>
40
+ </nav>
41
+ </header>
42
+ </body>
43
+ </html>
44
+ HTML_2
45
+ expectation = expectation.strip
46
+
47
+ output = subject_class.format source
48
+ assert_equality output, expectation
49
+ end
50
+
51
+ end
@@ -0,0 +1,68 @@
1
+ class DevSystem::ShellGenerator < DevSystem::SimpleGenerator
2
+
3
+ # liza g shell name place=app
4
+
5
+ def call_default
6
+ @controller_class = Shell
7
+
8
+ name!
9
+ place!
10
+
11
+ create_controller @name, @controller_class, @place, @path do |unit, test|
12
+ unit.section :controller_section_1, caption: "#{@class_name}.call('sum', 1, 2)"
13
+ unit.section :controller_section_2, caption: "#{@class_name}.sum(1, 2)"
14
+ unit.section :controller_section_3, caption: "#{@class_name}.sub(1, 2)"
15
+ test.section :controller_test_section_1
16
+ test.section :controller_test_section_2
17
+ test.section :controller_test_section_3
18
+ end
19
+ end
20
+
21
+ # liza g shell:examples
22
+
23
+ def call_examples
24
+ copy_examples Shell
25
+ end
26
+
27
+ end
28
+
29
+ __END__
30
+
31
+ # view controller_section_1.rb.erb
32
+
33
+ def self.call(a, b, c)
34
+ return sum(b, c) if a == "sum"
35
+ return sub(b, c) if a == "sub"
36
+
37
+ raise Error, "invalid a: #{a}"
38
+ end
39
+ # view controller_section_2.rb.erb
40
+
41
+ def self.sum(a, b)
42
+ a + b
43
+ end
44
+ # view controller_section_3.rb.erb
45
+
46
+ def self.sub(a, b)
47
+ a - b
48
+ end
49
+ # view controller_test_section_1.rb.erb
50
+
51
+ test :subject_class, :subject do
52
+ assert_equality <%= @class_name %>, subject_class
53
+ assert_equality <%= @class_name %>, subject.class
54
+ end
55
+ # view controller_test_section_2.rb.erb
56
+
57
+ test :subject_class, :sum do
58
+ a = subject_class.sum 1, 2
59
+ b = 3
60
+ assert_equality a, b
61
+ end
62
+ # view controller_test_section_3.rb.erb
63
+
64
+ test :subject_class, :sub do
65
+ a = subject_class.sub 1, 2
66
+ b = -1
67
+ assert_equality a, b
68
+ end
@@ -0,0 +1,10 @@
1
+ class DevSystem::ShellGeneratorTest < DevSystem::SimpleGeneratorTest
2
+
3
+ #
4
+
5
+ test :subject do
6
+ assert_equality DevSystem::ShellGenerator, subject_class
7
+ assert_equality DevSystem::ShellGenerator, subject.class
8
+ end
9
+
10
+ end
@@ -28,4 +28,26 @@ class DevSystem::Shell < Liza::Controller
28
28
  :unix
29
29
  end
30
30
 
31
+ # Return the current Ruby engine as a symbol
32
+ def self.engine
33
+ return :jruby if jruby?
34
+ return :cruby if cruby?
35
+ :unknown
36
+ end
37
+
38
+ # Check if the current Ruby engine is JRuby
39
+ def self.jruby?
40
+ @jruby || RUBY_ENGINE == "jruby"
41
+ end
42
+
43
+ # Check if the current Ruby engine is MRI
44
+ def self.cruby?
45
+ @ruby || RUBY_ENGINE == "ruby"
46
+ end
47
+
48
+ # Return the current Ruby version as a Gem::Version
49
+ def self.ruby_version
50
+ Lizarb.ruby_version
51
+ end
52
+
31
53
  end
@@ -0,0 +1,98 @@
1
+ class DevSystem::ShellPanel < Liza::Panel
2
+ class FormatterError < Error; end
3
+ class ConverterError < Error; end
4
+
5
+ #
6
+
7
+ def formatter format, shell_key = format, options = {}
8
+ shell = options[:shell] || Liza.const("#{format}_formatter_shell")
9
+
10
+ formatters[shell_key] = {
11
+ format: format,
12
+ shell: shell,
13
+ options: options
14
+ }
15
+ end
16
+
17
+ def formatters
18
+ @formatters ||= {}
19
+ end
20
+
21
+ def format? format
22
+ formatters.key? format.to_sym
23
+ end
24
+
25
+ def format! format, string
26
+ format = format.to_sym
27
+ if format? format
28
+ log :lower, "formatter found"
29
+ formatters[format][:shell].format string
30
+ else
31
+ log :lower, "formatter not found"
32
+ raise FormatterError, "no formatter for #{format.inspect}"
33
+ end
34
+ end
35
+
36
+ def format format, string, options = {}
37
+ format = format.to_sym
38
+ if format? format
39
+ log :lower, "formatter found"
40
+ formatters[format][:shell].format string, options
41
+ else
42
+ log :lower, "formatter not found"
43
+ string
44
+ end
45
+ end
46
+
47
+ #
48
+
49
+ def converter to, from, shell_key = from, options = {}
50
+ shell = options[:shell] || Liza.const("#{shell_key}_converter_shell")
51
+
52
+ hash = {
53
+ to: to.to_sym,
54
+ from: from.to_sym,
55
+ shell: shell,
56
+ options: options
57
+ }
58
+ converters[shell_key] = hash
59
+ converters_to[to] ||= []
60
+ converters_to[to] << hash
61
+ end
62
+
63
+ def converters
64
+ @converters ||= {}
65
+ end
66
+
67
+ def converters_to
68
+ @converters_to ||= {}
69
+ end
70
+
71
+ def convert? format
72
+ format = format.to_sym
73
+ converters.values.any? { _1[:from] == format }
74
+ end
75
+
76
+ def convert! format, string, options = {}
77
+ format = format.to_sym
78
+ if convert? format
79
+ log :lower, "converter found"
80
+ converters[format][:shell].convert string
81
+ else
82
+ log :lower, "converter not found"
83
+ raise ConverterError, "no converter for #{format.inspect}"
84
+ end
85
+ end
86
+
87
+ def convert format, string, options = {}
88
+ format = format.to_sym
89
+ if convert? format
90
+ log :lower, "converter found"
91
+ converters[format][:shell].convert string, options
92
+ else
93
+ log :lower, "converter not found"
94
+ string
95
+ end
96
+ end
97
+
98
+ end
@@ -0,0 +1,18 @@
1
+ class DevSystem::ShellPanelTest < Liza::PanelTest
2
+
3
+ test :subject_class do
4
+ assert subject_class == DevSystem::ShellPanel
5
+ end
6
+
7
+ test_methods_defined do
8
+ on_self
9
+ on_instance \
10
+ :convert, :convert!, :convert?, :converter, :converters, :converters_to,
11
+ :format, :format!, :format?, :formatter, :formatters
12
+ end
13
+
14
+ test :settings do
15
+ assert_equality subject_class.log_level, 0
16
+ end
17
+
18
+ end
@@ -4,9 +4,13 @@ class DevSystem::ShellTest < Liza::ControllerTest
4
4
  assert subject_class == DevSystem::Shell
5
5
  end
6
6
 
7
+ test_methods_defined do
8
+ on_self :cruby?, :engine, :jruby?, :linux?, :mac?, :os, :ruby_version, :unix?, :windows?
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
  #
@@ -43,4 +47,29 @@ class DevSystem::ShellTest < Liza::ControllerTest
43
47
  subject_class.instance_variable_set(:@mac, original)
44
48
  end
45
49
 
50
+ #
51
+
52
+ test :subject_class, :cruby? do
53
+ original = subject_class.cruby?
54
+ subject_class.instance_variable_set(:@ruby, true)
55
+ assert subject_class.cruby?
56
+ ensure
57
+ subject_class.instance_variable_set(:@ruby, original)
58
+ end
59
+
60
+ test :subject_class, :jruby? do
61
+ original = subject_class.jruby?
62
+ subject_class.instance_variable_set(:@jruby, true)
63
+ assert subject_class.jruby?
64
+ ensure
65
+ subject_class.instance_variable_set(:@jruby, original)
66
+ end
67
+
68
+ #
69
+
70
+ test :subject_class, :ruby_version do
71
+ assert subject_class.ruby_version.class == Gem::Version
72
+ end
73
+
74
+
46
75
  end