Sha256: d1b4d695c864ab9b622a6edf5271156bbf860ffbc105eabc29187ceba197be91

Contents?: true

Size: 1.23 KB

Versions: 107

Compression:

Stored size: 1.23 KB

Contents

module OrigenTesters
  class IGXLBasedTester
    class Parser
      class DCSpecs < ::OrigenTesters::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

Version data entries

107 entries across 107 versions & 1 rubygems

Version Path
origen_testers-0.52.9 lib/origen_testers/igxl_based_tester/parser/dc_specs.rb
origen_testers-0.52.8 lib/origen_testers/igxl_based_tester/parser/dc_specs.rb
origen_testers-0.52.7 lib/origen_testers/igxl_based_tester/parser/dc_specs.rb
origen_testers-0.52.6 lib/origen_testers/igxl_based_tester/parser/dc_specs.rb
origen_testers-0.52.5 lib/origen_testers/igxl_based_tester/parser/dc_specs.rb
origen_testers-0.52.4 lib/origen_testers/igxl_based_tester/parser/dc_specs.rb
origen_testers-0.52.3 lib/origen_testers/igxl_based_tester/parser/dc_specs.rb
origen_testers-0.52.1 lib/origen_testers/igxl_based_tester/parser/dc_specs.rb
origen_testers-0.52.0 lib/origen_testers/igxl_based_tester/parser/dc_specs.rb
origen_testers-0.51.5 lib/origen_testers/igxl_based_tester/parser/dc_specs.rb
origen_testers-0.51.4 lib/origen_testers/igxl_based_tester/parser/dc_specs.rb
origen_testers-0.51.3 lib/origen_testers/igxl_based_tester/parser/dc_specs.rb
origen_testers-0.51.2 lib/origen_testers/igxl_based_tester/parser/dc_specs.rb
origen_testers-0.51.1 lib/origen_testers/igxl_based_tester/parser/dc_specs.rb
origen_testers-0.51.0 lib/origen_testers/igxl_based_tester/parser/dc_specs.rb
origen_testers-0.50.0 lib/origen_testers/igxl_based_tester/parser/dc_specs.rb
origen_testers-0.49.4 lib/origen_testers/igxl_based_tester/parser/dc_specs.rb
origen_testers-0.49.3 lib/origen_testers/igxl_based_tester/parser/dc_specs.rb
origen_testers-0.49.2 lib/origen_testers/igxl_based_tester/parser/dc_specs.rb
origen_testers-0.49.1 lib/origen_testers/igxl_based_tester/parser/dc_specs.rb