Sha256: beb09ca66b4268d8782f1af88a07f03967c52de74206f8a6492ff5f46616dcb8
Contents?: true
Size: 1.19 KB
Versions: 2
Compression:
Stored size: 1.19 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] # @param [Array[Addressable], nil] def initialize(id, contents = nil) @id = id @registry = (contents || []).map { |content| [content.address.to_sym, content] }.to_h 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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
yoda-language-server-0.7.2 | lib/yoda/store/objects/patch.rb |
yoda-language-server-0.7.1 | lib/yoda/store/objects/patch.rb |