Class: Yoda::Store::Objects::Patch

Inherits:
Object
  • Object
show all
Defined in:
lib/yoda/store/objects/patch.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(id, contents = nil) ⇒ Patch

Returns a new instance of Patch.

Parameters:



13
14
15
16
# File 'lib/yoda/store/objects/patch.rb', line 13

def initialize(id, contents = nil)
  @id = id
  @registry = (contents || []).map { |content| [content.address.to_sym, content] }.to_h
end

Instance Attribute Details

#idObject (readonly)

Parameters:

  • id (String)


6
7
8
# File 'lib/yoda/store/objects/patch.rb', line 6

def id
  @id
end

#registryObject (readonly)

Parameters:



9
10
11
# File 'lib/yoda/store/objects/patch.rb', line 9

def registry
  @registry
end

Instance Method Details

#find(address) ⇒ Addressable?

Parameters:

  • address (String, Symbol)

Returns:



30
31
32
# File 'lib/yoda/store/objects/patch.rb', line 30

def find(address)
  @registry[address.to_sym]
end

#has_key?(address) ⇒ true, false

Parameters:

  • address (String, Symbol)

Returns:

  • (true, false)


36
37
38
# File 'lib/yoda/store/objects/patch.rb', line 36

def has_key?(address)
  @registry.has_key?(address.to_sym)
end

#keysArray<Symbol>

Returns:

  • (Array<Symbol>)


41
42
43
# File 'lib/yoda/store/objects/patch.rb', line 41

def keys
  @registry.keys
end

#register(addressable) ⇒ void

This method returns an undefined value.

Parameters:



20
21
22
23
24
25
26
# File 'lib/yoda/store/objects/patch.rb', line 20

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