Sha256: ccf0e124378f16c5b4e79057d612cb8ae1b3d37ddf2ce0ee425f3f36ad595dae

Contents?: true

Size: 767 Bytes

Versions: 1

Compression:

Stored size: 767 Bytes

Contents

module Vedeu

  # Allows the storing of each interface's cursor.
  #
  class Cursors < Repository

    # @return [Vedeu::Cursors]
    def self.cursors
      @cursors ||= reset!
    end

    # @return [Vedeu::Cursor]
    def self.cursor
      cursors.by_name(Vedeu.focus) if Vedeu.focus
    end

    # @return [Vedeu::Cursors]
    def self.repository
      Vedeu.cursors
    end

    # @return [Vedeu::Cursors]
    def self.reset!
      @cursors = Vedeu::Cursors.register_repository(Vedeu::Cursor)
    end

    # @param name [String] The name of the stored cursor.
    # @return [Vedeu::Cursor]
    def by_name(name)
      if registered?(name)
        find(name)

      else
        Vedeu::Cursor.new(name: name).store

      end
    end

  end # Cursors

end # Vedeu

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vedeu-0.4.15 lib/vedeu/repositories/repositories/cursors.rb