Class: Json::Merge::ThreeWayDecision::State

Inherits:
Data
  • Object
show all
Defined in:
lib/json/merge/three_way_decision.rb,
sig/json/merge.rbs

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#presentObject (readonly)

Returns the value of attribute present

Returns:

  • (Object)

    the current value of present



8
9
10
# File 'lib/json/merge/three_way_decision.rb', line 8

def present
  @present
end

#valueObject (readonly)

Returns the value of attribute value

Returns:

  • (Object)

    the current value of value



8
9
10
# File 'lib/json/merge/three_way_decision.rb', line 8

def value
  @value
end

Class Method Details

.missingState

Returns:



13
14
15
# File 'lib/json/merge/three_way_decision.rb', line 13

def self.missing
  @missing ||= new(present: false, value: nil)
end

.present(value) ⇒ State

Parameters:

  • value (Object)

Returns:



9
10
11
# File 'lib/json/merge/three_way_decision.rb', line 9

def self.present(value)
  new(present: true, value: value)
end

Instance Method Details

#to_hHash[Symbol, untyped]

Returns:

  • (Hash[Symbol, untyped])


17
18
19
# File 'lib/json/merge/three_way_decision.rb', line 17

def to_h
  present ? { present: true, value: value } : { present: false }
end