Class: Nl::Selector::State

Inherits:
Object
  • Object
show all
Defined in:
nl/lib/nl/sub_message.rb

Instance Method Summary collapse

Constructor Details

#initialize(local_count, external) ⇒ State

Returns a new instance of State.



51
52
53
54
# File 'nl/lib/nl/sub_message.rb', line 51

def initialize(local_count, external)
  @local = Array.new(local_count)
  @external = external
end

Instance Method Details

#fetch(values, key) ⇒ Object



68
69
70
71
# File 'nl/lib/nl/sub_message.rb', line 68

def fetch(values, key)
  value = values[key]
  value.nil? ? yield : value
end

#fetch_external(index) ⇒ Object



64
65
66
# File 'nl/lib/nl/sub_message.rb', line 64

def fetch_external(index)
  fetch(@external, index) { raise MissingSelectorValueError.new(:external, index) }
end

#fetch_local(index) ⇒ Object



60
61
62
# File 'nl/lib/nl/sub_message.rb', line 60

def fetch_local(index)
  fetch(@local, index) { raise MissingSelectorValueError.new(:local, index) }
end

#set_local(index, value) ⇒ Object



56
57
58
# File 'nl/lib/nl/sub_message.rb', line 56

def set_local(index, value)
  @local[index] = value
end