vedeu 0.6.20 → 0.6.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.yardopts +1 -1
- data/README.md +4 -0
- data/Rakefile +13 -0
- data/bin/vedeu_drb_server +6 -6
- data/docs/api.md +14 -0
- data/docs/dsl.md +12 -12
- data/docs/events/document.md +4 -2
- data/docs/events/drb.md +4 -0
- data/docs/events/focus.md +2 -0
- data/docs/events/menu.md +2 -0
- data/docs/events/movement.md +7 -5
- data/docs/events/refresh.md +2 -0
- data/docs/events/system.md +5 -0
- data/docs/events/view.md +2 -0
- data/docs/events/visibility.md +2 -0
- data/lib/vedeu.rb +0 -23
- data/lib/vedeu/all.rb +2 -4
- data/lib/vedeu/application/application_view.rb +1 -1
- data/lib/vedeu/borders/all.rb +3 -3
- data/lib/vedeu/borders/border.rb +2 -2
- data/lib/vedeu/borders/dsl.rb +21 -27
- data/lib/vedeu/borders/null.rb +2 -15
- data/lib/vedeu/borders/render.rb +1 -1
- data/lib/vedeu/borders/repository.rb +9 -0
- data/lib/vedeu/buffers/buffer.rb +2 -2
- data/lib/vedeu/buffers/null.rb +1 -31
- data/lib/vedeu/buffers/refresh.rb +8 -8
- data/lib/vedeu/buffers/repository.rb +9 -0
- data/lib/vedeu/colours/backgrounds.rb +9 -0
- data/lib/vedeu/colours/colour.rb +1 -1
- data/lib/vedeu/colours/foregrounds.rb +9 -0
- data/lib/vedeu/common.rb +22 -13
- data/lib/vedeu/configuration/configuration.rb +6 -0
- data/lib/vedeu/cursors/cursor.rb +13 -8
- data/lib/vedeu/cursors/refresh.rb +2 -2
- data/lib/vedeu/cursors/repository.rb +18 -1
- data/lib/vedeu/distributed/server.rb +23 -0
- data/lib/vedeu/distributed/templates/default_borders.vedeu +1 -1
- data/lib/vedeu/distributed/templates/default_geometries.vedeu +1 -1
- data/lib/vedeu/distributed/templates/default_interfaces.vedeu +1 -1
- data/lib/vedeu/distributed/templates/default_keymaps.vedeu +1 -1
- data/lib/vedeu/distributed/templates/default_menus.vedeu +1 -1
- data/lib/vedeu/distributed/templates/default_views.vedeu +1 -1
- data/lib/vedeu/dsl/composition.rb +7 -17
- data/lib/vedeu/dsl/dsl.rb +12 -0
- data/lib/vedeu/dsl/interface.rb +32 -33
- data/lib/vedeu/dsl/keymap.rb +13 -19
- data/lib/vedeu/dsl/line.rb +3 -13
- data/lib/vedeu/dsl/shared.rb +5 -5
- data/lib/vedeu/dsl/stream.rb +0 -10
- data/lib/vedeu/dsl/use.rb +6 -6
- data/lib/vedeu/dsl/view.rb +17 -19
- data/lib/vedeu/editor/cursor.rb +32 -10
- data/lib/vedeu/editor/document.rb +33 -35
- data/lib/vedeu/editor/editor.rb +3 -4
- data/lib/vedeu/editor/insert.rb +1 -1
- data/lib/vedeu/editor/line.rb +1 -8
- data/lib/vedeu/editor/lines.rb +1 -1
- data/lib/vedeu/editor/repository.rb +9 -0
- data/lib/vedeu/esc/esc.rb +2 -1
- data/lib/vedeu/events/aliases.rb +8 -1
- data/lib/vedeu/events/event.rb +8 -0
- data/lib/vedeu/events/repository.rb +9 -0
- data/lib/vedeu/events/trigger.rb +9 -5
- data/lib/vedeu/geometry/coordinate.rb +2 -2
- data/lib/vedeu/geometry/dsl.rb +32 -38
- data/lib/vedeu/geometry/generic_coordinate.rb +1 -1
- data/lib/vedeu/geometry/geometry.rb +3 -3
- data/lib/vedeu/geometry/null.rb +2 -24
- data/lib/vedeu/geometry/repository.rb +9 -0
- data/lib/vedeu/groups/clear.rb +7 -3
- data/lib/vedeu/groups/dsl.rb +29 -35
- data/lib/vedeu/groups/group.rb +28 -4
- data/lib/vedeu/groups/refresh.rb +3 -2
- data/lib/vedeu/groups/repository.rb +9 -0
- data/lib/vedeu/input/capture.rb +1 -1
- data/lib/vedeu/input/keymap.rb +2 -1
- data/lib/vedeu/input/keymaps.rb +9 -0
- data/lib/vedeu/input/mapper.rb +4 -0
- data/lib/vedeu/input/translator.rb +1 -1
- data/lib/vedeu/logging/debug.rb +13 -0
- data/lib/vedeu/logging/log.rb +8 -0
- data/lib/vedeu/logging/timer.rb +13 -0
- data/lib/vedeu/menus/dsl.rb +8 -18
- data/lib/vedeu/menus/menu.rb +8 -4
- data/lib/vedeu/menus/null.rb +1 -1
- data/lib/vedeu/menus/repository.rb +9 -0
- data/lib/vedeu/models/cell.rb +5 -0
- data/lib/vedeu/models/escape.rb +5 -0
- data/lib/vedeu/models/focus.rb +20 -5
- data/lib/vedeu/models/interface.rb +10 -1
- data/lib/vedeu/models/interfaces.rb +9 -0
- data/lib/vedeu/models/toggleable.rb +19 -4
- data/lib/vedeu/models/views/char.rb +6 -1
- data/lib/vedeu/models/views/html_char.rb +1 -4
- data/lib/vedeu/models/views/line.rb +1 -1
- data/lib/vedeu/models/views/view.rb +1 -1
- data/lib/vedeu/null/generic.rb +14 -2
- data/lib/vedeu/null/interface.rb +1 -1
- data/lib/vedeu/null/view.rb +1 -1
- data/lib/vedeu/output/clear/interface.rb +5 -1
- data/lib/vedeu/output/compressor.rb +8 -4
- data/lib/vedeu/output/direct.rb +4 -4
- data/lib/vedeu/output/presentation/all.rb +15 -0
- data/lib/vedeu/output/presentation/presentation.rb +0 -7
- data/lib/vedeu/output/refresh/refresh.rb +1 -3
- data/lib/vedeu/output/renderers/all.rb +10 -0
- data/lib/vedeu/output/renderers/terminal.rb +1 -3
- data/lib/vedeu/repositories/collection.rb +3 -3
- data/lib/vedeu/repositories/model.rb +1 -1
- data/lib/vedeu/repositories/repository.rb +8 -8
- data/lib/vedeu/repositories/store.rb +3 -2
- data/lib/vedeu/runtime/application.rb +4 -0
- data/lib/vedeu/runtime/bootstrap.rb +1 -1
- data/lib/vedeu/runtime/flags.rb +7 -0
- data/lib/vedeu/runtime/main_loop.rb +2 -0
- data/lib/vedeu/runtime/router.rb +4 -0
- data/lib/vedeu/templating/decoder.rb +1 -1
- data/lib/vedeu/templating/encoder.rb +1 -1
- data/lib/vedeu/templating/helpers.rb +2 -0
- data/lib/vedeu/templating/template.rb +1 -1
- data/lib/vedeu/terminal/buffer.rb +7 -0
- data/lib/vedeu/terminal/terminal.rb +8 -0
- data/lib/vedeu/version.rb +1 -1
- data/test/lib/vedeu/borders/dsl_test.rb +0 -6
- data/test/lib/vedeu/borders/null_test.rb +0 -12
- data/test/lib/vedeu/buffers/null_test.rb +0 -37
- data/test/lib/vedeu/common_test.rb +33 -0
- data/test/lib/vedeu/cursors/cursor_test.rb +1 -1
- data/test/lib/vedeu/dsl/composition_test.rb +0 -6
- data/test/lib/vedeu/dsl/dsl_test.rb +1 -0
- data/test/lib/vedeu/dsl/interface_test.rb +0 -6
- data/test/lib/vedeu/dsl/keymap_test.rb +0 -5
- data/test/lib/vedeu/dsl/line_test.rb +0 -7
- data/test/lib/vedeu/dsl/stream_test.rb +0 -7
- data/test/lib/vedeu/editor/cursor_test.rb +23 -8
- data/test/lib/vedeu/editor/document_test.rb +27 -23
- data/test/lib/vedeu/editor/line_test.rb +0 -30
- data/test/lib/vedeu/geometry/dsl_test.rb +0 -5
- data/test/lib/vedeu/geometry/null_test.rb +0 -30
- data/test/lib/vedeu/groups/dsl_test.rb +0 -6
- data/test/lib/vedeu/groups/group_test.rb +15 -7
- data/test/lib/vedeu/menus/dsl_test.rb +0 -5
- data/test/lib/vedeu/models/cell_test.rb +4 -0
- data/test/lib/vedeu/models/escape_test.rb +4 -0
- data/test/lib/vedeu/models/views/char_test.rb +4 -0
- data/test/lib/vedeu/null/generic_test.rb +13 -0
- data/test/lib/vedeu/terminal/buffer_test.rb +3 -2
- data/test/lib/vedeu_test.rb +81 -3
- data/test/support/examples/borders_app.rb +1 -3
- data/test/support/examples/drb_app.rb +1 -3
- data/test/support/examples/editor_app.rb +2 -4
- data/test/support/examples/focus_app.rb +1 -3
- data/test/support/examples/hello_world.rb +1 -6
- data/test/support/examples/material_colours_app.rb +1 -3
- data/test/support/examples/view_templates_app/view_templates_app.rb +1 -3
- data/test/support/helpers/model_test_class.rb +1 -5
- data/test/support/who.rb +29 -0
- data/test/test_helper.rb +0 -1
- metadata +5 -17
- data/lib/vedeu/api/all.rb +0 -15
- data/lib/vedeu/api/external.rb +0 -194
- data/lib/vedeu/api/internal.rb +0 -177
- data/test/lib/vedeu/api/external_test.rb +0 -74
- data/test/lib/vedeu/api/internal_test.rb +0 -33
- data/test/support/examples/typed_commands/command.erb +0 -1
- data/test/support/examples/typed_commands/output.erb +0 -1
- data/test/support/examples/typed_commands/status.erb +0 -1
- data/test/support/examples/typed_commands/typed_commands_app.rb +0 -94
| @@ -16,4 +16,13 @@ module Vedeu | |
| 16 16 |  | 
| 17 17 | 
             
              end # Geometry
         | 
