Sha256: 557946a21d3358468a1497d1f81b51e450b3ee14b77ad906d0e5d43655faffc5

Contents?: true

Size: 1.76 KB

Versions: 1

Compression:

Stored size: 1.76 KB

Contents

module Vedeu

  module Menus

    # Allows the storing of menus by name.
    #
    class Repository < Vedeu::Repositories::Repository

      singleton_class.send(:alias_method, :menus, :repository)

      real Vedeu::Menus::Menu
      null Vedeu::Menus::Null

    end # Repository

  end # Menus

  # Manipulate the repository of menus.
  #
  # @example
  #   Vedeu.menus
  #
  # @!method menus
  # @return [Vedeu::Menus::Repository]
  def_delegators Vedeu::Menus::Repository, :menus

  # See {file:docs/events/menu.md#\_menu_bottom_}
  Vedeu.bind(:_menu_bottom_) do |name|
    Vedeu.menus.by_name(name).bottom_item
  end

  # See {file:docs/events/menu.md#\_menu_current_}
  Vedeu.bind(:_menu_current_) do |name|
    Vedeu.menus.by_name(name).current_item
  end

  # See {file:docs/events/menu.md#\_menu_deselect_}
  Vedeu.bind(:_menu_deselect_) do |name|
    Vedeu.menus.by_name(name).deselect_item
  end

  # See {file:docs/events/menu.md#\_menu_items_}
  Vedeu.bind(:_menu_items_) { |name| Vedeu.menus.by_name(name).items }

  # See {file:docs/events/menu.md#\_menu_next_}
  Vedeu.bind(:_menu_next_) { |name| Vedeu.menus.by_name(name).next_item }

  # See {file:docs/events/menu.md#\_menu_prev_}
  Vedeu.bind(:_menu_prev_) { |name| Vedeu.menus.by_name(name).prev_item }

  # See {file:docs/events/menu.md#\_menu_selected_}
  Vedeu.bind(:_menu_selected_) do |name|
    Vedeu.menus.by_name(name).selected_item
  end

  # See {file:docs/events/menu.md#\_menu_select_}
  Vedeu.bind(:_menu_select_) do |name|
    Vedeu.menus.by_name(name).select_item
  end

  # See {file:docs/events/menu.md#\_menu_top_}
  Vedeu.bind(:_menu_top_) { |name| Vedeu.menus.by_name(name).top_item }

  # See {file:docs/events/menu.md#\_menu_view_}
  Vedeu.bind(:_menu_view_) { |name| Vedeu.menus.by_name(name).view }

end # Vedeu

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vedeu-0.6.30 lib/vedeu/menus/repository.rb