Class: Origen::Tester::Parser::SearchableArray
Direct Known Subclasses
J750::Parser::Flow, J750::Parser::Flows, Ultraflex::Parser::Flow, Ultraflex::Parser::Flows
Instance Method Summary (collapse)
Methods inherited from Array
#dups, #dups?, #dups_with_index, #ids
Instance Method Details
- (Object) where(conditions)
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/origen/tester/parser/searchable_array.rb', line 5 def where(conditions) exact = conditions.delete(:exact) results = SearchableArray.new each do |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 |