| 18 18 |  | 
| 19 | 
            +
              # Manipulate the repository of geometries.
         | 
| 20 | 
            +
              #
         | 
| 21 | 
            +
              # @example
         | 
| 22 | 
            +
              #   Vedeu.geometries
         | 
| 23 | 
            +
              #
         | 
| 24 | 
            +
              # @!method geometries
         | 
| 25 | 
            +
              # @return [Vedeu::Geometry::Repository]
         | 
| 26 | 
            +
              def_delegators Vedeu::Geometry::Repository, :geometries
         | 
| 27 | 
            +
             | 
| 19 28 | 
             
            end # Vedeu
         | 
    
        data/lib/vedeu/groups/clear.rb
    CHANGED
    
    | @@ -13,7 +13,7 @@ module Vedeu | |
| 13 13 | 
             
                    # @example
         | 
| 14 14 | 
             
                    #   Vedeu.clear_by_group(name)
         | 
| 15 15 | 
             
                    #
         | 
| 16 | 
            -
                    # @param name [String]
         | 
| 16 | 
            +
                    # @param name [String|Symbol]
         | 
| 17 17 | 
             
                    # @return [void]
         | 
| 18 18 | 
             
                    def render(name)
         | 
| 19 19 | 
             
                      new(name).render
         | 
