Class: Origen::Tester::Ultraflex::Parser::PatternSet

Inherits:
Object
  • Object
show all
Defined in:
lib/origen/tester/ultraflex/parser/pattern_set.rb

Defined Under Namespace

Classes: Pattern

Class Method Summary (collapse)

Instance Method Summary (collapse)

Constructor Details

- (PatternSet) initialize(line, options = {})

Returns a new instance of PatternSet



52
53
54
55
56
# File 'lib/origen/tester/ultraflex/parser/pattern_set.rb', line 52

def initialize(line, options = {})
  @parser = options[:parser]
  p = add_pattern_line(line)
  @name = p.pattern_set if p.valid?
end

Class Method Details

+ (Object) extract_name(line)



70
71
72
# File 'lib/origen/tester/ultraflex/parser/pattern_set.rb', line 70

def self.extract_name(line)
  new(line).name
end

Instance Method Details

- (Object) add_pattern_line(line)



74
75
76
77
78
# File 'lib/origen/tester/ultraflex/parser/pattern_set.rb', line 74

def add_pattern_line(line)
  p = Pattern.new(line)
  patterns << Pattern.new(line) if p.valid?
  p
end

- (Object) inspect

:nodoc:



58
59
60
# File 'lib/origen/tester/ultraflex/parser/pattern_set.rb', line 58

def inspect  # :nodoc:
  "<PatternSet: #{name}>"
end

- (Object) name



62
63
64
# File 'lib/origen/tester/ultraflex/parser/pattern_set.rb', line 62

def name
  @name
end

- (Object) pattern_names

Returns an array containing all pattern names contained in this pattern set



86
87
88
89
# File 'lib/origen/tester/ultraflex/parser/pattern_set.rb', line 86

def pattern_names
  # This removes the path and extensions
  patterns.map { |pat| pat.name.gsub(/.*[\\\/]/, '').gsub(/\..*/, '') }
end

- (Object) patterns



66
67
68
# File 'lib/origen/tester/ultraflex/parser/pattern_set.rb', line 66

def patterns
  @patterns ||= []
end

- (Boolean) valid?

Returns:

  • (Boolean)


80
81
82
# File 'lib/origen/tester/ultraflex/parser/pattern_set.rb', line 80

def valid?
  patterns.all?(&:valid?)
end