Sha256: 8bfd5adb443f5b69f25bba272e38fb1a8c2f713621964dc0df85e8b9ad1fd988
Contents?: true
Size: 1.32 KB
Versions: 18
Compression:
Stored size: 1.32 KB
Contents
module Origen module Tester class Ultraflex class Parser class DCSpecs < Origen::Tester::Parser::SearchableHash attr_accessor :parser def initialize(options = {}) @parser = options[:parser] end def import(file) @categories = [] File.readlines(file).each do |line| unless line.strip.empty? components = line.split("\t") if components[3] == 'Selector' extract_categories(components) else unless components[1] == 'DC Specs' || components[1] == 'Symbol' extract_spec(components) end end end end end def inspect "<DCSpecs: #{size}>" end def extract_categories(components) components.each_with_index do |val, i| if i > 4 @categories << val unless val.strip.empty? end end @categories.uniq! end def extract_spec(components) name = components[1] self[name] ||= DCSpec.new(name, @categories, parser: parser) self[name].add_values(components) end end end end end end
Version data entries
18 entries across 18 versions & 1 rubygems