| @@ -25,7 +25,7 @@ module Vedeu | |
| 25 25 |  | 
| 26 26 | 
             
                  # Return a new instance of Vedeu::Groups::Clear.
         | 
| 27 27 | 
             
                  #
         | 
| 28 | 
            -
                  # @param name [String]
         | 
| 28 | 
            +
                  # @param name [String|Symbol]
         | 
| 29 29 | 
             
                  # @return [Vedeu::Groups::Clear]
         | 
| 30 30 | 
             
                  def initialize(name)
         | 
| 31 31 | 
             
                    @name = name
         | 
| @@ -39,7 +39,7 @@ module Vedeu | |
| 39 39 | 
             
                  protected
         | 
| 40 40 |  | 
| 41 41 | 
             
                  # @!attribute [r] name
         | 
| 42 | 
            -
                  # @return [String]
         | 
| 42 | 
            +
                  # @return [String|Symbol]
         | 
| 43 43 | 
             
                  attr_reader :name
         | 
| 44 44 |  | 
| 45 45 | 
             
                  private
         | 
| @@ -53,4 +53,8 @@ module Vedeu | |
| 53 53 |  | 
| 54 54 | 
             
              end # Groups
         | 
| 55 55 |  | 
| 56 | 
            +
              # @!method clear_by_group
         | 
| 57 | 
            +
              #   @see Vedeu::Groups::Clear.render
         | 
| 58 | 
            +
              def_delegators Vedeu::Groups::Clear, :clear_by_group
         | 
| 59 | 
            +
             | 
