class Iface::ValueSet

Represents a generic set of NAME=value pairs

Constants

VAR_HANDLERS

Public Class Methods

new(io) click to toggle source
# File lib/iface/value_set.rb, line 8
def initialize(io)
  @vars = {}
  io.each_line do |line|
    edited_line = line.sub(/#.*$/, '').strip
    next if edited_line.empty?
    pair = Pair.create(edited_line, value_set: self)
    @vars[pair.name] = pair
  end
end

Public Instance Methods

[](name) click to toggle source
# File lib/iface/value_set.rb, line 18
def [](name)
  @vars[name.upcase]&.value
end
[]=(name, value) click to toggle source
# File lib/iface/value_set.rb, line 22
def []=(name, value)
  key = name.upcase
  if @vars.key?(key)
    @vars[key].value = value
  else
    @vars[key] = Pair.create(key, value, value_set: self)
  end
end
fetch_raw(name) click to toggle source
# File lib/iface/value_set.rb, line 31
def fetch_raw(name)
  @vars[name.upcase]&.raw_value
end
has_key?(name)
Alias for: key?
key?(name) click to toggle source
# File lib/iface/value_set.rb, line 35
def key?(name)
  @vars.key?(name.upcase)
end
Also aliased as: has_key?
to_s() click to toggle source
# File lib/iface/value_set.rb, line 40
def to_s
  "#{@vars.values.map(&:to_s).join("\n")}\n"
end