Sha256: 0e9394ad46796495d9bbfe682eadd60734065329b12f43dd3a00917c4f3012ae

Contents?: true

Size: 761 Bytes

Versions: 2

Compression:

Stored size: 761 Bytes

Contents

module Vedeu

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

    class << self

      # @return [Vedeu::Cursors]
      def cursors
        @cursors ||= reset!
      end
      alias_method :repository, :cursors

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

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

    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

2 entries across 2 versions & 1 rubygems

Version Path
vedeu-0.4.17 lib/vedeu/repositories/repositories/cursors.rb
vedeu-0.4.16 lib/vedeu/repositories/repositories/cursors.rb