| 56 60 | 
             
            end # Vedeu
         | 
    
        data/lib/vedeu/groups/dsl.rb
    CHANGED
    
    | @@ -24,35 +24,35 @@ module Vedeu | |
| 24 24 | 
             
                  # The example below resembles 'vim' (the popular terminal-based
         | 
| 25 25 | 
             
                  # text editor):
         | 
| 26 26 | 
             
                  #
         | 
| 27 | 
            -
                  #   Vedeu.group  | 
| 28 | 
            -
                  #     add  | 
| 27 | 
            +
                  #   Vedeu.group :title_screen do
         | 
| 28 | 
            +
                  #     add :welcome_interface
         | 
| 29 29 | 
             
                  #     # ... some code
         | 
| 30 30 | 
             
                  #   end
         | 
| 31 31 | 
             
                  #
         | 
| 32 | 
            -
                  #   Vedeu.group  | 
| 33 | 
            -
                  #     add  | 
| 34 | 
            -
                  #     add  | 
| 35 | 
            -
                  #     add  | 
| 32 | 
            +
                  #   Vedeu.group :main_screen do
         | 
| 33 | 
            +
                  #     add :editor_interface
         | 
| 34 | 
            +
                  #     add :status_interface
         | 
| 35 | 
            +
                  #     add :command_interface
         | 
| 36 36 | 
             
                  #     # ... some code
         | 
| 37 37 | 
             
                  #   end
         | 
| 38 38 | 
             
                  #
         | 
| 39 39 | 
             
                  # or more succinctly:
         | 
| 40 40 | 
             
                  #
         | 
| 41 | 
            -
                  #   Vedeu.group  | 
| 42 | 
            -
                  #     members  | 
| 43 | 
            -
                  #              | 
| 44 | 
            -
                  #              | 
| 41 | 
            +
                  #   Vedeu.group :main_screen do
         | 
| 42 | 
            +
                  #     members :editor_interface,
         | 
| 43 | 
            +
                  #             :status_interface,
         | 
| 44 | 
            +
                  #             :command_interface
         | 
| 45 45 | 
             
                  #     # ... some code
         | 
| 46 46 | 
             
                  #   end
         | 
| 47 47 | 
             
                  #
         | 
| 48 48 | 
             
                  # or when defining an interface:
         | 
| 49 49 | 
             
                  #
         | 
| 50 | 
            -
                  #   Vedeu.interface  | 
| 51 | 
            -
                  #     group  | 
| 50 | 
            +
                  #   Vedeu.interface :some_interface do
         | 
| 51 | 
            +
                  #     group :some_group
         | 
| 52 52 | 
             
                  #     # ... some code
         | 
| 53 53 | 
             
                  #   end
         | 
| 54 54 | 
             
                  #
         | 
| 55 | 
            -
                  # @param name [String] The name of this group.
         | 
| 55 | 
            +
                  # @param name [String|Symbol] The name of this group.
         | 
| 56 56 | 
             
                  # @param block [Proc]
         | 
| 57 57 | 
             
                  # @raise [Vedeu::Error::RequiresBlock]
         | 
| 58 58 | 
             
                  # @return [Vedeu::Groups::Group]
         | 
| @@ -62,44 +62,38 @@ module Vedeu | |
| 62 62 | 
             
                    Vedeu::Groups::Group.build(name: name, &block).store
         | 
| 63 63 | 
             
                  end
         | 
| 64 64 |  | 
| 65 | 
            -
                  # Returns an instance of Groups::DSL.
         | 
| 66 | 
            -
                  #
         | 
| 67 | 
            -
                  # @param model [Vedeu::Groups::Group]
         | 
| 68 | 
            -
                  # @param client [Object]
         | 
| 69 | 
            -
                  # @return [Vedeu::Groups::DSL]
         | 
| 70 | 
            -
                  def initialize(model, client = nil)
         | 
| 71 | 
            -
                    @model  = model
         | 
| 72 | 
            -
                    @client = client
         | 
| 73 | 
            -
                  end
         | 
| 74 | 
            -
             | 
| 75 65 | 
             
                  # Add the named interface to this group.
         | 
| 76 66 | 
             
                  #
         | 
| 77 | 
            -
                  #   Vedeu.group  | 
| 78 | 
            -
                  #     add  | 
| 67 | 
            +
                  #   Vedeu.group :main_screen do
         | 
| 68 | 
            +
                  #     add :editor_interface
         | 
| 79 69 | 
             
                  #   end
         | 
| 80 70 | 
             
                  #
         | 
| 81 | 
            -
                  # @param  | 
| 71 | 
            +
                  # @param name [String|Symbol]
         | 
