Class: OrigenTesters::Parser::SearchableHash
- Inherits:
-
Hash
- Object
- Hash
- OrigenTesters::Parser::SearchableHash
- Defined in:
- lib/origen_testers/parser/searchable_hash.rb
Direct Known Subclasses
IGXLBasedTester::Parser::DCSpecs, IGXLBasedTester::Parser::PatternSets, IGXLBasedTester::Parser::TestInstances
Instance Method Summary collapse
Instance Method Details
#where(conditions) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/origen_testers/parser/searchable_hash.rb', line 4 def where(conditions) exact = conditions.delete(:exact) results = SearchableArray.new each do |key, item| if conditions.all? do |attr, val| if val.is_a?(Array) if exact val.any? { |v| item.send(attr).to_s == v.to_s } else val.any? { |v| item.send(attr).to_s =~ /#{v.to_s}/ } end else if exact item.send(attr).to_s == val.to_s else item.send(attr).to_s =~ /#{val.to_s}/ end end end results << item end end results end |