Sha256: 93b2fe9e88a3b66d8262c8c55149ba30e2c4e3aab9638b8f324e2a5538974a9e

Contents?: true

Size: 1.07 KB

Versions: 6

Compression:

Stored size: 1.07 KB

Contents

module Yoda
  module Store
    module Objects
      class Patch
        # @param id [String]
        attr_reader :id

        # @param registry [Hash{ Symbol => Addressable }]
        attr_reader :registry

        # @param id [String]
        def initialize(id)
          @id = id
          @registry = Hash.new
        end

        # @param addressable [Addressable]
        # @return [void]
        def register(addressable)
          if el = @registry[addressable.address.to_sym]
            @registry[addressable.address.to_sym] = el.merge(addressable)
          else
            @registry[addressable.address.to_sym] = addressable
          end
        end

        # @param address [String, Symbol]
        # @return [Addressable, nil]
        def find(address)
          @registry[address.to_sym]
        end

        # @param address [String, Symbol]
        # @return [true, false]
        def has_key?(address)
          @registry.has_key?(address.to_sym)
        end

        # @return [Array<Symbol>]
        def keys
          @registry.keys
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
yoda-language-server-0.7.0 lib/yoda/store/objects/patch.rb
yoda-language-server-0.6.2 lib/yoda/store/objects/patch.rb
yoda-language-server-0.6.1 lib/yoda/store/objects/patch.rb
yoda-language-server-0.6.0 lib/yoda/store/objects/patch.rb
yoda-language-server-0.5.0 lib/yoda/store/objects/patch.rb
yoda-language-server-0.4.0 lib/yoda/store/objects/patch.rb