| 82 72 | 
             
                  # @return [Vedeu::Groups::Group]
         | 
| 83 | 
            -
                  def add( | 
| 84 | 
            -
                    model.add( | 
| 73 | 
            +
                  def add(name)
         | 
| 74 | 
            +
                    model.add(name)
         | 
| 85 75 | 
             
                  end
         | 
| 86 76 |  | 
| 87 77 | 
             
                  # Add the named interfaces to this group in bulk.
         | 
| 88 78 | 
             
                  #
         | 
| 89 | 
            -
                  #   Vedeu.group  | 
| 90 | 
            -
                  #     members [ | 
| 91 | 
            -
                  #               | 
| 92 | 
            -
                  #               | 
| 79 | 
            +
                  #   Vedeu.group :main_screen do
         | 
| 80 | 
            +
                  #     members [:editor_interface,
         | 
| 81 | 
            +
                  #              :some_interface,
         | 
| 82 | 
            +
                  #              :other_interface]
         | 
| 93 83 | 
             
                  #   end
         | 
| 94 84 | 
             
                  #
         | 
| 95 | 
            -
                  # @param  | 
| 85 | 
            +
                  # @param names [Array<String|Symbol>]
         | 
| 96 86 | 
             
                  # @return [Array<String>]
         | 
| 97 | 
            -
                  def members(* | 
| 98 | 
            -
                     | 
| 87 | 
            +
                  def members(*names)
         | 
| 88 | 
            +
                    names.each { |name| add(name) }
         | 
| 99 89 | 
             
                  end
         | 
| 100 90 |  | 
| 101 91 | 
             
                end # DSL
         | 
| 102 92 |  | 
| 103 93 | 
             
              end # Groups
         | 
| 104 94 |  | 
| 95 | 
            +
              # @!method group
         | 
| 96 | 
            +
              #   @see Vedeu::Groups::DSL.group
         | 
| 97 | 
            +
              def_delegators Vedeu::Groups::DSL, :group
         | 
| 98 | 
            +
             | 
| 105 99 | 
             
            end # Vedeu
         | 
    
        data/lib/vedeu/groups/group.rb
    CHANGED
    
    | @@ -14,6 +14,12 @@ module Vedeu | |
| 14 14 | 
             
                  # @return [String]
         | 
| 15 15 | 
             
                  attr_accessor :name
         | 
| 16 16 |  | 
| 17 | 
            +
                  # @param (see #initialize)
         | 
| 18 | 
            +
                  # @return (see #initialize)
         | 
| 19 | 
            +
                  def self.store(attributes = {})
         | 
| 20 | 
            +
                    new(attributes).store
         | 
| 21 | 
            +
                  end
         | 
| 22 | 
            +
             | 
| 17 23 | 
             
                  # Return a new instance of Vedeu::Groups::Group.
         | 
| 18 24 | 
             
                  #
         | 
| 19 25 | 
             
                  # @note
         | 
| @@ -23,7 +29,7 @@ module Vedeu | |
| 23 29 | 
             
                  # @param attributes [Hash]
         | 
| 24 30 | 
             
                  # @option attributes members [Set] A collection of names of
         | 
| 25 31 | 
             
                  #   interfaces belonging to this group.
         | 
| 26 | 
            -
                  # @option attributes name [String] The name of the group.
         | 
| 32 | 
            +
                  # @option attributes name [String|Symbol] The name of the group.
         | 
| 27 33 | 
             
                  # @option attributes repository
         | 
| 28 34 | 
             
                  #   [Vedeu::Repositories::Repository]
         | 
| 29 35 | 
             
                  #   The storage for all Group models.
         | 
| @@ -43,7 +49,7 @@ module Vedeu | |
| 43 49 | 
             
                  def add(member)
         | 
| 44 50 | 
             
                    attrs = attributes.merge!(members: members.add(member))
         | 
| 45 51 |  | 
| 46 | 
            -
                    Vedeu::Groups::Group. | 
| 52 | 
            +
                    Vedeu::Groups::Group.store(attrs)
         | 
| 47 53 | 
             
                  end
         | 
| 48 54 |  | 
| 49 55 | 
             
                  # Returns the attributes of the group.
         | 
| @@ -66,6 +72,16 @@ module Vedeu | |
| 66 72 | 
             
                    interfaces.sort { |a, b| a.zindex <=> b.zindex }.map(&:name)
         | 
| 67 73 | 
             
                  end
         | 
| 68 74 |  | 
| 75 | 
            +
                  # An object is equal when its values are the same.
         | 
| 76 | 
            +
                  #
         | 
| 77 | 
            +
                  # @param other [Vedeu::Groups::Group]
         | 
| 78 | 
            +
                  # @return [Boolean]
         | 
| 79 | 
            +
                  def eql?(other)
         | 
| 80 | 
            +
                    self.class == other.class && name == other.name &&
         | 
| 81 | 
            +
                      members == other.members
         | 
| 82 | 
            +
                  end
         | 
| 83 | 
            +
                  alias_method :==, :eql?
         | 
| 84 | 
            +
             | 
| 69 85 | 
             
                  # Hide the named group of interfaces, or without a name, the
         | 
| 70 86 | 
             
                  # group of the currently focussed interface. Useful for hiding
         | 
| 71 87 | 
             
                  # part of that which is currently displaying in the terminal.
         | 
| @@ -102,7 +118,7 @@ module Vedeu | |
| 102 118 | 
             
                  def remove(member)
         | 
| 103 119 | 
             
                    attrs = attributes.merge!(members: members.delete(member))
         | 
| 104 120 |  | 
| 105 | 
            -
                    Vedeu::Groups::Group. | 
| 121 | 
            +
                    Vedeu::Groups::Group.store(attrs)
         | 
| 106 122 | 
             
                  end
         | 
| 107 123 |  | 
| 108 124 | 
             
                  # Remove all members from the group.
         | 
| @@ -111,7 +127,7 @@ module Vedeu | |
| 111 127 | 
             
                  def reset
         | 
| 112 128 | 
             
                    attrs = defaults.merge!(name: name)
         | 
| 113 129 |  | 
| 114 | 
            -
                    Vedeu::Groups::Group. | 
| 130 | 
            +
                    Vedeu::Groups::Group.store(attrs)
         | 
| 115 131 | 
             
                  end
         | 
| 116 132 |  | 
| 117 133 | 
             
                  # Show the named group of interfaces, or without a name, the
         | 
| @@ -155,4 +171,12 @@ module Vedeu | |
| 155 171 |  | 
| 156 172 | 
             
              end # Groups
         | 
| 157 173 |  | 
| 174 | 
            +
              # @!method hide_group
         | 
| 175 | 
            +
              #   @see Vedeu::Toggleable::ClassMethods#hide
         | 
| 176 | 
            +
              # @!method show_group
         | 
| 177 | 
            +
              #   @see Vedeu::Toggleable::ClassMethods#show
         | 
| 178 | 
            +
              # @!method toggle_group
         | 
| 179 | 
            +
              #   @see Vedeu::Toggleable::ClassMethods#toggle
         | 
| 180 | 
            +
              def_delegators Vedeu::Groups::Group, :hide_group, :show_group, :toggle_group
         | 
| 181 | 
            +
             | 
| 158 182 | 
             
            end # Vedeu
         | 
    
        data/lib/vedeu/groups/refresh.rb
    CHANGED
    
    | @@ -16,7 +16,8 @@ module Vedeu | |
| 16 16 |  | 
| 17 17 | 
             
                  include Vedeu::Common
         | 
| 18 18 |  | 
| 19 | 
            -
                  # @param name [String] The name of the group to be | 
| 19 | 
            +
                  # @param name [String|Symbol] The name of the group to be
         | 
| 20 | 
            +
                  #   refreshed.
         | 
| 20 21 | 
             
                  # @return [Array|Vedeu::Error::ModelNotFound] A collection of
         | 
| 21 22 | 
             
                  #   the names of interfaces refreshed, or an exception when the
         | 
| 22 23 | 
             
                  #   group was not found.
         | 
| @@ -26,7 +27,7 @@ module Vedeu | |
| 26 27 |  | 
| 27 28 | 
             
                  # Return a new instance of Vedeu::Groups::Refresh.
         | 
| 28 29 | 
             
                  #
         | 
| 29 | 
            -
                  # @param name [String]
         | 
| 30 | 
            +
                  # @param name [String|Symbol]
         | 
| 30 31 | 
             
                  # @return [Vedeu::Groups::Refresh]
         | 
| 31 32 | 
             
                  def initialize(name)
         | 
| 32 33 | 
             
                    @name = name
         | 
| @@ -21,4 +21,13 @@ module Vedeu | |
| 21 21 |  | 
| 22 22 | 
             
              end # Groups
         | 
| 23 23 |  | 
| 24 | 
            +
              # Manipulate the repository of groups.
         | 
| 25 | 
            +
              #
         | 
| 26 | 
            +
              # @example
         | 
| 27 | 
            +
              #   Vedeu.groups
         | 
| 28 | 
            +
              #
         | 
| 29 | 
            +
              # @!method groups
         | 
| 30 | 
            +
              # @return [Vedeu::Groups::Repository]
         | 
| 31 | 
            +
              def_delegators Vedeu::Groups::Repository, :groups
         | 
| 32 | 
            +
             | 
| 24 33 | 
             
            end # Vedeu
         | 
    
        data/lib/vedeu/input/capture.rb
    CHANGED
    
    
    
        data/lib/vedeu/input/keymap.rb
    CHANGED
    
    | @@ -19,7 +19,8 @@ module Vedeu | |
| 19 19 | 
             
                  # Returns a new instance of Vedeu::Input::Keymap.
         | 
| 20 20 | 
             
                  #
         | 
| 21 21 | 
             
                  # @param attributes [Hash]
         | 
| 22 | 
            -
                  # @option attributes name [String] The name of the | 
| 22 | 
            +
                  # @option attributes name [String|Symbol] The name of the
         | 
| 23 | 
            +
                  #   keymap.
         | 
| 23 24 | 
             
                  # @option attributes keys [Vedeu::Input::Keys|Array]
         | 
| 24 25 | 
             
                  #   A collection of keys.
         | 
| 25 26 | 
             
                  # @option attributes repository
         | 
    
        data/lib/vedeu/input/keymaps.rb
    CHANGED
    
    
    
        data/lib/vedeu/input/mapper.rb
    CHANGED
    
    
    
        data/lib/vedeu/logging/debug.rb
    CHANGED
    
    | @@ -13,6 +13,9 @@ module Vedeu | |
| 13 13 | 
             
                  # Helps to debug a running application by providing a stack
         | 
| 14 14 | 
             
                  # trace of its execution upon exiting.
         | 
| 15 15 | 
             
                  #
         | 
| 16 | 
            +
                  # @example
         | 
| 17 | 
            +
                  #   Vedeu.debug
         | 
| 18 | 
            +
                  #
         | 
| 16 19 | 
             
                  # @param filename [String]
         | 
| 17 20 | 
             
                  # @return [void]
         | 
| 18 21 | 
             
                  # @yieldreturn [void] The section of the application to debug.
         | 
| @@ -81,4 +84,14 @@ module Vedeu | |
| 81 84 |  | 
| 82 85 | 
             
              end # Logging
         | 
| 83 86 |  | 
| 87 | 
            +
              # Allow debugging via the creation of stack traces courtesy of
         | 
| 88 | 
            +
              # ruby-prof.
         | 
| 89 | 
            +
              #
         | 
| 90 | 
            +
              # @example
         | 
| 91 | 
            +
              #   Vedeu.debug
         | 
| 92 | 
            +
              #
         | 
| 93 | 
            +
              # @!method debug
         | 
| 94 | 
            +
              # @return [Vedeu::Logging::Debug]
         | 
| 95 | 
            +
              def_delegators Vedeu::Logging::Debug, :debug
         | 
| 96 | 
            +
             | 
| 84 97 | 
             
            end # Vedeu
         | 
    
        data/lib/vedeu/logging/log.rb
    CHANGED
    
    | @@ -178,4 +178,12 @@ module Vedeu | |
| 178 178 |  | 
| 179 179 | 
             
              end # Logging
         | 
| 180 180 |  | 
| 181 | 
            +
              # @!method log
         | 
| 182 | 
            +
              #   @see Vedeu::Logging::Log.log
         | 
| 183 | 
            +
              # @!method log_stdout
         | 
| 184 | 
            +
              #   @see Vedeu::Logging::Log.log_stdout
         | 
| 185 | 
            +
              # @!method log_stderr
         | 
| 186 | 
            +
              #   @see Vedeu::Logging::Log.log_stderr
         | 
| 187 | 
            +
              def_delegators Vedeu::Logging::Log, :log, :log_stdout, :log_stderr
         | 
| 188 | 
            +
             | 
| 181 189 | 
             
            end # Vedeu
         | 
    
        data/lib/vedeu/logging/timer.rb
    CHANGED
    
    | @@ -8,6 +8,8 @@ module Vedeu | |
| 8 8 |  | 
| 9 9 | 
             
                  class << self
         | 
| 10 10 |  | 
| 11 | 
            +
                    # Measure the execution time of the code in the given block.
         | 
| 12 | 
            +
                    #
         | 
| 11 13 | 
             
                    # @example
         | 
| 12 14 | 
             
                    #   Vedeu.timer 'message' do
         | 
| 13 15 | 
             
                    #     # ... code to be measured
         | 
| @@ -65,4 +67,15 @@ module Vedeu | |
| 65 67 |  | 
| 66 68 | 
             
              end # Logging
         | 
| 67 69 |  | 
| 70 | 
            +
              # Measure the execution time of the code in the given block.
         | 
| 71 | 
            +
              #
         | 
| 72 | 
            +
              # @example
         | 
| 73 | 
            +
              #   Vedeu.timer do
         | 
| 74 | 
            +
              #     # ... some code here ...
         | 
| 75 | 
            +
              #   end
         | 
| 76 | 
            +
              #
         | 
| 77 | 
            +
              # @!method timer
         | 
| 78 | 
            +
              #   @see Vedeu::Logging::Timer.timer
         | 
| 79 | 
            +
              def_delegators Vedeu::Logging::Timer, :timer
         | 
| 80 | 
            +
             | 
| 68 81 | 
             
            end # Vedeu
         | 
    
        data/lib/vedeu/menus/dsl.rb
    CHANGED
    
    | @@ -9,22 +9,12 @@ module Vedeu | |
| 9 9 |  | 
| 10 10 | 
             
                  include Vedeu::DSL
         | 
| 11 11 |  | 
| 12 | 
            -
                  # Return a new instance of Vedeu::Menus::DSL.
         | 
| 13 | 
            -
                  #
         | 
| 14 | 
            -
                  # @param model [Vedeu::Menus::Menu]
         | 
| 15 | 
            -
                  # @param client [Object]
         | 
| 16 | 
            -
                  # @return [Vedeu::Menus::DSL]
         | 
| 17 | 
            -
                  def initialize(model, client = nil)
         | 
| 18 | 
            -
                    @model  = model
         | 
| 19 | 
            -
                    @client = client
         | 
| 20 | 
            -
                  end
         | 
| 21 | 
            -
             | 
| 22 12 | 
             
                  # Add an individual item to the menu.
         | 
| 23 13 | 
             
                  #
         | 
| 24 14 | 
             
                  # @param element [Object] An object you wish to add to the
         | 
| 25 15 | 
             
                  #   collection.
         | 
| 26 16 | 
             
                  #
         | 
| 27 | 
            -
                  #   Vedeu.menu  | 
| 17 | 
            +
                  #   Vedeu.menu :my_menu do
         | 
| 28 18 | 
             
                  #     item SomeClass.new
         | 
| 29 19 | 
             
                  #     item SomeClass.new
         | 
| 30 20 | 
             
                  #   end
         | 
| @@ -38,14 +28,14 @@ module Vedeu | |
| 38 28 | 
             
                  # Define the items for the menu. Most powerful when used with
         | 
| 39 29 | 
             
                  # one of your model classes.
         | 
| 40 30 | 
             
                  #
         | 
| 41 | 
            -
                  # In the  | 
| 31 | 
            +
                  # In the :my_playlist example below, your `Track` model may
         | 
| 42 32 | 
             
                  # return a collection of tracks to populate the menu.
         | 
| 43 33 | 
             
                  #
         | 
| 44 | 
            -
                  #   Vedeu.menu  | 
| 34 | 
            +
                  #   Vedeu.menu :my_menu do
         | 
| 45 35 | 
             
                  #     items [:item_1, :item_2, :item_3]
         | 
| 46 36 | 
             
                  #   end
         | 
| 47 37 | 
             
                  #
         | 
| 48 | 
            -
                  #   Vedeu.menu  | 
| 38 | 
            +
                  #   Vedeu.menu :my_playlist do
         | 
| 49 39 | 
             
                  #     items Track.all_my_favourites
         | 
| 50 40 | 
             
                  #   end
         | 
| 51 41 | 
             
                  #
         | 
| @@ -61,14 +51,14 @@ module Vedeu | |
| 61 51 | 
             
                  # your application's execution lifetime.
         | 
| 62 52 | 
             
                  #
         | 
| 63 53 | 
             
                  #   Vedeu.menu do
         | 
| 64 | 
            -
                  #     name  | 
| 54 | 
            +
                  #     name :my_menu
         | 
| 65 55 | 
             
                  #     # ...
         | 
| 66 56 | 
             
                  #   end
         | 
| 67 57 | 
             
                  #
         | 
| 68 | 
            -
                  # @param  | 
| 58 | 
            +
                  # @param name [String|Symbol]
         | 
| 69 59 | 
             
                  # @return [String]
         | 
| 70 | 
            -
                  def name( | 
| 71 | 
            -
                    model.name =  | 
| 60 | 
            +
                  def name(name)
         | 
| 61 | 
            +
                    model.name = name
         | 
| 72 62 | 
             
                  end
         | 
| 73 63 | 
             
                  alias_method :name=, :name
         | 
| 74 64 |  |