vedeu 0.8.0 → 0.8.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/.yardopts +0 -1
- data/README.md +1 -4
- data/docs/api.md +0 -8
- data/docs/borders.md +4 -0
- data/docs/dsl/borders.md +37 -0
- data/docs/dsl/by_method/add_command.md +0 -0
- data/docs/dsl/by_method/add_keypress.md +0 -0
- data/docs/dsl/by_method/all_commands.md +0 -0
- data/docs/dsl/by_method/all_keypresses.md +0 -0
- data/docs/dsl/by_method/background_colours.md +3 -0
- data/docs/dsl/by_method/bind.md +0 -0
- data/docs/dsl/by_method/bind_alias.md +0 -0
- data/docs/dsl/by_method/border.md +7 -0
- data/docs/dsl/by_method/borders.md +0 -0
- data/docs/dsl/by_method/bottom.md +10 -0
- data/docs/dsl/by_method/bottom_horizontal.md +8 -0
- data/docs/dsl/by_method/bottom_left.md +8 -0
- data/docs/dsl/by_method/bottom_right.md +8 -0
- data/docs/dsl/by_method/bound.md +0 -0
- data/docs/dsl/by_method/buffer_update.md +0 -0
- data/docs/dsl/by_method/buffer_write.md +0 -0
- data/docs/dsl/by_method/buffers.md +0 -0
- data/docs/dsl/by_method/caption.md +11 -0
- data/docs/dsl/by_method/clear.md +7 -0
- data/docs/dsl/by_method/clear_by_group.md +0 -0
- data/docs/dsl/by_method/clear_by_name.md +0 -0
- data/docs/dsl/by_method/clear_content_by_name.md +0 -0
- data/docs/dsl/by_method/clock_time.md +0 -0
- data/docs/dsl/by_method/configuration.md +5 -0
- data/docs/dsl/by_method/configure.md +6 -0
- data/docs/dsl/by_method/cursor.md +0 -0
- data/docs/dsl/by_method/cursors.md +0 -0
- data/docs/dsl/by_method/debug.md +4 -0
- data/docs/dsl/by_method/direct_write.md +0 -0
- data/docs/dsl/by_method/disable.md +14 -0
- data/docs/dsl/by_method/documents.md +0 -0
- data/docs/dsl/by_method/drb_restart.md +0 -0
- data/docs/dsl/by_method/drb_start.md +0 -0
- data/docs/dsl/by_method/drb_status.md +0 -0
- data/docs/dsl/by_method/drb_stop.md +0 -0
- data/docs/dsl/by_method/enable.md +14 -0
- data/docs/dsl/by_method/events.md +0 -0
- data/docs/dsl/by_method/exit.md +0 -0
- data/docs/dsl/by_method/focus.md +0 -0
- data/docs/dsl/by_method/focus_by_name.md +0 -0
- data/docs/dsl/by_method/focus_next.md +0 -0
- data/docs/dsl/by_method/focus_previous.md +0 -0
- data/docs/dsl/by_method/focussed.md +0 -0
- data/docs/dsl/by_method/foreground_colours.md +3 -0
- data/docs/dsl/by_method/geometries.md +0 -0
- data/docs/dsl/by_method/geometry.md +0 -0
- data/docs/dsl/by_method/goto.md +6 -0
- data/docs/dsl/by_method/group.md +0 -0
- data/docs/dsl/by_method/groups.md +0 -0
- data/docs/dsl/by_method/height.md +7 -0
- data/docs/dsl/by_method/hide_cursor.md +0 -0
- data/docs/dsl/by_method/hide_group.md +0 -0
- data/docs/dsl/by_method/hide_interface.md +0 -0
- data/docs/dsl/by_method/horizontal.md +6 -0
- data/docs/dsl/by_method/interface.md +0 -0
- data/docs/dsl/by_method/interfaces.md +0 -0
- data/docs/dsl/by_method/keymap.md +0 -0
- data/docs/dsl/by_method/keymaps.md +0 -0
- data/docs/dsl/by_method/keypress.md +0 -0
- data/docs/dsl/by_method/last_command.md +0 -0
- data/docs/dsl/by_method/last_keypress.md +0 -0
- data/docs/dsl/by_method/left.md +10 -0
- data/docs/dsl/by_method/left_vertical.md +8 -0
- data/docs/dsl/by_method/log.md +0 -0
- data/docs/dsl/by_method/log_stderr.md +0 -0
- data/docs/dsl/by_method/log_stdout.md +0 -0
- data/docs/dsl/by_method/log_timestamp.md +0 -0
- data/docs/dsl/by_method/menu.md +0 -0
- data/docs/dsl/by_method/menus.md +0 -0
- data/docs/dsl/by_method/profile.md +6 -0
- data/docs/dsl/by_method/read.md +0 -0
- data/docs/dsl/by_method/ready.md +0 -0
- data/docs/dsl/by_method/refresh.md +3 -0
- data/docs/dsl/by_method/render.md +0 -0
- data/docs/dsl/by_method/render_output.md +0 -0
- data/docs/dsl/by_method/renderer.md +0 -0
- data/docs/dsl/by_method/renderers.md +0 -0
- data/docs/dsl/by_method/renders.md +0 -0
- data/docs/dsl/by_method/resize.md +5 -0
- data/docs/dsl/by_method/right.md +10 -0
- data/docs/dsl/by_method/right_vertical.md +8 -0
- data/docs/dsl/by_method/show_cursor.md +0 -0
- data/docs/dsl/by_method/show_group.md +0 -0
- data/docs/dsl/by_method/show_interface.md +0 -0
- data/docs/dsl/by_method/timer.md +12 -0
- data/docs/dsl/by_method/title.md +12 -0
- data/docs/dsl/by_method/toggle_cursor.md +0 -0
- data/docs/dsl/by_method/toggle_group.md +0 -0
- data/docs/dsl/by_method/toggle_interface.md +0 -0
- data/docs/dsl/by_method/top.md +10 -0
- data/docs/dsl/by_method/top_horizontal.md +8 -0
- data/docs/dsl/by_method/top_left.md +8 -0
- data/docs/dsl/by_method/top_right.md +8 -0
- data/docs/dsl/by_method/trigger.md +0 -0
- data/docs/dsl/by_method/unbind.md +0 -0
- data/docs/dsl/by_method/unbind_alias.md +0 -0
- data/docs/dsl/by_method/vertical.md +7 -0
- data/docs/dsl/by_method/views.md +0 -0
- data/docs/dsl/by_method/width.md +7 -0
- data/docs/dsl/by_method/write.md +0 -0
- data/examples/284_slow_rendering.rb +6 -3
- data/examples/dsl_alignment.rb +16 -14
- data/examples/dsl_colours.rb +17 -14
- data/examples/dsl_demo_groups.rb +3 -0
- data/examples/dsl_editor.rb +13 -10
- data/examples/dsl_hello_worlds.rb +2 -0
- data/examples/dsl_horizontal_alignment.rb +14 -27
- data/examples/dsl_menus.rb +2 -0
- data/examples/dsl_vertical_alignment.rb +35 -27
- data/examples/views/empty_template.rb +3 -1
- data/examples/views/full_screen.rb +100 -0
- data/examples/views/line.rb +5 -2
- data/examples/views/lines.rb +5 -2
- data/examples/views/lines_alignment.rb +5 -2
- data/examples/views/lines_line_stream.rb +14 -18
- data/examples/views/lines_line_streams.rb +5 -3
- data/examples/views/lines_line_streams_stream.rb +16 -21
- data/examples/views/lines_line_streams_stream_stream.rb +5 -8
- data/examples/views/lines_streams.rb +5 -7
- data/examples/views/lines_streams_stream.rb +5 -8
- data/lib/vedeu.rb +16 -0
- data/lib/vedeu/all.rb +11 -8
- data/lib/vedeu/application/application_controller.rb +2 -0
- data/lib/vedeu/application/application_helper.rb +2 -0
- data/lib/vedeu/application/application_view.rb +4 -2
- data/lib/vedeu/application/controller.rb +2 -0
- data/lib/vedeu/application/helper.rb +2 -0
- data/lib/vedeu/application/view.rb +2 -0
- data/lib/vedeu/boolean.rb +2 -0
- data/lib/vedeu/borders/all.rb +2 -1
- data/lib/vedeu/borders/border.rb +5 -3
- data/lib/vedeu/borders/caption.rb +2 -0
- data/lib/vedeu/borders/dsl.rb +37 -160
- data/lib/vedeu/borders/refresh.rb +3 -1
- data/lib/vedeu/borders/repository.rb +8 -2
- data/lib/vedeu/borders/title.rb +3 -1
- data/lib/vedeu/buffers/all.rb +2 -0
- data/lib/vedeu/buffers/buffer.rb +4 -2
- data/lib/vedeu/buffers/empty.rb +2 -0
- data/lib/vedeu/buffers/null.rb +2 -0
- data/lib/vedeu/buffers/refresh.rb +2 -0
- data/lib/vedeu/buffers/repository.rb +2 -0
- data/lib/vedeu/buffers/terminal.rb +6 -14
- data/lib/vedeu/buffers/view.rb +2 -0
- data/lib/vedeu/cells/all.rb +2 -0
- data/lib/vedeu/cells/border.rb +2 -0
- data/lib/vedeu/cells/borders/all.rb +2 -0
- data/lib/vedeu/cells/borders/bottom_horizontal.rb +2 -0
- data/lib/vedeu/cells/borders/bottom_left.rb +2 -0
- data/lib/vedeu/cells/borders/bottom_right.rb +2 -0
- data/lib/vedeu/cells/borders/corner.rb +2 -0
- data/lib/vedeu/cells/borders/horizontal.rb +2 -0
- data/lib/vedeu/cells/borders/left_vertical.rb +2 -0
- data/lib/vedeu/cells/borders/right_vertical.rb +2 -0
- data/lib/vedeu/cells/borders/top_horizontal.rb +2 -0
- data/lib/vedeu/cells/borders/top_left.rb +2 -0
- data/lib/vedeu/cells/borders/top_right.rb +2 -0
- data/lib/vedeu/cells/borders/vertical.rb +2 -0
- data/lib/vedeu/cells/char.rb +2 -0
- data/lib/vedeu/cells/clear.rb +3 -1
- data/lib/vedeu/cells/empty.rb +6 -4
- data/lib/vedeu/cells/escape.rb +4 -2
- data/lib/vedeu/cells/html.rb +2 -0
- data/lib/vedeu/cells/json.rb +2 -0
- data/lib/vedeu/coercers/alignment.rb +2 -0
- data/lib/vedeu/coercers/all.rb +2 -0
- data/lib/vedeu/coercers/colour.rb +3 -1
- data/lib/vedeu/coercers/colour_attributes.rb +2 -0
- data/lib/vedeu/coercers/horizontal_alignment.rb +2 -0
- data/lib/vedeu/coercers/vertical_alignment.rb +2 -0
- data/lib/vedeu/colours/all.rb +2 -0
- data/lib/vedeu/colours/background.rb +3 -1
- data/lib/vedeu/colours/backgrounds.rb +3 -5
- data/lib/vedeu/colours/colour.rb +2 -0
- data/lib/vedeu/colours/foreground.rb +3 -1
- data/lib/vedeu/colours/foregrounds.rb +3 -5
- data/lib/vedeu/colours/repository.rb +2 -0
- data/lib/vedeu/colours/translator.rb +5 -3
- data/lib/vedeu/colours/validator.rb +3 -1
- data/lib/vedeu/common.rb +17 -8
- data/lib/vedeu/configuration/all.rb +4 -2
- data/lib/vedeu/configuration/api.rb +5 -15
- data/lib/vedeu/configuration/configuration.rb +14 -27
- data/lib/vedeu/cursors/all.rb +2 -0
- data/lib/vedeu/cursors/coordinate.rb +4 -2
- data/lib/vedeu/cursors/cursor.rb +7 -5
- data/lib/vedeu/cursors/dsl.rb +2 -0
- data/lib/vedeu/cursors/move.rb +2 -0
- data/lib/vedeu/cursors/refresh.rb +3 -1
- data/lib/vedeu/cursors/reposition.rb +2 -0
- data/lib/vedeu/cursors/repository.rb +2 -0
- data/lib/vedeu/distributed/all.rb +2 -0
- data/lib/vedeu/distributed/client.rb +5 -3
- data/lib/vedeu/distributed/server.rb +17 -15
- data/lib/vedeu/distributed/subprocess.rb +4 -2
- data/lib/vedeu/distributed/test_application.rb +2 -0
- data/lib/vedeu/distributed/uri.rb +3 -1
- data/lib/vedeu/dsl/all.rb +2 -0
- data/lib/vedeu/dsl/attributes.rb +7 -5
- data/lib/vedeu/dsl/border.rb +2 -0
- data/lib/vedeu/dsl/cursors.rb +2 -0
- data/lib/vedeu/dsl/dsl.rb +3 -1
- data/lib/vedeu/dsl/elements.rb +14 -8
- data/lib/vedeu/dsl/geometry.rb +2 -0
- data/lib/vedeu/dsl/presentation.rb +2 -0
- data/lib/vedeu/dsl/string/align.rb +2 -0
- data/lib/vedeu/dsl/string/all.rb +2 -0
- data/lib/vedeu/dsl/string/text.rb +2 -0
- data/lib/vedeu/dsl/string/truncate.rb +2 -0
- data/lib/vedeu/dsl/string/wordwrap.rb +3 -1
- data/lib/vedeu/dsl/use.rb +2 -0
- data/lib/vedeu/dsl/view.rb +5 -3
- data/lib/vedeu/dsl/views.rb +4 -2
- data/lib/vedeu/editor/all.rb +2 -0
- data/lib/vedeu/editor/collection.rb +2 -0
- data/lib/vedeu/editor/cropper.rb +3 -1
- data/lib/vedeu/editor/cursor.rb +4 -2
- data/lib/vedeu/editor/delete.rb +2 -0
- data/lib/vedeu/editor/document.rb +3 -1
- data/lib/vedeu/editor/editor.rb +2 -0
- data/lib/vedeu/editor/insert.rb +16 -6
- data/lib/vedeu/editor/item.rb +2 -0
- data/lib/vedeu/editor/line.rb +2 -0
- data/lib/vedeu/editor/lines.rb +2 -0
- data/lib/vedeu/editor/repository.rb +2 -0
- data/lib/vedeu/error.rb +9 -4
- data/lib/vedeu/esc/actions.rb +17 -15
- data/lib/vedeu/esc/all.rb +2 -0
- data/lib/vedeu/esc/background.rb +36 -34
- data/lib/vedeu/esc/borders.rb +14 -12
- data/lib/vedeu/esc/colours.rb +12 -8
- data/lib/vedeu/esc/esc.rb +16 -14
- data/lib/vedeu/esc/foreground.rb +36 -34
- data/lib/vedeu/esc/mouse.rb +6 -4
- data/lib/vedeu/events/aliases.rb +3 -1
- data/lib/vedeu/events/all.rb +2 -0
- data/lib/vedeu/events/collection.rb +2 -0
- data/lib/vedeu/events/event.rb +21 -9
- data/lib/vedeu/events/repository.rb +2 -0
- data/lib/vedeu/events/trigger.rb +3 -1
- data/lib/vedeu/geometries/all.rb +2 -0
- data/lib/vedeu/geometries/area/all.rb +2 -0
- data/lib/vedeu/geometries/area/area.rb +46 -18
- data/lib/vedeu/geometries/area/dimension.rb +7 -0
- data/lib/vedeu/geometries/area/x_dimension.rb +2 -0
- data/lib/vedeu/geometries/area/y_dimension.rb +2 -0
- data/lib/vedeu/geometries/dsl/all.rb +2 -0
- data/lib/vedeu/geometries/dsl/dsl.rb +2 -0
- data/lib/vedeu/geometries/dsl/grid.rb +2 -0
- data/lib/vedeu/geometries/dsl/validator.rb +6 -4
- data/lib/vedeu/geometries/geometry.rb +4 -2
- data/lib/vedeu/geometries/move.rb +3 -1
- data/lib/vedeu/geometries/position.rb +4 -2
- data/lib/vedeu/geometries/positionable.rb +2 -0
- data/lib/vedeu/geometries/repository.rb +2 -0
- data/lib/vedeu/groups/all.rb +2 -0
- data/lib/vedeu/groups/clear.rb +2 -0
- data/lib/vedeu/groups/dsl.rb +3 -1
- data/lib/vedeu/groups/group.rb +3 -1
- data/lib/vedeu/groups/refresh.rb +4 -2
- data/lib/vedeu/groups/repository.rb +2 -0
- data/lib/vedeu/input/all.rb +2 -0
- data/lib/vedeu/input/capture.rb +4 -2
- data/lib/vedeu/input/dsl.rb +8 -6
- data/lib/vedeu/input/key.rb +3 -1
- data/lib/vedeu/input/keymap.rb +5 -3
- data/lib/vedeu/input/keys.rb +2 -0
- data/lib/vedeu/input/mapper.rb +7 -5
- data/lib/vedeu/input/mouse.rb +4 -2
- data/lib/vedeu/input/raw.rb +2 -0
- data/lib/vedeu/input/read.rb +3 -1
- data/lib/vedeu/input/repository.rb +2 -0
- data/lib/vedeu/input/store.rb +2 -0
- data/lib/vedeu/input/translator.rb +3 -1
- data/lib/vedeu/interfaces/all.rb +2 -0
- data/lib/vedeu/interfaces/clear.rb +7 -5
- data/lib/vedeu/interfaces/dsl.rb +4 -2
- data/lib/vedeu/interfaces/interface.rb +4 -2
- data/lib/vedeu/interfaces/null.rb +2 -0
- data/lib/vedeu/interfaces/repository.rb +2 -0
- data/lib/vedeu/logging/all.rb +2 -1
- data/lib/vedeu/logging/clock_time.rb +2 -0
- data/lib/vedeu/logging/debug.rb +32 -44
- data/lib/vedeu/logging/lockless_log_device.rb +3 -1
- data/lib/vedeu/logging/log.rb +13 -39
- data/lib/vedeu/logging/mono_logger.rb +3 -1
- data/lib/vedeu/logging/timer.rb +7 -19
- data/lib/vedeu/menus/all.rb +2 -0
- data/lib/vedeu/menus/dsl.rb +2 -0
- data/lib/vedeu/menus/menu.rb +3 -1
- data/lib/vedeu/menus/repository.rb +2 -0
- data/lib/vedeu/models/all.rb +2 -0
- data/lib/vedeu/models/focus.rb +7 -5
- data/lib/vedeu/models/page.rb +3 -1
- data/lib/vedeu/models/row.rb +2 -0
- data/lib/vedeu/models/toggleable.rb +2 -0
- data/lib/vedeu/null/all.rb +2 -0
- data/lib/vedeu/null/generic.rb +2 -0
- data/lib/vedeu/output/all.rb +2 -0
- data/lib/vedeu/output/compressor.rb +9 -7
- data/lib/vedeu/output/compressor_cache.rb +3 -1
- data/lib/vedeu/output/output.rb +2 -0
- data/lib/vedeu/output/refresh.rb +3 -1
- data/lib/vedeu/output/viewport.rb +4 -2
- data/lib/vedeu/output/write.rb +2 -0
- data/lib/vedeu/plugins/plugin.rb +5 -3
- data/lib/vedeu/plugins/plugins.rb +5 -3
- data/lib/vedeu/presentation/all.rb +2 -0
- data/lib/vedeu/presentation/background.rb +2 -0
- data/lib/vedeu/presentation/colour.rb +2 -0
- data/lib/vedeu/presentation/foreground.rb +2 -0
- data/lib/vedeu/presentation/presentation.rb +4 -2
- data/lib/vedeu/presentation/style.rb +2 -0
- data/lib/vedeu/presentation/styles.rb +2 -0
- data/lib/vedeu/renderers/all.rb +10 -22
- data/lib/vedeu/renderers/file.rb +4 -2
- data/lib/vedeu/renderers/html.rb +19 -19
- data/lib/vedeu/renderers/json.rb +2 -0
- data/lib/vedeu/renderers/options.rb +2 -0
- data/lib/vedeu/renderers/terminal.rb +2 -0
- data/lib/vedeu/renderers/text.rb +2 -0
- data/lib/vedeu/repositories/all.rb +2 -0
- data/lib/vedeu/repositories/assemblage.rb +2 -0
- data/lib/vedeu/repositories/collection.rb +2 -0
- data/lib/vedeu/repositories/defaults.rb +2 -0
- data/lib/vedeu/repositories/model.rb +3 -1
- data/lib/vedeu/repositories/parent.rb +2 -0
- data/lib/vedeu/repositories/registerable.rb +2 -0
- data/lib/vedeu/repositories/repositories.rb +3 -1
- data/lib/vedeu/repositories/repository.rb +8 -6
- data/lib/vedeu/repositories/store.rb +3 -1
- data/lib/vedeu/runtime/all.rb +2 -0
- data/lib/vedeu/runtime/application.rb +2 -0
- data/lib/vedeu/runtime/bootstrap.rb +10 -8
- data/lib/vedeu/runtime/flags.rb +2 -0
- data/lib/vedeu/runtime/launcher.rb +5 -3
- data/lib/vedeu/runtime/main_loop.rb +3 -1
- data/lib/vedeu/runtime/router.rb +11 -14
- data/lib/vedeu/runtime/traps.rb +2 -0
- data/lib/vedeu/templating/all.rb +2 -0
- data/lib/vedeu/templating/decoder.rb +2 -0
- data/lib/vedeu/templating/encoder.rb +3 -1
- data/lib/vedeu/templating/helpers.rb +5 -3
- data/lib/vedeu/templating/template.rb +4 -2
- data/lib/vedeu/templating/view_template.rb +2 -0
- data/lib/vedeu/terminal/all.rb +2 -0
- data/lib/vedeu/terminal/mode.rb +2 -0
- data/lib/vedeu/terminal/terminal.rb +9 -34
- data/lib/vedeu/version.rb +3 -1
- data/lib/vedeu/views/all.rb +2 -0
- data/lib/vedeu/views/char.rb +5 -7
- data/lib/vedeu/views/chars.rb +3 -1
- data/lib/vedeu/views/composition.rb +2 -0
- data/lib/vedeu/views/default_attributes.rb +4 -2
- data/lib/vedeu/views/html_char.rb +18 -15
- data/lib/vedeu/views/line.rb +2 -0
- data/lib/vedeu/views/lines.rb +3 -1
- data/lib/vedeu/views/stream.rb +2 -0
- data/lib/vedeu/views/streams.rb +3 -1
- data/lib/vedeu/views/value.rb +2 -0
- data/lib/vedeu/views/view.rb +4 -3
- data/lib/vedeu/views/views.rb +2 -0
- data/test/lib/vedeu/application/application_controller_test.rb +2 -0
- data/test/lib/vedeu/application/application_helper_test.rb +2 -0
- data/test/lib/vedeu/application/application_view_test.rb +2 -0
- data/test/lib/vedeu/application/controller_test.rb +2 -0
- data/test/lib/vedeu/application/helper_test.rb +2 -0
- data/test/lib/vedeu/application/view_test.rb +2 -0
- data/test/lib/vedeu/boolean_test.rb +2 -0
- data/test/lib/vedeu/borders/border_test.rb +2 -0
- data/test/lib/vedeu/borders/caption_test.rb +2 -0
- data/test/lib/vedeu/borders/dsl_test.rb +6 -0
- data/test/lib/vedeu/borders/refresh_test.rb +2 -0
- data/test/lib/vedeu/borders/repository_test.rb +2 -0
- data/test/lib/vedeu/borders/title_test.rb +2 -0
- data/test/lib/vedeu/buffers/buffer_test.rb +2 -0
- data/test/lib/vedeu/buffers/empty_test.rb +2 -0
- data/test/lib/vedeu/buffers/null_test.rb +2 -0
- data/test/lib/vedeu/buffers/refresh_test.rb +2 -0
- data/test/lib/vedeu/buffers/repository_test.rb +2 -0
- data/test/lib/vedeu/buffers/terminal_test.rb +2 -0
- data/test/lib/vedeu/buffers/view_test.rb +2 -0
- data/test/lib/vedeu/cells/border_test.rb +2 -0
- data/test/lib/vedeu/cells/borders/bottom_horizontal_test.rb +2 -0
- data/test/lib/vedeu/cells/borders/bottom_left_test.rb +2 -0
- data/test/lib/vedeu/cells/borders/bottom_right_test.rb +2 -0
- data/test/lib/vedeu/cells/borders/corner_test.rb +2 -0
- data/test/lib/vedeu/cells/borders/horizontal_test.rb +2 -0
- data/test/lib/vedeu/cells/borders/left_vertical_test.rb +2 -0
- data/test/lib/vedeu/cells/borders/right_vertical_test.rb +2 -0
- data/test/lib/vedeu/cells/borders/top_horizontal_test.rb +2 -0
- data/test/lib/vedeu/cells/borders/top_left_test.rb +2 -0
- data/test/lib/vedeu/cells/borders/top_right_test.rb +2 -0
- data/test/lib/vedeu/cells/borders/vertical_test.rb +2 -0
- data/test/lib/vedeu/cells/char_test.rb +2 -0
- data/test/lib/vedeu/cells/clear_test.rb +2 -0
- data/test/lib/vedeu/cells/empty_test.rb +2 -0
- data/test/lib/vedeu/cells/escape_test.rb +2 -0
- data/test/lib/vedeu/cells/html_test.rb +2 -0
- data/test/lib/vedeu/cells/json_test.rb +2 -0
- data/test/lib/vedeu/coercers/alignment_test.rb +2 -0
- data/test/lib/vedeu/coercers/colour_attributes_test.rb +2 -0
- data/test/lib/vedeu/coercers/colour_test.rb +2 -0
- data/test/lib/vedeu/coercers/horizontal_alignment_test.rb +2 -0
- data/test/lib/vedeu/coercers/vertical_alignment_test.rb +2 -0
- data/test/lib/vedeu/colours/background_test.rb +2 -0
- data/test/lib/vedeu/colours/backgrounds_test.rb +2 -0
- data/test/lib/vedeu/colours/colour_test.rb +2 -0
- data/test/lib/vedeu/colours/foreground_test.rb +2 -0
- data/test/lib/vedeu/colours/foregrounds_test.rb +2 -0
- data/test/lib/vedeu/colours/repository_test.rb +2 -0
- data/test/lib/vedeu/colours/translator_test.rb +2 -0
- data/test/lib/vedeu/colours/validator_test.rb +2 -0
- data/test/lib/vedeu/common_test.rb +39 -6
- data/test/lib/vedeu/configuration/api_test.rb +37 -18
- data/test/lib/vedeu/configuration/configuration_test.rb +4 -2
- data/test/lib/vedeu/cursors/coordinate_test.rb +2 -0
- data/test/lib/vedeu/cursors/cursor_test.rb +2 -0
- data/test/lib/vedeu/cursors/dsl_test.rb +2 -0
- data/test/lib/vedeu/cursors/move_test.rb +2 -0
- data/test/lib/vedeu/cursors/refresh_test.rb +2 -0
- data/test/lib/vedeu/cursors/reposition_test.rb +2 -0
- data/test/lib/vedeu/cursors/repository_test.rb +2 -0
- data/test/lib/vedeu/distributed/client_test.rb +2 -0
- data/test/lib/vedeu/distributed/server_test.rb +2 -0
- data/test/lib/vedeu/distributed/subprocess_test.rb +2 -0
- data/test/lib/vedeu/distributed/test_application_test.rb +2 -0
- data/test/lib/vedeu/distributed/uri_test.rb +2 -0
- data/test/lib/vedeu/dsl/attributes_test.rb +2 -0
- data/test/lib/vedeu/dsl/border_test.rb +2 -0
- data/test/lib/vedeu/dsl/cursors_test.rb +2 -0
- data/test/lib/vedeu/dsl/dsl_test.rb +2 -0
- data/test/lib/vedeu/dsl/elements_test.rb +2 -0
- data/test/lib/vedeu/dsl/geometry_test.rb +2 -0
- data/test/lib/vedeu/dsl/presentation_test.rb +2 -0
- data/test/lib/vedeu/dsl/string/align_test.rb +2 -0
- data/test/lib/vedeu/dsl/string/text_test.rb +2 -0
- data/test/lib/vedeu/dsl/string/truncate_test.rb +2 -0
- data/test/lib/vedeu/dsl/string/wordwrap_test.rb +2 -0
- data/test/lib/vedeu/dsl/use_test.rb +2 -0
- data/test/lib/vedeu/dsl/view_test.rb +2 -0
- data/test/lib/vedeu/dsl/views_test.rb +2 -0
- data/test/lib/vedeu/editor/collection_test.rb +2 -0
- data/test/lib/vedeu/editor/cropper_test.rb +2 -0
- data/test/lib/vedeu/editor/cursor_test.rb +2 -0
- data/test/lib/vedeu/editor/delete_test.rb +2 -0
- data/test/lib/vedeu/editor/document_test.rb +2 -0
- data/test/lib/vedeu/editor/editor_test.rb +2 -0
- data/test/lib/vedeu/editor/insert_test.rb +2 -0
- data/test/lib/vedeu/editor/item_test.rb +2 -0
- data/test/lib/vedeu/editor/line_test.rb +2 -0
- data/test/lib/vedeu/editor/lines_test.rb +2 -0
- data/test/lib/vedeu/editor/repository_test.rb +2 -0
- data/test/lib/vedeu/error_test.rb +2 -0
- data/test/lib/vedeu/esc/actions_test.rb +2 -0
- data/test/lib/vedeu/esc/background_test.rb +2 -0
- data/test/lib/vedeu/esc/borders_test.rb +2 -0
- data/test/lib/vedeu/esc/colours_test.rb +2 -0
- data/test/lib/vedeu/esc/esc_test.rb +2 -0
- data/test/lib/vedeu/esc/foreground_test.rb +2 -0
- data/test/lib/vedeu/esc/mouse_test.rb +2 -0
- data/test/lib/vedeu/events/aliases_test.rb +2 -0
- data/test/lib/vedeu/events/collection_test.rb +2 -0
- data/test/lib/vedeu/events/event_test.rb +2 -0
- data/test/lib/vedeu/events/repository_test.rb +2 -0
- data/test/lib/vedeu/events/trigger_test.rb +2 -0
- data/test/lib/vedeu/geometries/area/area_test.rb +54 -26
- data/test/lib/vedeu/geometries/area/dimension_test.rb +2 -0
- data/test/lib/vedeu/geometries/area/x_dimension_test.rb +2 -0
- data/test/lib/vedeu/geometries/area/y_dimension_test.rb +2 -0
- data/test/lib/vedeu/geometries/dsl/dsl_test.rb +2 -0
- data/test/lib/vedeu/geometries/dsl/grid_test.rb +2 -0
- data/test/lib/vedeu/geometries/dsl/validator_test.rb +2 -0
- data/test/lib/vedeu/geometries/geometry_test.rb +2 -0
- data/test/lib/vedeu/geometries/move_test.rb +2 -0
- data/test/lib/vedeu/geometries/position_test.rb +2 -0
- data/test/lib/vedeu/geometries/positionable_test.rb +2 -0
- data/test/lib/vedeu/geometries/repository_test.rb +2 -0
- data/test/lib/vedeu/groups/clear_test.rb +2 -0
- data/test/lib/vedeu/groups/dsl_test.rb +2 -0
- data/test/lib/vedeu/groups/group_test.rb +2 -0
- data/test/lib/vedeu/groups/refresh_test.rb +2 -0
- data/test/lib/vedeu/groups/repository_test.rb +2 -0
- data/test/lib/vedeu/input/capture_test.rb +2 -0
- data/test/lib/vedeu/input/dsl_test.rb +2 -0
- data/test/lib/vedeu/input/key_test.rb +2 -0
- data/test/lib/vedeu/input/keymap_test.rb +2 -0
- data/test/lib/vedeu/input/keys_test.rb +2 -0
- data/test/lib/vedeu/input/mapper_test.rb +2 -0
- data/test/lib/vedeu/input/mouse_test.rb +2 -0
- data/test/lib/vedeu/input/raw_test.rb +2 -0
- data/test/lib/vedeu/input/read_test.rb +2 -0
- data/test/lib/vedeu/input/repository_test.rb +2 -0
- data/test/lib/vedeu/input/store_test.rb +2 -0
- data/test/lib/vedeu/input/translator_test.rb +2 -0
- data/test/lib/vedeu/interfaces/clear_test.rb +2 -0
- data/test/lib/vedeu/interfaces/dsl_test.rb +2 -0
- data/test/lib/vedeu/interfaces/interface_test.rb +2 -0
- data/test/lib/vedeu/interfaces/null_test.rb +2 -0
- data/test/lib/vedeu/interfaces/repository_test.rb +2 -0
- data/test/lib/vedeu/logging/clock_time_test.rb +2 -0
- data/test/lib/vedeu/logging/debug_test.rb +37 -9
- data/test/lib/vedeu/logging/lockless_log_device_test.rb +2 -0
- data/test/lib/vedeu/logging/log_test.rb +2 -0
- data/test/lib/vedeu/logging/mono_logger_test.rb +2 -0
- data/test/lib/vedeu/logging/timer_test.rb +2 -0
- data/test/lib/vedeu/menus/dsl_test.rb +2 -0
- data/test/lib/vedeu/menus/menu_test.rb +2 -0
- data/test/lib/vedeu/menus/repository_test.rb +2 -0
- data/test/lib/vedeu/models/focus_test.rb +2 -0
- data/test/lib/vedeu/models/page_test.rb +2 -0
- data/test/lib/vedeu/models/row_test.rb +2 -0
- data/test/lib/vedeu/models/toggleable_test.rb +2 -0
- data/test/lib/vedeu/null/generic_test.rb +2 -0
- data/test/lib/vedeu/output/compressor_cache_test.rb +2 -0
- data/test/lib/vedeu/output/compressor_test.rb +2 -0
- data/test/lib/vedeu/output/output_test.rb +2 -0
- data/test/lib/vedeu/output/refresh_test.rb +2 -0
- data/test/lib/vedeu/output/viewport_test.rb +2 -0
- data/test/lib/vedeu/output/write_test.rb +2 -0
- data/test/lib/vedeu/plugins/plugin_test.rb +2 -0
- data/test/lib/vedeu/plugins/plugins_test.rb +2 -0
- data/test/lib/vedeu/presentation/background_test.rb +2 -0
- data/test/lib/vedeu/presentation/colour_test.rb +2 -0
- data/test/lib/vedeu/presentation/foreground_test.rb +2 -0
- data/test/lib/vedeu/presentation/presentation_test.rb +2 -0
- data/test/lib/vedeu/presentation/style_test.rb +2 -0
- data/test/lib/vedeu/presentation/styles_test.rb +2 -0
- data/test/lib/vedeu/renderers/all_test.rb +4 -95
- data/test/lib/vedeu/renderers/file_test.rb +2 -0
- data/test/lib/vedeu/renderers/html_test.rb +28 -1
- data/test/lib/vedeu/renderers/json_test.rb +2 -0
- data/test/lib/vedeu/renderers/options_test.rb +2 -0
- data/test/lib/vedeu/renderers/terminal_test.rb +2 -0
- data/test/lib/vedeu/renderers/text_test.rb +2 -0
- data/test/lib/vedeu/repositories/assemblage_test.rb +2 -0
- data/test/lib/vedeu/repositories/collection_test.rb +2 -0
- data/test/lib/vedeu/repositories/defaults_test.rb +2 -0
- data/test/lib/vedeu/repositories/model_test.rb +2 -0
- data/test/lib/vedeu/repositories/registerable_test.rb +2 -0
- data/test/lib/vedeu/repositories/repositories_test.rb +2 -0
- data/test/lib/vedeu/repositories/repository_test.rb +2 -0
- data/test/lib/vedeu/repositories/store_test.rb +2 -0
- data/test/lib/vedeu/runtime/application_test.rb +2 -0
- data/test/lib/vedeu/runtime/bootstrap_test.rb +2 -0
- data/test/lib/vedeu/runtime/flags_test.rb +2 -0
- data/test/lib/vedeu/runtime/launcher_test.rb +2 -0
- data/test/lib/vedeu/runtime/main_loop_test.rb +2 -0
- data/test/lib/vedeu/runtime/router_test.rb +2 -0
- data/test/lib/vedeu/runtime/traps_test.rb +2 -0
- data/test/lib/vedeu/templating/decoder_test.rb +2 -0
- data/test/lib/vedeu/templating/encoder_test.rb +2 -0
- data/test/lib/vedeu/templating/helpers_test.rb +2 -0
- data/test/lib/vedeu/templating/template_test.rb +2 -0
- data/test/lib/vedeu/templating/view_template_test.rb +2 -0
- data/test/lib/vedeu/terminal/mode_test.rb +2 -0
- data/test/lib/vedeu/terminal/terminal_test.rb +2 -0
- data/test/lib/vedeu/views/char_test.rb +2 -0
- data/test/lib/vedeu/views/chars_test.rb +2 -0
- data/test/lib/vedeu/views/composition_test.rb +2 -0
- data/test/lib/vedeu/views/default_attributes_test.rb +2 -0
- data/test/lib/vedeu/views/html_char_test.rb +2 -0
- data/test/lib/vedeu/views/line_test.rb +2 -0
- data/test/lib/vedeu/views/lines_test.rb +2 -0
- data/test/lib/vedeu/views/stream_test.rb +2 -0
- data/test/lib/vedeu/views/streams_test.rb +2 -0
- data/test/lib/vedeu/views/value_test.rb +2 -0
- data/test/lib/vedeu/views/view_test.rb +2 -0
- data/test/lib/vedeu/views/views_test.rb +2 -0
- data/test/lib/vedeu_test.rb +21 -3
- data/test/support/examples/material_colours_app.rb +17 -1
- data/test/support/helpers/model_test_class.rb +2 -0
- data/test/support/helpers/presentation_colour_test_class.rb +2 -0
- data/test/test_helper.rb +3 -22
- data/vedeu.gemspec +0 -3
- metadata +105 -52
- data/docs/debugging.md +0 -18
- data/lib/vedeu/borders/set_attribute.rb +0 -73
- data/lib/vedeu/logging/ips.rb +0 -66
- data/test/lib/vedeu/borders/set_attribute_test.rb +0 -62
- data/test/lib/vedeu/logging/ips_test.rb +0 -52
data/lib/vedeu/esc/mouse.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Vedeu
|
2
4
|
|
3
5
|
module EscapeSequences
|
@@ -32,22 +34,22 @@ module Vedeu
|
|
32
34
|
|
33
35
|
# @return [String]
|
34
36
|
def mouse_x10_on
|
35
|
-
"\e[?9h"
|
37
|
+
"\e[?9h"
|
36
38
|
end
|
37
39
|
|
38
40
|
# @return [String]
|
39
41
|
def mouse_x10_off
|
40
|
-
"\e[?9l"
|
42
|
+
"\e[?9l"
|
41
43
|
end
|
42
44
|
|
43
45
|
# @return [String]
|
44
46
|
def mouse_on
|
45
|
-
"\e[?1000h"
|
47
|
+
"\e[?1000h"
|
46
48
|
end
|
47
49
|
|
48
50
|
# @return [String]
|
49
51
|
def mouse_off
|
50
|
-
"\e[?1000l"
|
52
|
+
"\e[?1000l"
|
51
53
|
end
|
52
54
|
|
53
55
|
end # Mouse
|
data/lib/vedeu/events/aliases.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Vedeu
|
2
4
|
|
3
5
|
module Events
|
@@ -90,7 +92,7 @@ module Vedeu
|
|
90
92
|
find(alias_name).map do |event_name|
|
91
93
|
Vedeu.log(type: :event,
|
92
94
|
message: "Triggering: '#{event_name}' from alias " \
|
93
|
-
"'#{alias_name}'"
|
95
|
+
"'#{alias_name}'")
|
94
96
|
Vedeu::Events::Trigger.trigger(event_name, *args)
|
95
97
|
end
|
96
98
|
end
|
data/lib/vedeu/events/all.rb
CHANGED
data/lib/vedeu/events/event.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Vedeu
|
2
4
|
|
3
5
|
module Events
|
@@ -84,7 +86,7 @@ module Vedeu
|
|
84
86
|
#
|
85
87
|
# @return [Boolean]
|
86
88
|
def bind(name, options = {}, &block)
|
87
|
-
Vedeu.log(type: :event, message: "Binding: '#{name.inspect}'"
|
89
|
+
Vedeu.log(type: :event, message: "Binding: '#{name.inspect}'")
|
88
90
|
|
89
91
|
new(name, block, options).bind
|
90
92
|
end
|
@@ -117,7 +119,7 @@ module Vedeu
|
|
117
119
|
return false unless Vedeu.bound?(name)
|
118
120
|
|
119
121
|
Vedeu.log(type: :event,
|
120
|
-
message: "Unbinding: '#{name.inspect}'"
|
122
|
+
message: "Unbinding: '#{name.inspect}'")
|
121
123
|
|
122
124
|
Vedeu.events.remove(name)
|
123
125
|
|
@@ -194,15 +196,18 @@ module Vedeu
|
|
194
196
|
@executed_at = @now # set execution time to now
|
195
197
|
@now = 0 # reset now
|
196
198
|
|
197
|
-
message = "Triggering: '#{name.inspect}'"
|
198
|
-
|
199
199
|
if args.size > 1
|
200
|
-
message
|
200
|
+
message = "Triggering: '#{name.inspect}' with #{args.inspect}"
|
201
|
+
|
201
202
|
elsif args.one?
|
202
|
-
message
|
203
|
+
message = "Triggering: '#{name.inspect}' for #{args.first.inspect}"
|
204
|
+
|
205
|
+
else
|
206
|
+
message = "Triggering: '#{name.inspect}'"
|
207
|
+
|
203
208
|
end
|
204
209
|
|
205
|
-
Vedeu.log(type: :event, message: message
|
210
|
+
Vedeu.log(type: :event, message: message)
|
206
211
|
|
207
212
|
closure.call(*args)
|
208
213
|
end
|
@@ -224,7 +229,7 @@ module Vedeu
|
|
224
229
|
def throttle_expired?
|
225
230
|
return true if (@now - @executed_at) > delay
|
226
231
|
|
227
|
-
Vedeu.log(type: :event, message: "Throttling: '#{name.inspect}'"
|
232
|
+
Vedeu.log(type: :event, message: "Throttling: '#{name.inspect}'")
|
228
233
|
|
229
234
|
false
|
230
235
|
end
|
@@ -251,7 +256,7 @@ module Vedeu
|
|
251
256
|
def debounce_expired?
|
252
257
|
return true if (@executed_at = @now) > @deadline
|
253
258
|
|
254
|
-
Vedeu.log(type: :event, message: "Debouncing: '#{name.inspect}'"
|
259
|
+
Vedeu.log(type: :event, message: "Debouncing: '#{name.inspect}'")
|
255
260
|
|
256
261
|
false
|
257
262
|
end
|
@@ -311,4 +316,11 @@ module Vedeu
|
|
311
316
|
:bound?,
|
312
317
|
:unbind
|
313
318
|
|
319
|
+
# :nocov:
|
320
|
+
|
321
|
+
# See {file:docs/events/system.md#\_log_}
|
322
|
+
Vedeu.bind(:_log_) { |msg| Vedeu.log(type: :debug, message: msg) }
|
323
|
+
|
324
|
+
# :nocov:
|
325
|
+
|
314
326
|
end # Vedeu
|
data/lib/vedeu/events/trigger.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Vedeu
|
2
4
|
|
3
5
|
module Events
|
@@ -40,7 +42,7 @@ module Vedeu
|
|
40
42
|
def trigger
|
41
43
|
if results.empty?
|
42
44
|
Vedeu.log(type: :event,
|
43
|
-
message: "No action for: '#{name.inspect}'"
|
45
|
+
message: "No action for: '#{name.inspect}'")
|
44
46
|
end
|
45
47
|
|
46
48
|
return results[0] if results.one?
|
data/lib/vedeu/geometries/all.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Vedeu
|
2
4
|
|
3
5
|
module Geometries
|
@@ -46,38 +48,36 @@ module Vedeu
|
|
46
48
|
# @option attributes maximised [Boolean]
|
47
49
|
# @option attributes name [String|Symbol]
|
48
50
|
# @option attributes vertical_alignment [Symbol]
|
49
|
-
# @option attributes x [Fixnum]
|
50
|
-
# @option attributes xn [Fixnum]
|
51
|
-
# @option attributes
|
52
|
-
# @option attributes
|
53
|
-
# @option attributes
|
54
|
-
# @option attributes
|
55
|
-
# @option attributes y_yn [Fixnum]
|
56
|
-
# @option attributes y_default [Fixnum]
|
51
|
+
# @option attributes x [Fixnum] The starting x coordinate.
|
52
|
+
# @option attributes xn [Fixnum] The ending x coordinate.
|
53
|
+
# @option attributes width [Fixnum]
|
54
|
+
# @option attributes y [Fixnum] The starting y coordinate.
|
55
|
+
# @option attributes yn [Fixnum] The ending y coordinate.
|
56
|
+
# @option attributes height [Fixnum]
|
57
57
|
# @return [Vedeu::Geometries::Area]
|
58
58
|
def self.from_attributes(attributes = {})
|
59
59
|
y_attributes = {
|
60
60
|
alignment: attributes[:vertical_alignment],
|
61
61
|
d: attributes[:y],
|
62
62
|
dn: attributes[:yn],
|
63
|
-
d_dn: attributes[:
|
63
|
+
d_dn: attributes[:height],
|
64
64
|
maximised: attributes[:maximised],
|
65
65
|
}
|
66
66
|
x_attributes = {
|
67
67
|
alignment: attributes[:horizontal_alignment],
|
68
68
|
d: attributes[:x],
|
69
69
|
dn: attributes[:xn],
|
70
|
-
d_dn: attributes[:
|
70
|
+
d_dn: attributes[:width],
|
71
71
|
maximised: attributes[:maximised],
|
72
72
|
}
|
73
|
-
|
74
|
-
|
73
|
+
height = Vedeu::Geometries::YDimension.pair(y_attributes)
|
74
|
+
width = Vedeu::Geometries::XDimension.pair(x_attributes)
|
75
75
|
|
76
76
|
new(name: attributes[:name],
|
77
|
-
y:
|
78
|
-
yn:
|
79
|
-
x:
|
80
|
-
xn:
|
77
|
+
y: height[0],
|
78
|
+
yn: height[-1],
|
79
|
+
x: width[0],
|
80
|
+
xn: width[-1])
|
81
81
|
end
|
82
82
|
|
83
83
|
# Returns a new instance of Vedeu::Area.
|
@@ -111,7 +111,18 @@ module Vedeu
|
|
111
111
|
#
|
112
112
|
# @return [Fixnum]
|
113
113
|
def bordered_width
|
114
|
-
|
114
|
+
return width unless border && enabled?
|
115
|
+
|
116
|
+
if left? && right?
|
117
|
+
width - 2
|
118
|
+
|
119
|
+
elsif left? || right?
|
120
|
+
width - 1
|
121
|
+
|
122
|
+
else
|
123
|
+
width
|
124
|
+
|
125
|
+
end
|
115
126
|
end
|
116
127
|
|
117
128
|
# Returns the height of the interface determined by whether a
|
@@ -119,7 +130,18 @@ module Vedeu
|
|
119
130
|
#
|
120
131
|
# @return [Fixnum]
|
121
132
|
def bordered_height
|
122
|
-
|
133
|
+
return height unless border && enabled?
|
134
|
+
|
135
|
+
if top? && bottom?
|
136
|
+
height - 2
|
137
|
+
|
138
|
+
elsif top? || bottom?
|
139
|
+
height - 1
|
140
|
+
|
141
|
+
else
|
142
|
+
height
|
143
|
+
|
144
|
+
end
|
123
145
|
end
|
124
146
|
|
125
147
|
# Return the column position for 1 character right of the left
|
@@ -183,6 +205,9 @@ module Vedeu
|
|
183
205
|
# @return [Fixnum]
|
184
206
|
def height
|
185
207
|
(yn - y) + 1
|
208
|
+
|
209
|
+
# (yn - y) + 2
|
210
|
+
# (y..yn).size# + 1
|
186
211
|
end
|
187
212
|
|
188
213
|
# Returns the width of the interface.
|
@@ -190,6 +215,9 @@ module Vedeu
|
|
190
215
|
# @return [Fixnum]
|
191
216
|
def width
|
192
217
|
(xn - x) + 1
|
218
|
+
|
219
|
+
# (xn - x) + 2
|
220
|
+
# (x..xn).size# + 1
|
193
221
|
end
|
194
222
|
|
195
223
|
# Returns the row above the top by default.
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Vedeu
|
2
4
|
|
3
5
|
module Geometries
|
@@ -225,18 +227,23 @@ module Vedeu
|
|
225
227
|
# @return [Fixnum]
|
226
228
|
def _dn
|
227
229
|
if dn
|
230
|
+
# fail "_dn 1 v:#{d} #{dn}"
|
228
231
|
dn
|
229
232
|
|
230
233
|
elsif d.nil? && d_dn
|
234
|
+
# fail "_dn 2 v:#{d_dn}"
|
231
235
|
d_dn
|
232
236
|
|
233
237
|
elsif d && d_dn
|
238
|
+
# fail "_dn 3 v:#{d} #{d_dn}"
|
234
239
|
(d + d_dn) - 1
|
235
240
|
|
236
241
|
elsif default
|
242
|
+
# fail "_dn 4 v:#{default}"
|
237
243
|
default
|
238
244
|
|
239
245
|
else
|
246
|
+
# fail "_dn 5 v:1"
|
240
247
|
1
|
241
248
|
|
242
249
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Vedeu
|
2
4
|
|
3
5
|
module Geometries
|
@@ -15,7 +17,7 @@ module Vedeu
|
|
15
17
|
# @return [Boolean]
|
16
18
|
def validate_height!(value)
|
17
19
|
fail Vedeu::Error::InvalidSyntax,
|
18
|
-
'No height given.'
|
20
|
+
'No height given.' if absent?(value)
|
19
21
|
|
20
22
|
true
|
21
23
|
end
|
@@ -27,7 +29,7 @@ module Vedeu
|
|
27
29
|
def validate_horizontal_alignment!(value)
|
28
30
|
fail Vedeu::Error::InvalidSyntax,
|
29
31
|
'No horizontal alignment given. Valid values are :center, ' \
|
30
|
-
':centre, :left, :none, :right.'
|
32
|
+
':centre, :left, :none, :right.' unless present?(value)
|
31
33
|
|
32
34
|
true
|
33
35
|
end
|
@@ -38,7 +40,7 @@ module Vedeu
|
|
38
40
|
def validate_vertical_alignment!(value)
|
39
41
|
fail Vedeu::Error::InvalidSyntax,
|
40
42
|
'No vertical alignment given. Valid values are :bottom, ' \
|
41
|
-
':middle, :none, :top.'
|
43
|
+
':middle, :none, :top.' unless present?(value)
|
42
44
|
|
43
45
|
true
|
44
46
|
end
|
@@ -48,7 +50,7 @@ module Vedeu
|
|
48
50
|
# @return [Boolean]
|
49
51
|
def validate_width!(value)
|
50
52
|
fail Vedeu::Error::InvalidSyntax,
|
51
|
-
'No width given.'
|
53
|
+
'No width given.' if absent?(value)
|
52
54
|
|
53
55
|
true
|
54
56
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Vedeu
|
2
4
|
|
3
5
|
module Geometries
|
@@ -201,10 +203,10 @@ module Vedeu
|
|
201
203
|
vertical_alignment: vertical_alignment,
|
202
204
|
x: @x.is_a?(Proc) ? @x.call : @x,
|
203
205
|
xn: @xn.is_a?(Proc) ? @xn.call : @xn,
|
204
|
-
|
206
|
+
width: @width.is_a?(Proc) ? @width.call : @width,
|
205
207
|
y: @y.is_a?(Proc) ? @y.call : @y,
|
206
208
|
yn: @yn.is_a?(Proc) ? @yn.call : @yn,
|
207
|
-
|
209
|
+
height: @height.is_a?(Proc) ? @height.call : @height,
|
208
210
|
}
|
209
211
|
end
|
210
212
|
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Vedeu
|
2
4
|
|
3
5
|
module Geometries
|
@@ -116,7 +118,7 @@ module Vedeu
|
|
116
118
|
# @yieldreturn [String] Returns the block wrapped in position
|
117
119
|
# escape sequences.
|
118
120
|
def to_s(&block)
|
119
|
-
return "#{sequence}#{yield}"
|
121
|
+
return "#{sequence}#{yield}" if block_given?
|
120
122
|
|
121
123
|
sequence
|
122
124
|
end
|
@@ -157,7 +159,7 @@ module Vedeu
|
|
157
159
|
#
|
158
160
|
# @return [String]
|
159
161
|
def sequence
|
160
|
-
"\e[#{y};#{x}H"
|
162
|
+
"\e[#{y};#{x}H"
|
161
163
|
end
|
162
164
|
|
163
165
|
end # Position
|