Class: RSMP::StatusMatcher
- Defined in:
- lib/rsmp/collect/status_matcher.rb
Overview
Match a specific status
Instance Attribute Summary
Attributes inherited from Matcher
Instance Method Summary collapse
Methods inherited from Matcher
#done?, #forget, #initialize, #keep, #perform_match
Constructor Details
This class inherits a constructor from RSMP::Matcher
Instance Method Details
#match(item) ⇒ Object
23 24 25 26 27 |
# File 'lib/rsmp/collect/status_matcher.rb', line 23 def match(item) return nil unless match_code(item) match_value?(item) end |
#match_code(item) ⇒ Object
4 5 6 7 8 9 10 |
# File 'lib/rsmp/collect/status_matcher.rb', line 4 def match_code(item) return nil if @want['sCI'] && @want['sCI'] != item['sCI'] return nil if @want['cO'] && @want['cO'] != item['cO'] return nil if @want['n'] && @want['n'] != item['n'] true end |
#match_value?(item) ⇒ Boolean
12 13 14 15 16 17 18 19 20 21 |
# File 'lib/rsmp/collect/status_matcher.rb', line 12 def match_value?(item) return false if @want['q'] && @want['q'] != item['q'] if @want['s'].is_a? Regexp return false if item['s'] !~ @want['s'] elsif @want['s'] return false if item['s'] != @want['s'] end true end |