class Ecu
def ==(other)
def ==(other) self.to_s == other.to_s end
def eql?(other)
def eql?(other) self == other end
def hash
def hash name.hash end
def initialize(name:, signals: SignalList.new([]), labels: LabelList.new([]), **hsh)
def initialize(name:, signals: SignalList.new([]), labels: LabelList.new([]), **hsh) @name = name @signals = case signals when String then SignalList.from_file(signals) when SignalList then signals else raise "Unknown signals format" end @labels = case labels when String then LabelList.from_file(labels) when LabelList then labels else raise "Unknown labels format" end @hsh = hsh end
def inspect
def inspect "<Ecu: #{name}>" end
def is_can?
def is_can? name[-3..-1] == "CAN" end
def method_missing(m, *args, &block)
def method_missing(m, *args, &block) @hsh.fetch(m) do raise ArgumentError.new("Cannot find property #{m}") end end
def respond_to?(m, include_all=false)
def respond_to?(m, include_all=false) @hsh.keys.include?(m) end
def shortname
def shortname name.sub(/:.*/, "") end
def to_s
def to_s name end