rsmp 0.9.4 → 0.9.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a49bbf353b5a4adb3d680a56cdba0a116f1b401e8f536b4a2dcc8063c355e547
4
- data.tar.gz: b06a26d960020160286b64a45f670783967f2ebb214261ce821ee92126b2fab4
3
+ metadata.gz: 774c3a61fac3a93f87f5d8512da860cbf28cbfb47ff568d2035006d08ac98cf1
4
+ data.tar.gz: 238b160b9786c76e78639f9c470abcb196aa24476466a1e2ca53cbca8f41eb03
5
5
  SHA512:
6
- metadata.gz: c91fa2fd2ed113c3ebb095e7189c1c32c54d547532c76addb1ae2ec38a13804e06e7e2c45371ea366d45a26ab10a4fe5a02d60e7529620023e8f5aae3f35361d
7
- data.tar.gz: c32531fe57674815cbef9ff124c6cb0e575891e6de836fe9013e26f391efffe8b671c86b62c2da14d8472752af2b8d023e6175e4cd6eaa2cee92cdd023d52b11
6
+ metadata.gz: c8573e91e6d88cc6be7806d81098e4894d3b220f50997867fca64b8c1161f5f6019fed0383a70c7ee48d61182cdd0a38feb9be3509d2c624224235147839831c
7
+ data.tar.gz: 487cc05ad5fdb48ad7efbc5415640f2d1aeac49bebb7c2989b97e251a6d1d34e2bce6c6b03596190083c4eeb9b48eaaf33023d8ce382961c25f09a2c17c9db8b
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rsmp (0.9.4)
4
+ rsmp (0.9.5)
5
5
  async (~> 1.29.1)
6
6
  async-io (~> 1.32.2)
7
7
  colorize (~> 0.8.1)
@@ -1,8 +1,8 @@
1
1
  module RSMP
2
2
  # Class for waiting for specific command responses
3
3
  class AlarmCollector < Collector
4
- def initialize proxy, want, options={}
5
- @want = want
4
+ def initialize proxy,options={}
5
+ @query = options[:query] || {}
6
6
  super proxy, options.merge(
7
7
  type: 'Alarm',
8
8
  title:'alarm'
@@ -11,8 +11,23 @@ module RSMP
11
11
 
12
12
  def type_match? message
13
13
  return false if super(message) == false
14
- [:aCId, :aSp, :ack, :aS, :sS, :cat, :pri].each do |key|
15
- return false if @want[key] && @want[key] != message.attribute(key.to_s)
14
+
15
+ # match fixed attributes
16
+ %w{aCId aSp ack aS sS cat pri}.each do |key|
17
+ return false if @query[key] && @query[key] != message.attribute(key)
18
+ end
19
+
20
+ # match rvs items
21
+ if @query['rvs']
22
+ query_rvs = @query['rvs']
23
+ message_rvs = message.attributes['rvs']
24
+ return false unless message_rvs
25
+ return false unless query_rvs.all? do |query_item|
26
+ return false unless message_rvs.any? do |message_item|
27
+ next message_item['n'] == query_item['n'] && message_item['v'] == query_item['v']
28
+ end
29
+ next true
30
+ end
16
31
  end
17
32
  true
18
33
  end
data/lib/rsmp/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module RSMP
2
- VERSION = "0.9.4"
2
+ VERSION = "0.9.5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rsmp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.4
4
+ version: 0.9.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Emil Tin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-03-09 00:00:00.000000000 Z
11
+ date: 2022-03-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: async