Sha256: 3e4b35405fcda0855e467b06a6b531811c67bba2d059dd4893b507828c00d659

Contents?: true

Size: 978 Bytes

Versions: 5

Compression:

Stored size: 978 Bytes

Contents

# frozen_string_literal: true

module Vedeu

  module Geometries

    # Allows the storing of interface/view geometry independent of the
    # interface instance.
    #
    class Repository < Vedeu::Repositories::Repository

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

      null Vedeu::Geometries::Geometry
      real Vedeu::Geometries::Geometry

    end # Repository

  end # Geometries

  # Manipulate the repository of geometries.
  #
  # @example
  #   Vedeu.geometries
  #
  # @api public
  # @!method geometries
  # @return [Vedeu::Geometries::Repository]
  def_delegators Vedeu::Geometries::Repository,
                 :geometries

  # :nocov:

  # See {file:docs/events/view.md#\_maximise_}
  Vedeu.bind(:_maximise_) do |name|
    Vedeu.geometries.by_name(name).maximise
  end

  # See {file:docs/events/view.md#\_unmaximise_}
  Vedeu.bind(:_unmaximise_) do |name|
    Vedeu.geometries.by_name(name).unmaximise
  end

  # :nocov:

end # Vedeu

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
vedeu-0.8.16 lib/vedeu/geometries/repository.rb
vedeu-0.8.15 lib/vedeu/geometries/repository.rb
vedeu-0.8.14 lib/vedeu/geometries/repository.rb
vedeu-0.8.13 lib/vedeu/geometries/repository.rb
vedeu-0.8.12 lib/vedeu/geometries/repository.rb