Class: RSMP::StatusMatcher

Inherits:
Matcher
  • Object
show all
Defined in:
lib/rsmp/collect/status_matcher.rb

Overview

Match a specific status response or update

Instance Attribute Summary

Attributes inherited from Matcher

#got, #message, #want

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) ⇒ Boolean

Match a status value against a matcher

Returns:

  • (Boolean)


5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/rsmp/collect/status_matcher.rb', line 5

def match? 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']
  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