lizarb 1.0.3 → 1.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +34 -7
- data/Gemfile.lock +179 -18
- data/README.md +53 -9
- data/Rakefile +38 -0
- data/app/dev/commands/color_command.rb +29 -0
- data/app/dev/commands/color_command_test.rb +10 -0
- data/app/dev/commands/stick_command.rb +102 -0
- data/app/dev/commands/stick_command_test.rb +19 -0
- data/app/dev_box.rb +54 -20
- data/app/happy_box.rb +4 -3
- data/app/net/databases/redis_db.rb +1 -1
- data/app/net/databases/redis_db_test.rb +5 -5
- data/app/net/databases/sqlite_db.rb +1 -1
- data/app/net/databases/sqlite_db_test.rb +5 -5
- data/app/net/records/app_record.rb +1 -1
- data/app/net/records/app_record_test.rb +1 -1
- data/app/net/records/post_record_test.rb +1 -1
- data/app/net/records/user_record_test.rb +1 -1
- data/app/net_box.rb +29 -6
- data/app/web/requests/app_request.rb +1 -1
- data/app/web/requests/app_request_test.rb +1 -1
- data/app/web/requests/foo_request.rb +26 -0
- data/app/web/requests/foo_request_test.rb +7 -0
- data/app/web_box.rb +17 -9
- data/app.rb +41 -10
- data/{exe/Gemfile → app_global.gemfile.rb} +2 -0
- data/app_global.gemfile.rb.lock +41 -0
- data/app_global.rb +5 -0
- data/{app → examples/bench/app}/dev/benches/loops_bench.rb +11 -3
- data/examples/bench/app/dev/benches/loops_bench_test.rb +11 -0
- data/examples/bench/app/dev/benches/objects_bench.rb +48 -0
- data/examples/bench/app/dev/benches/objects_bench_test.rb +11 -0
- data/examples/bench/app/dev/benches/sorted_bench.rb +74 -0
- data/examples/bench/app/dev/benches/sorted_bench_test.rb +11 -0
- data/examples/bench/app/dev/benches/variables_bench.rb +61 -0
- data/examples/bench/app/dev/benches/variables_bench_test.rb +11 -0
- data/examples/client/app/net/clients/news_client.rb +42 -0
- data/examples/client/app/net/clients/news_client_test.rb +24 -0
- data/{app → examples/command/app}/dev/commands/calculator_command.rb +2 -2
- data/{app → examples/command/app}/dev/commands/calculator_command_test.rb +1 -2
- data/{app → examples/command/app}/dev/commands/circle_command.rb +2 -2
- data/{app → examples/command/app}/dev/commands/circle_command_test.rb +1 -2
- data/{app → examples/command/app}/dev/commands/narrative_method_command.rb +8 -10
- data/{app → examples/command/app}/dev/commands/narrative_method_command_test.rb +2 -3
- data/{app → examples/command/app}/dev/commands/quadratic_command.rb +2 -2
- data/{app → examples/command/app}/dev/commands/quadratic_command_test.rb +1 -2
- data/examples/command/app/dev_box.rb +3 -0
- data/examples/log/app/dev/logs/logger_log.rb +8 -0
- data/examples/log/app/dev/logs/logger_log_test.rb +16 -0
- data/examples/new/app/dev_box.rb +67 -0
- data/examples/new/app.rb +41 -0
- data/examples/shell/app/dev/shells/bash_adapter_shell.rb +25 -0
- data/examples/shell/app/dev/shells/bash_adapter_shell_test.rb +23 -0
- data/examples/shell/app/dev/shells/business_logic_shell.rb +42 -0
- data/examples/shell/app/dev/shells/business_logic_shell_test.rb +39 -0
- data/examples/shell/app/dev/shells/gem_adapter_shell.rb +33 -0
- data/examples/shell/app/dev/shells/gem_adapter_shell_test.rb +23 -0
- data/exe/liza +6 -1
- data/exe/lizarb +9 -1
- data/lib/app.rb +74 -145
- data/lib/art_system/art_box.rb +5 -0
- data/lib/art_system/art_box_test.rb +8 -0
- data/lib/art_system.rb +8 -0
- data/lib/crypto_system/crypto_box.rb +5 -0
- data/lib/crypto_system/crypto_box_test.rb +8 -0
- data/lib/crypto_system.rb +8 -0
- data/lib/deep_system/deep_box.rb +5 -0
- data/lib/deep_system/deep_box_test.rb +8 -0
- data/lib/deep_system.rb +8 -0
- data/lib/desk_system/commands/glimmer_command.rb +26 -0
- data/lib/desk_system/commands/glimmer_command_test.rb +10 -0
- data/lib/desk_system/desk_box.rb +5 -0
- data/lib/desk_system/desk_box_test.rb +8 -0
- data/lib/desk_system.rb +8 -0
- data/lib/dev_system/{dev/controllers/command → commands}/test_command.rb +37 -9
- data/lib/dev_system/{dev/controllers/command → commands}/test_command_test.rb +1 -2
- data/lib/dev_system/dev_box.rb +79 -0
- data/lib/dev_system/dev_box_test.rb +33 -0
- data/lib/dev_system/generators/env_generator.rb +87 -0
- data/lib/dev_system/generators/env_generator_test.rb +11 -0
- data/lib/dev_system/generators/gemfile_generator.rb +47 -0
- data/lib/dev_system/generators/gemfile_generator_test.rb +11 -0
- data/lib/dev_system/generators/system_generator.rb +70 -0
- data/lib/dev_system/generators/system_generator_test.rb +11 -0
- data/lib/dev_system/sub/bench/bench.rb +7 -0
- data/lib/dev_system/{dev/panels → sub/bench}/bench_panel_test.rb +6 -2
- data/lib/dev_system/sub/bench/bench_test.rb +24 -0
- data/lib/dev_system/sub/bench/benches/not_found_bench.rb +33 -0
- data/lib/dev_system/{dev/controllers/bench → sub/bench/benches}/not_found_bench_test.rb +1 -2
- data/lib/dev_system/{dev/controllers/command → sub/bench/commands}/bench_command.rb +2 -7
- data/lib/dev_system/{dev/controllers/command → sub/bench/commands}/bench_command_test.rb +1 -2
- data/lib/dev_system/sub/bench/generators/bench_generator.rb +70 -0
- data/lib/dev_system/sub/bench/generators/bench_generator_test.rb +10 -0
- data/lib/dev_system/sub/command/command.rb +28 -0
- data/lib/dev_system/sub/command/command_panel.rb +151 -0
- data/lib/dev_system/sub/command/command_panel_test.rb +78 -0
- data/lib/dev_system/{dev/controllers → sub/command}/command_test.rb +6 -2
- data/lib/dev_system/sub/command/commands/base_command.rb +48 -0
- data/lib/dev_system/sub/command/commands/base_command_test.rb +11 -0
- data/lib/dev_system/{dev/controllers/terminal/irb_terminal.rb → sub/command/commands/irb_command.rb} +4 -2
- data/lib/dev_system/sub/command/commands/irb_command_test.rb +11 -0
- data/lib/dev_system/sub/command/commands/not_found_command.rb +156 -0
- data/lib/dev_system/sub/command/commands/not_found_command_test.rb +11 -0
- data/lib/dev_system/sub/command/commands/pry_command.rb +10 -0
- data/lib/dev_system/sub/command/commands/pry_command_test.rb +11 -0
- data/lib/dev_system/sub/command/commands/simple_command.rb +143 -0
- data/lib/dev_system/sub/command/commands/simple_command_test.rb +11 -0
- data/lib/dev_system/sub/command/generators/command_generator.rb +90 -0
- data/lib/dev_system/sub/command/generators/command_generator_test.rb +11 -0
- data/lib/dev_system/sub/command/input_commands/highline_input_command.rb +17 -0
- data/lib/dev_system/sub/command/input_commands/highline_input_command_test.rb +19 -0
- data/lib/dev_system/sub/command/input_commands/input_command.rb +20 -0
- data/lib/dev_system/sub/command/input_commands/input_command_test.rb +19 -0
- data/lib/dev_system/sub/command/input_commands/tty_input_command.rb +55 -0
- data/lib/dev_system/sub/command/input_commands/tty_input_command_test.rb +19 -0
- data/lib/dev_system/sub/generator/commands/generate_command.rb +9 -0
- data/lib/dev_system/sub/generator/commands/generate_command_test.rb +11 -0
- data/lib/dev_system/sub/generator/commands/new_command.rb +10 -0
- data/lib/dev_system/sub/generator/commands/new_command_test.rb +7 -0
- data/lib/dev_system/sub/generator/generator.rb +19 -0
- data/lib/dev_system/sub/generator/generator_panel.rb +98 -0
- data/lib/dev_system/sub/generator/generator_panel_test.rb +79 -0
- data/lib/dev_system/{dev/controllers → sub/generator}/generator_test.rb +6 -2
- data/lib/dev_system/sub/generator/generators/base_generator.rb +64 -0
- data/lib/dev_system/sub/generator/generators/base_generator_test.rb +11 -0
- data/lib/dev_system/sub/generator/generators/generator_generator.rb +71 -0
- data/lib/dev_system/sub/generator/generators/generator_generator_test.rb +11 -0
- data/lib/dev_system/sub/generator/generators/new_generator.rb +74 -0
- data/lib/dev_system/sub/generator/generators/new_generator_test.rb +11 -0
- data/lib/dev_system/sub/generator/generators/not_found_generator.rb +155 -0
- data/lib/dev_system/sub/generator/generators/not_found_generator_test.rb +11 -0
- data/lib/dev_system/sub/generator/generators/simple_generator.rb +257 -0
- data/lib/dev_system/sub/generator/generators/simple_generator_test.rb +38 -0
- data/lib/dev_system/sub/log/commands/log_command.rb +11 -0
- data/lib/dev_system/sub/log/commands/log_command_test.rb +11 -0
- data/lib/dev_system/sub/log/generators/log_generator.rb +54 -0
- data/lib/dev_system/sub/log/generators/log_generator_test.rb +10 -0
- data/lib/dev_system/sub/log/log.rb +3 -0
- data/lib/dev_system/sub/log/log_panel.rb +47 -0
- data/lib/dev_system/sub/log/log_panel_test.rb +50 -0
- data/lib/dev_system/sub/log/log_test.rb +16 -0
- data/lib/dev_system/sub/log/logs/output_log.rb +74 -0
- data/lib/dev_system/sub/log/logs/output_log_test.rb +47 -0
- data/lib/dev_system/sub/log/logs/stick_log.rb +79 -0
- data/lib/dev_system/sub/log/logs/stick_log_test.rb +88 -0
- data/lib/dev_system/sub/shell/commands/convert_command.rb +27 -0
- data/lib/dev_system/sub/shell/commands/convert_command_test.rb +10 -0
- data/lib/dev_system/sub/shell/commands/format_command.rb +25 -0
- data/lib/dev_system/sub/shell/commands/format_command_test.rb +10 -0
- data/lib/dev_system/sub/shell/commands/loc_command.rb +211 -0
- data/lib/dev_system/sub/shell/commands/loc_command_test.rb +10 -0
- data/lib/dev_system/sub/shell/commands/shell_command.rb +45 -0
- data/lib/dev_system/sub/shell/commands/shell_command_test.rb +11 -0
- data/lib/dev_system/sub/shell/converter_shells/coffee_converter_shell.rb +21 -0
- data/lib/dev_system/sub/shell/converter_shells/coffee_converter_shell_test.rb +41 -0
- data/lib/dev_system/sub/shell/converter_shells/converter_shell.rb +13 -0
- data/lib/dev_system/sub/shell/converter_shells/converter_shell_test.rb +19 -0
- data/lib/dev_system/sub/shell/converter_shells/haml_converter_shell.rb +30 -0
- data/lib/dev_system/sub/shell/converter_shells/haml_converter_shell_test.rb +34 -0
- data/lib/dev_system/sub/shell/converter_shells/md_converter_shell.rb +21 -0
- data/lib/dev_system/sub/shell/converter_shells/md_converter_shell_test.rb +38 -0
- data/lib/dev_system/sub/shell/converter_shells/scss_converter_shell.rb +59 -0
- data/lib/dev_system/sub/shell/converter_shells/scss_converter_shell_test.rb +59 -0
- data/lib/dev_system/sub/shell/formatter_shells/formatter_shell.rb +13 -0
- data/lib/dev_system/sub/shell/formatter_shells/formatter_shell_test.rb +19 -0
- data/lib/dev_system/sub/shell/formatter_shells/html_formatter_shell.rb +20 -0
- data/lib/dev_system/sub/shell/formatter_shells/html_formatter_shell_test.rb +51 -0
- data/lib/dev_system/sub/shell/generators/shell_generator.rb +68 -0
- data/lib/dev_system/sub/shell/generators/shell_generator_test.rb +10 -0
- data/lib/dev_system/{dev/controllers → sub/shell}/shell.rb +22 -0
- data/lib/dev_system/sub/shell/shell_panel.rb +98 -0
- data/lib/dev_system/sub/shell/shell_panel_test.rb +18 -0
- data/lib/dev_system/{dev/controllers → sub/shell}/shell_test.rb +31 -2
- data/lib/dev_system/sub/shell/shells/app_shell.rb +185 -0
- data/lib/dev_system/sub/shell/shells/app_shell_test.rb +26 -0
- data/lib/dev_system/{dev/controllers/shell → sub/shell/shells}/bin_shell_test.rb +1 -2
- data/lib/dev_system/sub/shell/shells/color_shell.rb +389 -0
- data/lib/dev_system/sub/shell/shells/color_shell_test.rb +27 -0
- data/lib/dev_system/sub/shell/shells/controller_shell.rb +20 -0
- data/lib/dev_system/sub/shell/shells/controller_shell_test.rb +16 -0
- data/lib/dev_system/sub/shell/shells/dir_shell.rb +27 -0
- data/lib/dev_system/{dev/controllers/shell → sub/shell/shells}/dir_shell_test.rb +1 -5
- data/lib/dev_system/{dev/controllers/shell → sub/shell/shells}/file_shell.rb +4 -4
- data/lib/dev_system/{dev/controllers/shell → sub/shell/shells}/file_shell_test.rb +1 -2
- data/lib/dev_system/sub/shell/shells/gem_shell.rb +21 -0
- data/lib/dev_system/sub/shell/shells/gem_shell_test.rb +28 -0
- data/lib/dev_system/sub/shell/shells/kernel_shell.rb +22 -0
- data/lib/dev_system/sub/shell/shells/kernel_shell_test.rb +10 -0
- data/lib/dev_system/sub/shell/shells/line_diff_shell.rb +26 -0
- data/lib/dev_system/sub/shell/shells/line_diff_shell_test.rb +11 -0
- data/lib/dev_system/sub/shell/shells/line_shell.rb +56 -0
- data/lib/dev_system/sub/shell/shells/line_shell_test.rb +70 -0
- data/lib/dev_system/sub/shell/shells/method_shell.rb +52 -0
- data/lib/dev_system/sub/shell/shells/method_shell_test.rb +34 -0
- data/lib/dev_system/sub/shell/shells/text_file_shell.rb +14 -0
- data/lib/dev_system/sub/shell/shells/text_file_shell_test.rb +11 -0
- data/lib/dev_system/sub/shell/shells/text_shell.rb +65 -0
- data/lib/dev_system/{dev/controllers/shell → sub/shell/shells}/text_shell_test.rb +1 -2
- data/lib/dev_system.rb +8 -2
- data/lib/happy_system/happy_box.rb +9 -0
- data/lib/happy_system/happy_box_test.rb +24 -0
- data/lib/happy_system/sub/axo/axo.rb +10 -0
- data/lib/happy_system/sub/axo/axo_panel.rb +9 -0
- data/lib/happy_system/sub/axo/axo_panel_test.rb +16 -0
- data/lib/happy_system/sub/axo/axo_test.rb +16 -0
- data/lib/happy_system/sub/axo/commands/axo_command.rb +40 -0
- data/lib/happy_system/sub/axo/commands/axo_command_test.rb +8 -0
- data/lib/happy_system/sub/axo/generators/axo_generator.rb +79 -0
- data/lib/happy_system/sub/axo/generators/axo_generator_test.rb +11 -0
- data/lib/happy_system.rb +4 -2
- data/lib/lab_system/clients/kroki_client.rb +134 -0
- data/lib/lab_system/clients/kroki_client_test.rb +32 -0
- data/lib/lab_system/clients/liza_kroki_client.rb +176 -0
- data/lib/lab_system/clients/liza_kroki_client_test.rb +32 -0
- data/lib/lab_system/commands/docker_command.rb +61 -0
- data/lib/lab_system/commands/docker_command_test.rb +11 -0
- data/lib/lab_system/lab_box.rb +5 -0
- data/lib/lab_system/lab_box_test.rb +8 -0
- data/lib/lab_system/requests/kroki_request.rb +182 -0
- data/lib/lab_system/requests/kroki_request_test.rb +11 -0
- data/lib/lab_system/shells/docker_shell.rb +60 -0
- data/lib/lab_system/shells/docker_shell_test.rb +61 -0
- data/lib/lab_system/shells/kroki_docker_shell.rb +20 -0
- data/lib/lab_system/shells/kroki_docker_shell_test.rb +11 -0
- data/lib/lab_system.rb +8 -0
- data/lib/lerb.rb +95 -49
- data/lib/liza/base/controller.rb +14 -15
- data/lib/liza/base/controller_test.rb +28 -2
- data/lib/liza/base/panel.rb +64 -24
- data/lib/liza/base/panel_test.rb +168 -3
- data/lib/liza/base_parts/controller_subsystem_part.rb +93 -0
- data/lib/liza/base_parts/panel_rescuer_part.rb +129 -0
- data/lib/liza/meta/box.rb +24 -0
- data/lib/liza/meta/box_test.rb +20 -0
- data/lib/liza/meta/part_test.rb +6 -1
- data/lib/liza/meta/system.rb +50 -7
- data/lib/liza/meta/system_test.rb +6 -2
- data/lib/liza/ruby_tests/app_test.rb +39 -0
- data/lib/liza/ruby_tests/class_test.rb +20 -0
- data/lib/liza/ruby_tests/module_test.rb +4 -4
- data/lib/liza/{ruby_test.rb → ruby_tests/object_test.rb} +1 -1
- data/lib/liza/ruby_tests/string_test.rb +3 -1
- data/lib/liza/{test → safety}/test.rb +9 -0
- data/lib/liza/{test → safety}/test_test.rb +44 -7
- data/lib/liza/{test_parts → safety_parts}/test_assertions_advanced_part.rb +1 -1
- data/lib/liza/{test_parts → safety_parts}/test_assertions_part.rb +1 -1
- data/lib/liza/{test_parts → safety_parts}/test_dsl_part.rb +3 -3
- data/lib/liza/{test_parts → safety_parts}/test_log_part.rb +20 -0
- data/lib/liza/{test_parts → safety_parts}/test_subject_part.rb +10 -0
- data/lib/liza/safety_parts/test_tree_part.rb +87 -0
- data/lib/liza/unit.rb +64 -120
- data/lib/liza/unit_parts/unit_classes_part.rb +37 -0
- data/lib/liza/unit_parts/unit_classes_part_test.rb +3 -0
- data/lib/liza/unit_parts/unit_logging_part.rb +139 -0
- data/lib/liza/unit_parts/unit_logging_part_test.rb +3 -0
- data/lib/liza/unit_parts/unit_methods_part.rb +35 -0
- data/lib/liza/unit_parts/unit_methods_part_test.rb +3 -0
- data/lib/liza/unit_parts/unit_procedure_part.rb +2 -2
- data/lib/liza/unit_parts/unit_procedure_part_test.rb +9 -9
- data/lib/liza/unit_parts/unit_renderer_part.rb +171 -0
- data/lib/liza/unit_parts/unit_renderer_part_test.rb +15 -0
- data/lib/liza/unit_parts/unit_settings_part.rb +84 -0
- data/lib/liza/unit_parts/unit_settings_part_test.rb +3 -0
- data/lib/liza/unit_test.rb +114 -5
- data/lib/liza.rb +11 -2
- data/lib/lizarb/ruby/class.rb +9 -1
- data/lib/lizarb/ruby/module.rb +1 -1
- data/lib/lizarb/ruby/string.rb +3 -1
- data/lib/lizarb/version.rb +1 -1
- data/lib/lizarb.rb +404 -29
- data/lib/micro_system/micro_box.rb +5 -0
- data/lib/micro_system/micro_box_test.rb +8 -0
- data/lib/micro_system.rb +8 -0
- data/lib/net_system/net_box.rb +21 -0
- data/lib/net_system/{net/net_box_test.rb → net_box_test.rb} +1 -2
- data/lib/net_system/{net/panels → sub/client}/client_panel_test.rb +1 -2
- data/lib/net_system/{net/controllers → sub/client}/client_test.rb +1 -2
- data/lib/net_system/sub/client/generators/client_generator.rb +88 -0
- data/lib/net_system/sub/client/generators/client_generator_test.rb +10 -0
- data/lib/net_system/sub/database/clients/mongo_client.rb +33 -0
- data/lib/net_system/sub/database/clients/mongo_client_test.rb +20 -0
- data/lib/net_system/sub/database/clients/mysql_client.rb +29 -0
- data/lib/net_system/sub/database/clients/mysql_client_test.rb +23 -0
- data/lib/net_system/sub/database/clients/pgsql_client.rb +29 -0
- data/lib/net_system/sub/database/clients/pgsql_client_test.rb +25 -0
- data/lib/net_system/{net/controllers/client → sub/database/clients}/redis_client.rb +5 -2
- data/lib/net_system/{net/controllers/client → sub/database/clients}/redis_client_test.rb +2 -2
- data/lib/net_system/{net/controllers/client → sub/database/clients}/sqlite_client.rb +5 -2
- data/lib/net_system/{net/controllers/client → sub/database/clients}/sqlite_client_test.rb +2 -2
- data/lib/net_system/sub/database/commands/database_command.rb +32 -0
- data/lib/net_system/sub/database/commands/database_command_test.rb +11 -0
- data/lib/net_system/{net/panels → sub/database}/database_panel_test.rb +1 -2
- data/lib/net_system/{net/controllers → sub/database}/database_test.rb +1 -2
- data/lib/net_system/sub/database/databases/mongo_db.rb +8 -0
- data/lib/net_system/sub/database/databases/mongo_db_test.rb +21 -0
- data/lib/net_system/sub/database/databases/mysql_db.rb +8 -0
- data/lib/net_system/sub/database/databases/mysql_db_test.rb +21 -0
- data/lib/net_system/sub/database/databases/pgsql_db.rb +8 -0
- data/lib/net_system/sub/database/databases/pgsql_db_test.rb +21 -0
- data/lib/net_system/{net/controllers/database → sub/database/databases}/redis_db_test.rb +1 -1
- data/lib/net_system/{net/controllers/database → sub/database/databases}/sqlite_db_test.rb +1 -1
- data/lib/net_system/sub/record/generators/record_generator.rb +33 -0
- data/lib/net_system/sub/record/generators/record_generator_test.rb +11 -0
- data/lib/net_system/sub/record/record_panel.rb +3 -0
- data/lib/net_system/sub/record/record_panel_test.rb +11 -0
- data/lib/net_system/{net/controllers → sub/record}/record_test.rb +1 -2
- data/lib/net_system.rb +8 -1
- data/lib/web_system/sub/rack/commands/rack_command.rb +30 -0
- data/lib/web_system/sub/rack/commands/rack_command_test.rb +11 -0
- data/lib/web_system/sub/rack/middle_racks/first_middle_rack.rb +8 -0
- data/lib/web_system/sub/rack/middle_racks/first_middle_rack_test.rb +11 -0
- data/lib/web_system/sub/rack/middle_racks/last_middle_rack.rb +3 -0
- data/lib/web_system/sub/rack/middle_racks/last_middle_rack_test.rb +11 -0
- data/lib/web_system/sub/rack/middle_racks/middle_rack.rb +18 -0
- data/lib/web_system/sub/rack/middle_racks/middle_rack_test.rb +11 -0
- data/lib/web_system/sub/rack/middle_racks/zeitwerk_middle_rack.rb +11 -0
- data/lib/web_system/sub/rack/middle_racks/zeitwerk_middle_rack_test.rb +11 -0
- data/lib/web_system/sub/rack/rack_panel.rb +52 -0
- data/lib/web_system/{web/panels → sub/rack}/rack_panel_test.rb +1 -2
- data/lib/web_system/{web/controllers → sub/rack}/rack_test.rb +1 -2
- data/lib/web_system/sub/rack/server_racks/agoo_server_rack.rb +53 -0
- data/lib/web_system/sub/rack/server_racks/agoo_server_rack_test.rb +11 -0
- data/lib/web_system/sub/rack/server_racks/falcon_server_rack.rb +46 -0
- data/lib/web_system/sub/rack/server_racks/falcon_server_rack_test.rb +11 -0
- data/lib/web_system/sub/rack/server_racks/iodine_server_rack.rb +47 -0
- data/lib/web_system/sub/rack/server_racks/iodine_server_rack_test.rb +11 -0
- data/lib/web_system/sub/rack/server_racks/puma_server_rack.rb +48 -0
- data/lib/web_system/sub/rack/server_racks/puma_server_rack_test.rb +11 -0
- data/lib/web_system/sub/rack/server_racks/server_rack.rb +12 -0
- data/lib/web_system/sub/rack/server_racks/server_rack_test.rb +11 -0
- data/lib/web_system/sub/rack/server_racks/thin_server_rack.rb +85 -0
- data/lib/web_system/sub/rack/server_racks/thin_server_rack_test.rb +11 -0
- data/lib/web_system/sub/request/commands/request_command.rb +125 -0
- data/lib/web_system/sub/request/commands/request_command_test.rb +11 -0
- data/lib/web_system/sub/request/generators/request_generator.rb +96 -0
- data/lib/web_system/sub/request/generators/request_generator_test.rb +11 -0
- data/lib/web_system/sub/request/request_panel.rb +69 -0
- data/lib/web_system/sub/request/request_panel_test.rb +54 -0
- data/lib/web_system/{web/controllers → sub/request}/request_test.rb +1 -2
- data/lib/web_system/sub/request/requests/simple_request.rb +95 -0
- data/lib/web_system/sub/request/requests/simple_request_test.rb +11 -0
- data/lib/web_system/sub/request/router_requests/router_request.rb +7 -0
- data/lib/web_system/sub/request/router_requests/router_request_test.rb +11 -0
- data/lib/web_system/sub/request/router_requests/simple_router_request.rb +24 -0
- data/lib/web_system/sub/request/router_requests/simple_router_request_test.rb +11 -0
- data/lib/web_system/web_box.rb +17 -0
- data/lib/web_system/{web/web_box_test.rb → web_box_test.rb} +1 -2
- data/lib/web_system.rb +9 -3
- data/lib/work_system/work_box.rb +5 -0
- data/lib/work_system/work_box_test.rb +8 -0
- data/lib/work_system.rb +8 -0
- data/lizarb.gemspec +14 -8
- metadata +375 -168
- data/.ruby-version +0 -1
- data/app/dev/benches/app_bench.rb +0 -5
- data/app/dev/benches/app_bench_test.rb +0 -7
- data/app/dev/benches/loops_bench_test.rb +0 -11
- data/app/dev/commands/app_command.rb +0 -5
- data/app/dev/commands/app_command_test.rb +0 -7
- data/app/dev/commands/new_command.rb +0 -9
- data/app/dev/commands/new_command_test.rb +0 -7
- data/app/dev/generators/bench_generator/bench.rb.erb +0 -24
- data/app/dev/generators/bench_generator/bench_test.rb.erb +0 -12
- data/app/dev/generators/bench_generator.rb +0 -18
- data/app/dev/generators/bench_generator_test.rb +0 -12
- data/app/dev/generators/command_generator/command.rb.erb +0 -26
- data/app/dev/generators/command_generator/command_test.rb.erb +0 -12
- data/app/dev/generators/command_generator.rb +0 -18
- data/app/dev/generators/command_generator_test.rb +0 -12
- data/app/dev/generators/record_generator.rb +0 -46
- data/app/dev/generators/record_generator_test.rb +0 -12
- data/app/dev/generators/request_generator.rb +0 -63
- data/app/dev/generators/request_generator_test.rb +0 -12
- data/app/happy/axos/axo.rb +0 -50
- data/exe/Gemfile.lock +0 -13
- data/exe/lrb +0 -3
- data/lib/dev_system/dev/controllers/bench/not_found_bench.rb +0 -27
- data/lib/dev_system/dev/controllers/bench.rb +0 -9
- data/lib/dev_system/dev/controllers/bench_dsl_main_part.rb +0 -58
- data/lib/dev_system/dev/controllers/bench_test.rb +0 -12
- data/lib/dev_system/dev/controllers/command/echo_command.rb +0 -9
- data/lib/dev_system/dev/controllers/command/echo_command_test.rb +0 -12
- data/lib/dev_system/dev/controllers/command/generate_command.rb +0 -33
- data/lib/dev_system/dev/controllers/command/generate_command_test.rb +0 -12
- data/lib/dev_system/dev/controllers/command/not_found_command.rb +0 -27
- data/lib/dev_system/dev/controllers/command/not_found_command_test.rb +0 -12
- data/lib/dev_system/dev/controllers/command/terminal_command.rb +0 -22
- data/lib/dev_system/dev/controllers/command/terminal_command_test.rb +0 -12
- data/lib/dev_system/dev/controllers/command/version_command.rb +0 -7
- data/lib/dev_system/dev/controllers/command/version_command_test.rb +0 -12
- data/lib/dev_system/dev/controllers/command.rb +0 -17
- data/lib/dev_system/dev/controllers/generator.rb +0 -9
- data/lib/dev_system/dev/controllers/generator_dsl_main_part.rb +0 -52
- data/lib/dev_system/dev/controllers/generators/app_generator.rb +0 -146
- data/lib/dev_system/dev/controllers/generators/app_generator_test.rb +0 -12
- data/lib/dev_system/dev/controllers/generators/generator_generator/generator.rb.erb +0 -18
- data/lib/dev_system/dev/controllers/generators/generator_generator/generator_test.rb.erb +0 -12
- data/lib/dev_system/dev/controllers/generators/generator_generator/template.rb.erb +0 -9
- data/lib/dev_system/dev/controllers/generators/generator_generator/template_test.rb.erb +0 -12
- data/lib/dev_system/dev/controllers/generators/generator_generator.rb +0 -30
- data/lib/dev_system/dev/controllers/generators/generator_generator_test.rb +0 -12
- data/lib/dev_system/dev/controllers/generators/not_found_generator.rb +0 -27
- data/lib/dev_system/dev/controllers/generators/not_found_generator_test.rb +0 -12
- data/lib/dev_system/dev/controllers/shell/dir_shell.rb +0 -27
- data/lib/dev_system/dev/controllers/shell/text_shell.rb +0 -23
- data/lib/dev_system/dev/controllers/terminal/irb_terminal_test.rb +0 -12
- data/lib/dev_system/dev/controllers/terminal/pry_terminal.rb +0 -10
- data/lib/dev_system/dev/controllers/terminal/pry_terminal_test.rb +0 -12
- data/lib/dev_system/dev/controllers/terminal.rb +0 -17
- data/lib/dev_system/dev/controllers/terminal_test.rb +0 -12
- data/lib/dev_system/dev/dev_box.rb +0 -39
- data/lib/dev_system/dev/dev_box_test.rb +0 -17
- data/lib/dev_system/dev/panels/command_panel.rb +0 -28
- data/lib/dev_system/dev/panels/command_panel_test.rb +0 -21
- data/lib/dev_system/dev/panels/generator_panel.rb +0 -3
- data/lib/dev_system/dev/panels/generator_panel_test.rb +0 -12
- data/lib/dev_system/dev/panels/log_panel.rb +0 -13
- data/lib/dev_system/dev/panels/log_panel_test.rb +0 -16
- data/lib/dev_system/dev/panels/shell_panel.rb +0 -3
- data/lib/dev_system/dev/panels/shell_panel_test.rb +0 -12
- data/lib/dev_system/dev/panels/terminal_panel.rb +0 -3
- data/lib/dev_system/dev/panels/terminal_panel_test.rb +0 -12
- data/lib/happy_system/dev/happy_command.rb +0 -11
- data/lib/happy_system/happy/controllers/axo.rb +0 -7
- data/lib/happy_system/happy/happy_box.rb +0 -9
- data/lib/happy_system/happy/happy_box_test.rb +0 -16
- data/lib/happy_system/happy/panels/axo_panel.rb +0 -3
- data/lib/liza/base/box.rb +0 -85
- data/lib/liza/base/box_test.rb +0 -10
- data/lib/liza/base_parts/controller_renderer_part.rb +0 -140
- data/lib/liza/base_parts/controller_renderer_part_test.rb +0 -16
- data/lib/liza/meta/part_extension.rb +0 -16
- data/lib/liza/test_parts/test_tree_part.rb +0 -137
- data/lib/net_system/dev/net_command.rb +0 -22
- data/lib/net_system/net/net_box.rb +0 -15
- data/lib/web_system/dev/rack_command.rb +0 -35
- data/lib/web_system/dev/request_command.rb +0 -143
- data/lib/web_system/dev/web_command.rb +0 -9
- data/lib/web_system/web/panels/rack_panel.rb +0 -42
- data/lib/web_system/web/panels/request_panel.rb +0 -72
- data/lib/web_system/web/panels/request_panel_test.rb +0 -33
- data/lib/web_system/web/web_box.rb +0 -20
- /data/lib/dev_system/{dev/panels → sub/bench}/bench_panel.rb +0 -0
- /data/lib/dev_system/{dev/controllers/shell → sub/shell/shells}/bin_shell.rb +0 -0
- /data/lib/net_system/{net/controllers → sub/client}/client.rb +0 -0
- /data/lib/net_system/{net/panels → sub/client}/client_panel.rb +0 -0
- /data/lib/net_system/{net/controllers → sub/database}/database.rb +0 -0
- /data/lib/net_system/{net/panels → sub/database}/database_panel.rb +0 -0
- /data/lib/net_system/{net/controllers/database → sub/database/databases}/redis_db.rb +0 -0
- /data/lib/net_system/{net/controllers/database → sub/database/databases}/sqlite_db.rb +0 -0
- /data/lib/net_system/{net/controllers → sub/record}/record.rb +0 -0
- /data/lib/web_system/{web/controllers → sub/rack}/rack.rb +0 -0
- /data/lib/web_system/{web/controllers → sub/request}/request.rb +0 -0
- /data/lib/web_system/{web/controllers/request → sub/request/requests}/client_error_request.rb +0 -0
- /data/lib/web_system/{web/controllers/request → sub/request/requests}/not_found_request.rb +0 -0
- /data/lib/web_system/{web/controllers/request → sub/request/requests}/server_error_request.rb +0 -0
data/lib/liza/base/panel.rb
CHANGED
@@ -1,24 +1,81 @@
|
|
1
1
|
class Liza::Panel < Liza::Unit
|
2
|
-
inherited_explicitly_sets_system
|
3
2
|
|
4
|
-
|
5
|
-
|
6
|
-
|
3
|
+
#
|
4
|
+
|
5
|
+
part :panel_rescuer
|
6
|
+
|
7
|
+
#
|
8
|
+
|
9
|
+
set :box, Liza::Box
|
10
|
+
set :controller, Liza::Controller
|
11
|
+
|
12
|
+
#
|
7
13
|
|
8
14
|
def self.box
|
9
|
-
|
15
|
+
system.box
|
10
16
|
end
|
11
17
|
|
12
18
|
def box
|
13
|
-
|
19
|
+
system.box
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.controller
|
23
|
+
@controller ||= system.const token
|
24
|
+
end
|
25
|
+
|
26
|
+
def controller
|
27
|
+
self.class.controller
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.division
|
31
|
+
controller.division
|
32
|
+
end
|
33
|
+
|
34
|
+
def division
|
35
|
+
controller.division
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.token
|
39
|
+
@token ||= last_namespace.gsub(/Panel$/, '').snakecase.to_sym
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.subsystem
|
43
|
+
controller
|
14
44
|
end
|
15
45
|
|
46
|
+
def subsystem
|
47
|
+
controller
|
48
|
+
end
|
49
|
+
|
50
|
+
# color
|
51
|
+
|
52
|
+
def self.color
|
53
|
+
system.color
|
54
|
+
end
|
55
|
+
|
56
|
+
#
|
57
|
+
|
58
|
+
attr_reader :key
|
59
|
+
|
16
60
|
def initialize key
|
17
61
|
@key = key
|
18
62
|
@blocks = []
|
19
63
|
@unstarted = true
|
64
|
+
@short = {}
|
65
|
+
end
|
66
|
+
|
67
|
+
#
|
68
|
+
|
69
|
+
def short a, b = nil
|
70
|
+
if b
|
71
|
+
@short[a.to_s] = b.to_s
|
72
|
+
else
|
73
|
+
@short[a.to_s] || a.to_s
|
74
|
+
end
|
20
75
|
end
|
21
76
|
|
77
|
+
#
|
78
|
+
|
22
79
|
def push block
|
23
80
|
@unstarted = true
|
24
81
|
@blocks.push block
|
@@ -28,27 +85,10 @@ class Liza::Panel < Liza::Unit
|
|
28
85
|
return self unless defined? @unstarted
|
29
86
|
remove_instance_variable :@unstarted
|
30
87
|
|
31
|
-
@blocks.each { |bl| instance_eval
|
88
|
+
@blocks.each { |bl| instance_eval(&bl) }
|
32
89
|
@blocks.clear
|
33
90
|
|
34
91
|
self
|
35
92
|
end
|
36
|
-
|
37
|
-
def log log_level = :normal, string
|
38
|
-
raise "invalid log_level `#{log_level}`" unless LOG_LEVELS.keys.include? log_level
|
39
|
-
return unless log_level? log_level
|
40
|
-
|
41
|
-
source = box.to_s
|
42
|
-
|
43
|
-
x = source.size
|
44
|
-
source = source.bold.colorize log_color
|
45
|
-
|
46
|
-
y = source.size
|
47
|
-
source = "#{source}[:#{@key}]".ljust(LOG_JUST+y-x)
|
48
|
-
|
49
|
-
string = "#{source} #{string}"
|
50
|
-
|
51
|
-
DevBox[:log].call string
|
52
|
-
end
|
53
93
|
|
54
94
|
end
|
data/lib/liza/base/panel_test.rb
CHANGED
@@ -4,11 +4,176 @@ class Liza::PanelTest < Liza::UnitTest
|
|
4
4
|
end
|
5
5
|
|
6
6
|
def subject
|
7
|
-
subject_class.new "name"
|
7
|
+
@subject ||= subject_class.new "name"
|
8
8
|
end
|
9
9
|
|
10
|
+
test_methods_defined do
|
11
|
+
on_self :box,
|
12
|
+
:color,
|
13
|
+
:controller,
|
14
|
+
:puts,
|
15
|
+
:subsystem,
|
16
|
+
:token
|
17
|
+
on_instance \
|
18
|
+
:box,
|
19
|
+
:controller, :division,
|
20
|
+
:key, :push,
|
21
|
+
:rescue_from, :rescue_from_panel, :rescuers,
|
22
|
+
:short, :started,
|
23
|
+
:subsystem
|
24
|
+
end
|
25
|
+
|
26
|
+
#
|
27
|
+
|
28
|
+
def assert_raises_2 e_class, &block
|
29
|
+
kaller = caller
|
30
|
+
begin
|
31
|
+
block.call
|
32
|
+
assert false, kaller: kaller
|
33
|
+
rescue e_class => e
|
34
|
+
assert true, kaller: kaller
|
35
|
+
rescue Exception => e
|
36
|
+
assert false, kaller: kaller
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def refute_raises_2 e_class, &block
|
41
|
+
kaller = caller
|
42
|
+
begin
|
43
|
+
block.call
|
44
|
+
assert true, kaller: kaller
|
45
|
+
rescue e_class => e
|
46
|
+
assert false, kaller: kaller
|
47
|
+
rescue Exception => e
|
48
|
+
assert false, kaller: kaller
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
#
|
53
|
+
|
54
|
+
test :rescue_from, :validations do
|
55
|
+
assert_raises_2 ArgumentError do
|
56
|
+
subject.rescue_from(Liza)
|
57
|
+
end
|
58
|
+
|
59
|
+
assert_raises_2 ArgumentError do
|
60
|
+
subject.rescue_from(Liza::Error)
|
61
|
+
end
|
62
|
+
|
63
|
+
refute_raises_2 ArgumentError do
|
64
|
+
subject.rescue_from(Liza::Error) { }
|
65
|
+
end
|
66
|
+
|
67
|
+
refute_raises_2 ArgumentError do
|
68
|
+
subject.rescue_from(Liza::Error, with: Controller)
|
69
|
+
end
|
70
|
+
|
71
|
+
assert_raises_2 ArgumentError do
|
72
|
+
subject.rescue_from(Liza::Error, with: Controller) { }
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
test :rescue_from, :rescuers, :rescue_from_panel do
|
77
|
+
assert_equality subject.rescuers, []
|
78
|
+
|
79
|
+
#
|
80
|
+
|
81
|
+
subject.rescue_from(:command_panel, :parse) { }
|
82
|
+
actual = subject.rescuers.last
|
83
|
+
|
84
|
+
#
|
85
|
+
|
86
|
+
assert_equality actual.class, Liza::PanelRescuerPart::Rescuer
|
87
|
+
assert_equality actual[:exception_class], CommandPanel::ParseError
|
88
|
+
assert_equality actual[:with], nil
|
89
|
+
assert_equality actual[:block].class, Proc
|
90
|
+
|
91
|
+
#
|
92
|
+
|
93
|
+
subject.rescue_from(:command_panel, :parse, with: NotFoundCommand)
|
94
|
+
actual = subject.rescuers.last
|
95
|
+
|
96
|
+
#
|
97
|
+
|
98
|
+
assert_equality actual.class, Liza::PanelRescuerPart::Rescuer
|
99
|
+
assert_equality actual[:exception_class], CommandPanel::ParseError
|
100
|
+
assert_equality actual[:with], DevSystem::NotFoundCommand
|
101
|
+
assert_equality actual[:block], nil
|
102
|
+
end
|
103
|
+
|
104
|
+
test :rescue_from, :rescuers, :_rescue_from_panel_find do
|
105
|
+
assert_equality subject.rescuers, []
|
106
|
+
|
107
|
+
subject.rescue_from(CommandPanel::ParseError, with: NotFoundCommand)
|
108
|
+
original_rescuer = subject.rescuers.last
|
109
|
+
|
110
|
+
assert_equality original_rescuer[:exception_class], CommandPanel::ParseError
|
111
|
+
|
112
|
+
actual = subject._rescue_from_panel_find CommandPanel::ParseError.new
|
113
|
+
|
114
|
+
assert_equality actual.class, Liza::PanelRescuerPart::Rescuer
|
115
|
+
refute_equality actual, original_rescuer
|
116
|
+
|
117
|
+
assert_equality original_rescuer[:exception], nil
|
118
|
+
assert_equality actual[:exception].class, CommandPanel::ParseError
|
119
|
+
end
|
120
|
+
|
121
|
+
test :rescue_from_panel do
|
122
|
+
todo "test this"
|
123
|
+
end
|
124
|
+
|
125
|
+
test :_rescue_from_parse_symbol do
|
126
|
+
actual = subject._rescue_from_parse_symbol(:error)
|
127
|
+
assert_equality Liza::Error, actual
|
128
|
+
|
129
|
+
assert_raises_2 NameError do
|
130
|
+
subject._rescue_from_parse_symbol(:errorx)
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
134
|
+
test :_rescue_from_parse_symbols do
|
135
|
+
actual = subject._rescue_from_parse_symbols([:command_panel, :parse])
|
136
|
+
assert_equality CommandPanel::ParseError, actual
|
137
|
+
|
138
|
+
actual = subject._rescue_from_parse_symbols([:command_panel, :not_found])
|
139
|
+
assert_equality CommandPanel::NotFoundError, actual
|
140
|
+
|
141
|
+
assert_raises_2 NameError do
|
142
|
+
subject._rescue_from_parse_symbols([:command_panel, :not_foxund])
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
146
|
+
#
|
147
|
+
|
10
148
|
test :settings do
|
11
|
-
|
12
|
-
|
149
|
+
assert_equality subject_class.log_level, 0
|
150
|
+
end
|
151
|
+
|
152
|
+
#
|
153
|
+
|
154
|
+
test :short do
|
155
|
+
assert_equality subject.short("m"), "m"
|
156
|
+
assert_equality subject.short("i"), "i"
|
157
|
+
assert_equality subject.short("n"), "n"
|
158
|
+
assert_equality subject.short("s"), "s"
|
159
|
+
assert_equality subject.short("w"), "w"
|
160
|
+
assert_equality subject.short("a"), "a"
|
161
|
+
assert_equality subject.short("n"), "n"
|
162
|
+
|
163
|
+
subject.short :m, :matz
|
164
|
+
subject.short :i, :is
|
165
|
+
subject.short :n, :nice
|
166
|
+
subject.short :s, :so
|
167
|
+
subject.short :w, :we
|
168
|
+
subject.short :a, :are
|
169
|
+
|
170
|
+
assert_equality subject.short("m"), "matz"
|
171
|
+
assert_equality subject.short("i"), "is"
|
172
|
+
assert_equality subject.short("n"), "nice"
|
173
|
+
assert_equality subject.short("s"), "so"
|
174
|
+
assert_equality subject.short("w"), "we"
|
175
|
+
assert_equality subject.short("a"), "are"
|
176
|
+
assert_equality subject.short("n"), "nice"
|
13
177
|
end
|
178
|
+
|
14
179
|
end
|
@@ -0,0 +1,93 @@
|
|
1
|
+
class Liza::ControllerSubsystemPart < Liza::Part
|
2
|
+
insertion do
|
3
|
+
|
4
|
+
# subsystem
|
5
|
+
|
6
|
+
def self.subsystem
|
7
|
+
get :subsystem
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.subsystem?
|
11
|
+
get(:subsystem) == self
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.subsystem! box_klass, panel
|
15
|
+
# FIRST, subsystem settings
|
16
|
+
set :subsystem, self
|
17
|
+
set :box, box_klass
|
18
|
+
set :panel, panel
|
19
|
+
|
20
|
+
# LAST, panel settings
|
21
|
+
panel.settings.each do |k, v|
|
22
|
+
set k, v
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
# box and panel
|
27
|
+
|
28
|
+
def self.box
|
29
|
+
get :box
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.panel
|
33
|
+
get :panel
|
34
|
+
end
|
35
|
+
|
36
|
+
def box
|
37
|
+
self.class.box
|
38
|
+
end
|
39
|
+
|
40
|
+
def panel
|
41
|
+
self.class.panel
|
42
|
+
end
|
43
|
+
|
44
|
+
# division
|
45
|
+
|
46
|
+
def self.division
|
47
|
+
get :division
|
48
|
+
end
|
49
|
+
|
50
|
+
def self.division?
|
51
|
+
get(:division) == self
|
52
|
+
end
|
53
|
+
|
54
|
+
def self.division!
|
55
|
+
set :division, self
|
56
|
+
|
57
|
+
camel = last_namespace
|
58
|
+
singular = camel.snakecase.to_sym
|
59
|
+
plural = "#{camel}s".snakecase.to_sym
|
60
|
+
fetch(:singular) { singular }
|
61
|
+
fetch(:plural) { plural }
|
62
|
+
end
|
63
|
+
|
64
|
+
# grammar
|
65
|
+
|
66
|
+
def self.singular
|
67
|
+
case
|
68
|
+
when subsystem? then get :singular
|
69
|
+
when division? then :"#{token}_#{subsystem.singular}"
|
70
|
+
else :"#{token}_#{division.singular}"
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
def self.plural
|
75
|
+
case
|
76
|
+
when subsystem? then get :plural
|
77
|
+
when division? then :"#{token}_#{subsystem.plural}"
|
78
|
+
else :"#{token}_#{division.plural}"
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
def self.token
|
83
|
+
if subsystem?
|
84
|
+
nil
|
85
|
+
elsif division?
|
86
|
+
last_namespace.gsub(/#{subsystem.last_namespace}$/, '').snakecase.to_sym
|
87
|
+
else
|
88
|
+
last_namespace.gsub(/#{division.last_namespace}$/, '').snakecase.to_sym
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
end
|
93
|
+
end
|
@@ -0,0 +1,129 @@
|
|
1
|
+
class Liza::PanelRescuerPart < Liza::Part
|
2
|
+
insertion do
|
3
|
+
|
4
|
+
#
|
5
|
+
|
6
|
+
def rescue_from(*args, with: nil, &block)
|
7
|
+
rescuer = Rescuer.new
|
8
|
+
|
9
|
+
raise ArgumentError, "either with: or block is required, but not both" if with && block
|
10
|
+
|
11
|
+
case args.count
|
12
|
+
when 1
|
13
|
+
|
14
|
+
e_class = args[0]
|
15
|
+
e_class = _rescue_from_parse_symbol(e_class) if Symbol === e_class
|
16
|
+
|
17
|
+
when 2
|
18
|
+
|
19
|
+
e_class = args[0]
|
20
|
+
e_class = _rescue_from_parse_symbols(args) if Symbol === e_class
|
21
|
+
|
22
|
+
else
|
23
|
+
|
24
|
+
raise ArgumentError, "wrong number of arguments (given #{args.count}, expected 1..2)"
|
25
|
+
|
26
|
+
end
|
27
|
+
|
28
|
+
unless e_class
|
29
|
+
msg = "args #{args} parsed to #{e_class} (expected a descendant of Exception)"
|
30
|
+
raise ArgumentError, msg
|
31
|
+
end
|
32
|
+
|
33
|
+
e_class_is_exception = e_class.ancestors.include? Exception
|
34
|
+
unless e_class_is_exception
|
35
|
+
msg = "args #{args} parsed to #{e_class} (expected a descendant of Exception)"
|
36
|
+
raise ArgumentError, msg
|
37
|
+
end
|
38
|
+
|
39
|
+
rescuer[:exception_class] = e_class
|
40
|
+
rescuer[:with] = with
|
41
|
+
rescuer[:block] = block
|
42
|
+
|
43
|
+
if with.nil? && block.nil?
|
44
|
+
puts "rescue_from #{e_class} with: or block: is required".red
|
45
|
+
raise ArgumentError, "with: or block: is required", caller
|
46
|
+
end
|
47
|
+
|
48
|
+
rescuers.push(rescuer)
|
49
|
+
end
|
50
|
+
|
51
|
+
def _rescue_from_parse_symbol(arg)
|
52
|
+
return Liza::Error if arg == :error
|
53
|
+
|
54
|
+
Object.const_get(arg.to_s.camelcase)
|
55
|
+
rescue NameError => e
|
56
|
+
msg = "rescue_from parsed to #{arg.to_s.camelcase} which does not exist"
|
57
|
+
puts msg.red
|
58
|
+
raise e, msg, caller
|
59
|
+
end
|
60
|
+
|
61
|
+
def _rescue_from_parse_symbols(args)
|
62
|
+
namespace = Liza.const(args[0])
|
63
|
+
begin
|
64
|
+
namespace.const_get("#{args[1].to_s.camelcase}Error")
|
65
|
+
rescue NameError => e
|
66
|
+
msg = "rescue_from parsed to #{args[0].to_s.camelcase}::#{args[1].to_s.camelcase}Error which does not exist"
|
67
|
+
puts msg.red
|
68
|
+
raise e, msg, caller
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
#
|
73
|
+
|
74
|
+
def rescuers
|
75
|
+
@rescuers ||= []
|
76
|
+
end
|
77
|
+
|
78
|
+
#
|
79
|
+
|
80
|
+
def rescue_from_panel(exception, with: )
|
81
|
+
rescuer = _rescue_from_panel_find exception
|
82
|
+
raise exception.class, exception.message, caller[1..-1] unless rescuer
|
83
|
+
|
84
|
+
ret = nil
|
85
|
+
|
86
|
+
log :lower, "rescuer = #{rescuer.inspect}"
|
87
|
+
case with
|
88
|
+
when Array
|
89
|
+
with.push(rescuer)
|
90
|
+
rescuer[:args] = with
|
91
|
+
ret = rescuer.call
|
92
|
+
when Hash
|
93
|
+
with[:rescuer] = rescuer
|
94
|
+
rescuer[:env] = with
|
95
|
+
ret = rescuer.call
|
96
|
+
else
|
97
|
+
raise ArgumentError, "wrong argument type #{with.class} (expected Array or Hash)"
|
98
|
+
end
|
99
|
+
|
100
|
+
ret
|
101
|
+
end
|
102
|
+
|
103
|
+
def _rescue_from_panel_find(exception)
|
104
|
+
rescuer = rescuers.reverse.find { exception.class.ancestors.include? _1[:exception_class] }
|
105
|
+
log :lower, "rescuer = #{rescuer.inspect}"
|
106
|
+
return nil unless rescuer
|
107
|
+
rescuer = rescuer.dup
|
108
|
+
rescuer[:exception] = exception
|
109
|
+
rescuer
|
110
|
+
end
|
111
|
+
|
112
|
+
#
|
113
|
+
|
114
|
+
class Rescuer < Hash
|
115
|
+
def call
|
116
|
+
if self[:block]
|
117
|
+
self[:block].call self
|
118
|
+
elsif self[:env]
|
119
|
+
self[:with].call self[:env]
|
120
|
+
elsif self[:args]
|
121
|
+
self[:with].call self[:args]
|
122
|
+
else
|
123
|
+
raise "not expected"
|
124
|
+
end
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
128
|
+
end
|
129
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
class Liza::Box < Liza::Unit
|
2
|
+
|
3
|
+
def self.panels
|
4
|
+
fetch(:panels) { {} }
|
5
|
+
end
|
6
|
+
|
7
|
+
def self.[] symbol
|
8
|
+
panels[symbol].started
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.configure name, &block
|
12
|
+
raise ArgumentError, "block required" unless block_given?
|
13
|
+
raise ArgumentError, "Invalid panel: #{name}. Valid panels are: #{system.subs}" unless system.subs.include? name
|
14
|
+
|
15
|
+
panel = panels[name] ||= Liza.const("#{name}_panel").new name
|
16
|
+
panel.push block
|
17
|
+
end
|
18
|
+
|
19
|
+
# color
|
20
|
+
|
21
|
+
def self.color
|
22
|
+
system.color
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
class Liza::BoxTest < Liza::UnitTest
|
2
|
+
test :subject_class do
|
3
|
+
assert subject_class == Liza::Box
|
4
|
+
end
|
5
|
+
|
6
|
+
test_methods_defined do
|
7
|
+
on_self :[], :color, :configure, :panels, :puts
|
8
|
+
on_instance
|
9
|
+
end
|
10
|
+
|
11
|
+
def assert_sub name, controller_class, panel_class, kaller: caller
|
12
|
+
assert_equality subject_class[name].class, panel_class, kaller: kaller
|
13
|
+
assert_equality panel_class.controller, controller_class, kaller: kaller
|
14
|
+
end
|
15
|
+
|
16
|
+
test :settings do
|
17
|
+
assert_equality subject_class.log_level, 0
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
data/lib/liza/meta/part_test.rb
CHANGED
data/lib/liza/meta/system.rb
CHANGED
@@ -4,15 +4,58 @@ class Liza::System < Liza::Unit
|
|
4
4
|
const_get name.to_s.camelize
|
5
5
|
end
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
# Ignore this for now.
|
8
|
+
# This feature has been commented out for simplicity purposes.
|
9
|
+
# It injects code into other classes just like Part does. Lizarb connects them
|
10
|
+
|
11
|
+
# def self.insertion key, &block
|
12
|
+
# if block_given?
|
13
|
+
# registrar[:"insertion_#{key}"] = block
|
14
|
+
# else
|
15
|
+
# registrar[:"insertion_#{key}"]
|
16
|
+
# end
|
17
|
+
# end
|
18
|
+
|
19
|
+
# def self.registrar
|
20
|
+
# @registrar ||= {}
|
21
|
+
# end
|
22
|
+
|
23
|
+
#
|
24
|
+
|
25
|
+
def self.subs
|
26
|
+
@subs ||= []
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.subsystems
|
30
|
+
@subsystems ||= subs.map { const _1 }
|
31
|
+
end
|
32
|
+
|
33
|
+
def self.sub name
|
34
|
+
subs << name
|
35
|
+
end
|
36
|
+
|
37
|
+
def self.token
|
38
|
+
@token ||= name.gsub(/System$/, '').snakecase.to_sym
|
39
|
+
end
|
40
|
+
|
41
|
+
def self.box
|
42
|
+
@box ||= self.const_get "#{token}_box".camelize
|
43
|
+
end
|
44
|
+
|
45
|
+
# SYSTEM
|
46
|
+
|
47
|
+
def self.system
|
48
|
+
self
|
49
|
+
end
|
50
|
+
|
51
|
+
# COLOR
|
52
|
+
|
53
|
+
def self.color color = nil
|
54
|
+
if color
|
55
|
+
@color = color
|
10
56
|
else
|
11
|
-
|
57
|
+
@color
|
12
58
|
end
|
13
59
|
end
|
14
60
|
|
15
|
-
def self.registrar
|
16
|
-
@registrar ||= {}
|
17
|
-
end
|
18
61
|
end
|
@@ -3,9 +3,13 @@ class Liza::SystemTest < Liza::UnitTest
|
|
3
3
|
assert subject_class == Liza::System
|
4
4
|
end
|
5
5
|
|
6
|
+
test_methods_defined do
|
7
|
+
on_self :box, :color, :const, :sub, :subs, :subsystems, :token
|
8
|
+
on_instance
|
9
|
+
end
|
10
|
+
|
6
11
|
test :settings do
|
7
|
-
|
8
|
-
assert subject_class.log_color == :white
|
12
|
+
assert_equality subject_class.log_level, 0
|
9
13
|
end
|
10
14
|
|
11
15
|
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
class Liza::AppTest < Liza::ObjectTest
|
2
|
+
|
3
|
+
test :subject_class do
|
4
|
+
assert_equality subject_class, App
|
5
|
+
end
|
6
|
+
|
7
|
+
test :cwd, :root do
|
8
|
+
# returns a Pathname
|
9
|
+
assert_equality App.root.class, Pathname
|
10
|
+
|
11
|
+
# returns a new object each time
|
12
|
+
refute_equality App.cwd.object_id, App.cwd.object_id
|
13
|
+
|
14
|
+
# returns the same object each time
|
15
|
+
assert_equality App.root.object_id, App.root.object_id
|
16
|
+
|
17
|
+
# the join method creates a new object
|
18
|
+
refute_equality App.root.object_id, App.root.join("lib").object_id
|
19
|
+
|
20
|
+
# matches the current working directory
|
21
|
+
assert_equality App.root, App.cwd
|
22
|
+
Dir.chdir "lib" do
|
23
|
+
refute_equality App.root, App.cwd
|
24
|
+
end
|
25
|
+
assert_equality App.root, App.cwd
|
26
|
+
end
|
27
|
+
|
28
|
+
test :path, :relative_path do
|
29
|
+
# returns a Pathname
|
30
|
+
assert_equality App.path.class, Pathname
|
31
|
+
assert_equality App.relative_path.class, Pathname
|
32
|
+
assert_equality App.relative_path, Pathname("app")
|
33
|
+
|
34
|
+
# App.path starts with App.root
|
35
|
+
assert App.path.to_s.start_with?(App.root.to_s)
|
36
|
+
assert App.path.to_s.end_with?("app")
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|