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/app/dev_box.rb
CHANGED
@@ -1,33 +1,67 @@
|
|
1
|
-
class DevBox <
|
1
|
+
class DevBox < DevSystem::DevBox
|
2
2
|
|
3
|
-
#
|
4
|
-
panel :bench do
|
5
|
-
# set :log_level, ENV["dev.bench.log_level"]
|
6
|
-
end
|
3
|
+
# Configure your bench panel
|
7
4
|
|
8
|
-
|
9
|
-
|
10
|
-
# set :log_level, ENV["dev.command.log_level"]
|
5
|
+
configure :bench do
|
6
|
+
#
|
11
7
|
end
|
12
8
|
|
13
|
-
#
|
14
|
-
|
15
|
-
|
9
|
+
# Configure your command panel
|
10
|
+
|
11
|
+
configure :command do
|
12
|
+
short :b, :bench
|
13
|
+
short :g, :generate
|
14
|
+
short :i, :irb
|
15
|
+
short :l, :log
|
16
|
+
short :p, :pry
|
17
|
+
short :s, :shell
|
18
|
+
short :t, :test
|
19
|
+
|
20
|
+
# rescue_from declarations are checked bottom to top
|
21
|
+
|
22
|
+
# rescue_from(Exception) { |rescuer| binding.irb } if $coding
|
23
|
+
# rescue_from(StandardError) { |rescuer| binding.irb } if $coding
|
24
|
+
|
25
|
+
# uncomment below to override default setting to call NotFoundCommand
|
26
|
+
# rescue_from(CommandPanel::NotFoundError) { |rescuer| binding.irb } if $coding
|
16
27
|
end
|
17
28
|
|
18
|
-
#
|
19
|
-
|
20
|
-
|
29
|
+
# Configure your generator panel
|
30
|
+
|
31
|
+
configure :generator do
|
32
|
+
# rescue_from declarations are checked bottom to top
|
33
|
+
|
34
|
+
# rescue_from(Exception) { |rescuer| binding.irb } if $coding
|
35
|
+
# rescue_from(StandardError) { |rescuer| binding.irb } if $coding
|
36
|
+
|
37
|
+
# uncomment below to override default setting to call NotFoundGenerator
|
38
|
+
# rescue_from(GeneratorPanel::NotFoundError) { |rescuer| binding.irb } if $coding
|
21
39
|
end
|
22
40
|
|
23
|
-
#
|
24
|
-
|
25
|
-
|
41
|
+
# Configure your log panel
|
42
|
+
|
43
|
+
configure :log do
|
44
|
+
# handlers
|
45
|
+
handler :output
|
46
|
+
|
47
|
+
# rescue_from declarations are checked bottom to top
|
48
|
+
|
49
|
+
# rescue_from(Exception) { |rescuer| binding.irb } if $coding
|
50
|
+
# rescue_from(StandardError) { |rescuer| binding.irb } if $coding
|
26
51
|
end
|
27
52
|
|
28
|
-
#
|
29
|
-
|
30
|
-
|
53
|
+
# Configure your shell panel
|
54
|
+
|
55
|
+
configure :shell do
|
56
|
+
# formatters
|
57
|
+
formatter :html
|
58
|
+
formatter :html, :xml
|
59
|
+
|
60
|
+
# converters
|
61
|
+
converter :html, :md
|
62
|
+
converter :html, :haml
|
63
|
+
converter :js, :coffee
|
64
|
+
converter :css, :scss
|
31
65
|
end
|
32
66
|
|
33
67
|
end
|
data/app/happy_box.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
-
class RedisDbTest <
|
1
|
+
class RedisDbTest < NetSystem::RedisDbTest
|
2
2
|
|
3
3
|
test :subject_class do
|
4
4
|
assert subject_class == RedisDb
|
5
5
|
assert RedisDb.current.class == RedisDb
|
6
|
-
assert
|
7
|
-
assert RedisDb.current ==
|
8
|
-
assert RedisDb.current.client ==
|
9
|
-
assert RedisDb.current.client.conn ==
|
6
|
+
assert NetSystem::RedisDb.current.class == RedisDb
|
7
|
+
assert RedisDb.current == NetSystem::RedisDb.current
|
8
|
+
assert RedisDb.current.client == NetSystem::RedisDb.current.client
|
9
|
+
assert RedisDb.current.client.conn == NetSystem::RedisDb.current.client.conn
|
10
10
|
end
|
11
11
|
|
12
12
|
end
|
@@ -1,12 +1,12 @@
|
|
1
|
-
class SqliteDbTest <
|
1
|
+
class SqliteDbTest < NetSystem::SqliteDbTest
|
2
2
|
|
3
3
|
test :subject_class do
|
4
4
|
assert subject_class == SqliteDb
|
5
5
|
# assert SqliteDb.current.class == SqliteDb
|
6
|
-
# assert
|
7
|
-
# assert SqliteDb.current ==
|
8
|
-
# assert SqliteDb.current.client ==
|
9
|
-
# assert SqliteDb.current.client.conn ==
|
6
|
+
# assert NetSystem::SqliteDb.current.class == SqliteDb
|
7
|
+
# assert SqliteDb.current == NetSystem::SqliteDb.current
|
8
|
+
# assert SqliteDb.current.client == NetSystem::SqliteDb.current.client
|
9
|
+
# assert SqliteDb.current.client.conn == NetSystem::SqliteDb.current.client.conn
|
10
10
|
end
|
11
11
|
|
12
12
|
end
|
data/app/net_box.rb
CHANGED
@@ -1,21 +1,44 @@
|
|
1
|
-
class NetBox <
|
1
|
+
class NetBox < NetSystem::NetBox
|
2
2
|
|
3
|
-
|
4
|
-
# Set up your client panel per the DSL in http://guides.lizarb.org/panels/client.html
|
3
|
+
# Configure your client panel
|
5
4
|
|
5
|
+
configure :client do
|
6
6
|
set :redis_url, "redis://localhost:6379/15"
|
7
|
-
set :
|
7
|
+
set :mongo_hash, host: "localhost",
|
8
|
+
port: 27017,
|
9
|
+
connect: :direct,
|
10
|
+
database: "app_1_#{App.mode}"
|
11
|
+
set :sqlite_path, "tmp/app.#{Time.now.to_i}.sqlite" if $coding
|
8
12
|
set :sqlite_path, "app.#{App.mode}.sqlite"
|
13
|
+
set :mysql_hash, host: "localhost",
|
14
|
+
port: 3306,
|
15
|
+
username: "root",
|
16
|
+
password: "123123123",
|
17
|
+
database: "app_1_#{App.mode}"
|
18
|
+
set :pgsql_hash, host: "localhost",
|
19
|
+
port: 5432,
|
20
|
+
user: "postgres",
|
21
|
+
password: "postgres",
|
22
|
+
dbname: "app_1_#{App.mode}"
|
9
23
|
|
10
24
|
end
|
11
25
|
|
12
|
-
|
13
|
-
# Set up your database panel per the DSL in http://guides.lizarb.org/panels/database.html
|
26
|
+
# Configure your database panel
|
14
27
|
|
28
|
+
configure :database do
|
15
29
|
define :redis, RedisDb
|
30
|
+
define :mongo, MongoDb
|
16
31
|
define :sql, SqliteDb
|
17
32
|
define :sqlite, SqliteDb
|
33
|
+
define :mysql, MysqlDb
|
34
|
+
define :pgsql, PgsqlDb
|
18
35
|
|
19
36
|
end
|
20
37
|
|
38
|
+
# Configure your record panel
|
39
|
+
|
40
|
+
configure :record do
|
41
|
+
|
42
|
+
end
|
43
|
+
|
21
44
|
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
class FooRequest < WebSystem::SimpleRequest
|
2
|
+
|
3
|
+
# GET /foo
|
4
|
+
|
5
|
+
def call_index
|
6
|
+
log "."
|
7
|
+
end
|
8
|
+
|
9
|
+
# POST /foo
|
10
|
+
|
11
|
+
def call_index!
|
12
|
+
log "."
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
16
|
+
|
17
|
+
__END__
|
18
|
+
|
19
|
+
# view index.html.erb
|
20
|
+
<h1><%= self.class %></h1>
|
21
|
+
<h2><%= action %></h2>
|
22
|
+
<p>request: <%= request %></p>
|
23
|
+
<p>action: <%= action %></p>
|
24
|
+
<p>format: <%= format %></p>
|
25
|
+
<p>qs: <%= qs %></p>
|
26
|
+
<p>segments: <%= segments %></p>
|
data/app/web_box.rb
CHANGED
@@ -1,16 +1,24 @@
|
|
1
|
-
class WebBox <
|
1
|
+
class WebBox < WebSystem::WebBox
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
#
|
7
|
-
#
|
8
|
-
#
|
3
|
+
# Configure your rack panel
|
4
|
+
|
5
|
+
configure :rack do
|
6
|
+
# server (pick one, check gemfile)
|
7
|
+
# server :agoo
|
8
|
+
# server :falcon
|
9
|
+
# server :iodine
|
10
|
+
server :puma
|
11
|
+
# server :thin
|
12
|
+
|
13
|
+
set :files, App.root.join("web_files")
|
14
|
+
set :host, "localhost"
|
15
|
+
set :port, 3000
|
9
16
|
end
|
10
17
|
|
11
|
-
|
12
|
-
# Set up your request panel per the DSL in http://guides.lizarb.org/panels/request.html
|
18
|
+
# Configure your request panel
|
13
19
|
|
20
|
+
configure :request do
|
21
|
+
router :simple
|
14
22
|
end
|
15
23
|
|
16
24
|
end
|
data/app.rb
CHANGED
@@ -1,17 +1,48 @@
|
|
1
|
-
|
1
|
+
# ENV["VERBOSE"] ||= "1"
|
2
2
|
|
3
|
+
class App
|
4
|
+
|
5
|
+
# Choose your Application Directory
|
6
|
+
|
7
|
+
folder "app"
|
8
|
+
|
9
|
+
# Choose your level of log opacity
|
10
|
+
|
11
|
+
# log_boot :highest
|
12
|
+
# log_boot :higher
|
13
|
+
# log_boot :high
|
14
|
+
# log_boot :normal # default
|
15
|
+
# log_boot :low
|
16
|
+
# log_boot :lower
|
17
|
+
# log_boot :lowest
|
18
|
+
|
19
|
+
# Choose your level of log opacity
|
20
|
+
|
21
|
+
# log_level :highest
|
22
|
+
# log_level :higher
|
23
|
+
# log_level :high
|
24
|
+
# log_level :normal # default
|
25
|
+
# log_level :low
|
26
|
+
# log_level :lower
|
27
|
+
# log_level :lowest
|
28
|
+
|
29
|
+
# Your mode is where you get global environment variables from
|
30
|
+
|
31
|
+
# mode :code # default
|
32
|
+
# mode :demo
|
33
|
+
|
3
34
|
# Systems help you organize your application's dependencies and RAM memory usage.
|
4
|
-
# Learn more: http://guides.lizarb.org/systems.html
|
5
35
|
|
6
|
-
system :dev
|
7
|
-
system :happy
|
36
|
+
system :dev # default
|
37
|
+
system :happy if coding?
|
8
38
|
system :net
|
9
39
|
system :web
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
40
|
+
system :work
|
41
|
+
system :micro
|
42
|
+
system :desk
|
43
|
+
system :crypto
|
44
|
+
system :art
|
45
|
+
system :deep
|
46
|
+
system :lab
|
16
47
|
|
17
48
|
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
GEM
|
2
|
+
remote: https://rubygems.org/
|
3
|
+
specs:
|
4
|
+
coderay (1.1.3)
|
5
|
+
colorize (0.8.1)
|
6
|
+
diff-lcs (1.5.0)
|
7
|
+
dotenv (2.8.1)
|
8
|
+
lizarb (1.0.5)
|
9
|
+
colorize (~> 0.8)
|
10
|
+
diff-lcs (~> 1.5)
|
11
|
+
dotenv (~> 2.8)
|
12
|
+
pry (~> 0.14.2)
|
13
|
+
tty-prompt (~> 0.23.1)
|
14
|
+
zeitwerk (~> 2.6)
|
15
|
+
method_source (1.0.0)
|
16
|
+
pastel (0.8.0)
|
17
|
+
tty-color (~> 0.5)
|
18
|
+
pry (0.14.2)
|
19
|
+
coderay (~> 1.1)
|
20
|
+
method_source (~> 1.0)
|
21
|
+
tty-color (0.6.0)
|
22
|
+
tty-cursor (0.7.1)
|
23
|
+
tty-prompt (0.23.1)
|
24
|
+
pastel (~> 0.8)
|
25
|
+
tty-reader (~> 0.8)
|
26
|
+
tty-reader (0.9.0)
|
27
|
+
tty-cursor (~> 0.7)
|
28
|
+
tty-screen (~> 0.8)
|
29
|
+
wisper (~> 2.0)
|
30
|
+
tty-screen (0.8.1)
|
31
|
+
wisper (2.0.1)
|
32
|
+
zeitwerk (2.6.12)
|
33
|
+
|
34
|
+
PLATFORMS
|
35
|
+
x86_64-linux
|
36
|
+
|
37
|
+
DEPENDENCIES
|
38
|
+
lizarb (~> 1.0)
|
39
|
+
|
40
|
+
BUNDLED WITH
|
41
|
+
2.3.22
|
data/app_global.rb
ADDED
@@ -1,8 +1,13 @@
|
|
1
|
-
class LoopsBench <
|
2
|
-
|
1
|
+
class LoopsBench < SortedBench
|
2
|
+
|
3
|
+
repetitions 100
|
4
|
+
# repetitions 1_000
|
5
|
+
# repetitions 10_000
|
3
6
|
|
4
7
|
setup do
|
5
|
-
|
8
|
+
log "repetitions: #{repetitions}"
|
9
|
+
|
10
|
+
N = 1_000
|
6
11
|
RANGE = 1..N
|
7
12
|
ARRAY = Array RANGE
|
8
13
|
HASH_INT = RANGE.map { |i| [i, i] }.to_h
|
@@ -10,6 +15,8 @@ class LoopsBench < AppBench
|
|
10
15
|
HASH_SYM = RANGE.map { |i| [:"a#{i}", i] }.to_h
|
11
16
|
end
|
12
17
|
|
18
|
+
#
|
19
|
+
|
13
20
|
mark "for i in RANGE" do
|
14
21
|
for i in RANGE
|
15
22
|
a = "1"
|
@@ -141,6 +148,7 @@ class LoopsBench < AppBench
|
|
141
148
|
# end
|
142
149
|
end
|
143
150
|
|
151
|
+
|
144
152
|
mark "loop break" do
|
145
153
|
i = 0
|
146
154
|
|
@@ -0,0 +1,48 @@
|
|
1
|
+
class ObjectsBench < SortedBench
|
2
|
+
|
3
|
+
repetitions 1_000_000
|
4
|
+
# repetitions 10_000_000
|
5
|
+
# repetitions 100_000_000
|
6
|
+
|
7
|
+
setup do
|
8
|
+
log "repetitions: #{repetitions}"
|
9
|
+
end
|
10
|
+
#
|
11
|
+
|
12
|
+
mark "BasicObject.new" do
|
13
|
+
BasicObject.new
|
14
|
+
end
|
15
|
+
|
16
|
+
mark "Object.new" do
|
17
|
+
Object.new
|
18
|
+
end
|
19
|
+
|
20
|
+
mark "String.new" do
|
21
|
+
String.new
|
22
|
+
end
|
23
|
+
|
24
|
+
mark "Numeric.new" do
|
25
|
+
Numeric.new
|
26
|
+
end
|
27
|
+
|
28
|
+
mark "Time.new" do
|
29
|
+
Time.new
|
30
|
+
end
|
31
|
+
|
32
|
+
mark "Proc.new {}" do
|
33
|
+
Proc.new {}
|
34
|
+
end
|
35
|
+
|
36
|
+
mark "Set.new" do
|
37
|
+
Set.new
|
38
|
+
end
|
39
|
+
|
40
|
+
mark "Array.new" do
|
41
|
+
Array.new
|
42
|
+
end
|
43
|
+
|
44
|
+
mark "Hash.new" do
|
45
|
+
Hash.new
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
class SortedBench < DevSystem::Bench
|
2
|
+
|
3
|
+
def self.call args
|
4
|
+
t = Time.now
|
5
|
+
|
6
|
+
log "args = #{args.inspect}"
|
7
|
+
|
8
|
+
# https://rubyapi.org/3.1/o/benchmark
|
9
|
+
require "benchmark"
|
10
|
+
|
11
|
+
log stick system.color, :b, (" MEASURE, DO NOT GUESS ".center 80, "-")
|
12
|
+
log "repetitions #{repetitions}"
|
13
|
+
|
14
|
+
if @setup_bl
|
15
|
+
log "Setting up..."
|
16
|
+
@setup_bl.call
|
17
|
+
end
|
18
|
+
|
19
|
+
log "Benchmarking #{marks.count} Ruby Blocks"
|
20
|
+
puts
|
21
|
+
|
22
|
+
length = marks.keys.map(&:length).max || 0
|
23
|
+
|
24
|
+
marks.each do |label, bl|
|
25
|
+
log "Benchmarking #{label}"
|
26
|
+
marks[label] = Benchmark.measure label do
|
27
|
+
i = 0
|
28
|
+
bl.call while (i += 1) <= repetitions
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
puts
|
33
|
+
|
34
|
+
log "#{"Reporting".ljust_blanks(length + 17)} App CPU Time Kernel CPU Time Total CPU Time"
|
35
|
+
puts
|
36
|
+
|
37
|
+
sorted = marks.sort_by { |_k, tms| tms.total }.to_h
|
38
|
+
|
39
|
+
sorted.each.with_index do |(label, tms), i|
|
40
|
+
tms = tms.format "%10.6u %10.6y %10.6t"
|
41
|
+
s = "[#{i.next.to_s.rjust_zeroes 2}/#{marks.count.to_s.rjust_zeroes 2}] #{label.rjust_blanks length} #{tms}"
|
42
|
+
|
43
|
+
s = s.green if i == 0
|
44
|
+
s = s.red if i == marks.count-1
|
45
|
+
log s
|
46
|
+
end
|
47
|
+
puts
|
48
|
+
ensure
|
49
|
+
log "#{t.diff}s | #{marks.count} marks | #{repetitions} repetitions"
|
50
|
+
end
|
51
|
+
|
52
|
+
#
|
53
|
+
|
54
|
+
def self.repetitions n = nil
|
55
|
+
if n
|
56
|
+
@repetitions = n
|
57
|
+
else
|
58
|
+
@repetitions ||= 1
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
#
|
63
|
+
|
64
|
+
def self.setup &block
|
65
|
+
@setup_bl = block if block_given?
|
66
|
+
end
|
67
|
+
|
68
|
+
#
|
69
|
+
|
70
|
+
def self.marks()= @marks ||= {}
|
71
|
+
|
72
|
+
def self.mark(label, &block)= marks[label] = block
|
73
|
+
|
74
|
+
end
|