rsmp 0.9.2 → 0.9.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/rsmp/collect/alarm_collector.rb +35 -0
- data/lib/rsmp/collect/alarm_query.rb +15 -0
- data/lib/rsmp/site_proxy.rb +0 -9
- data/lib/rsmp/tlc/traffic_controller.rb +1 -1
- data/lib/rsmp/version.rb +1 -1
- data/lib/rsmp.rb +2 -0
- metadata +4 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 774c3a61fac3a93f87f5d8512da860cbf28cbfb47ff568d2035006d08ac98cf1
         | 
| 4 | 
            +
              data.tar.gz: 238b160b9786c76e78639f9c470abcb196aa24476466a1e2ca53cbca8f41eb03
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: c8573e91e6d88cc6be7806d81098e4894d3b220f50997867fca64b8c1161f5f6019fed0383a70c7ee48d61182cdd0a38feb9be3509d2c624224235147839831c
         | 
| 7 | 
            +
              data.tar.gz: 487cc05ad5fdb48ad7efbc5415640f2d1aeac49bebb7c2989b97e251a6d1d34e2bce6c6b03596190083c4eeb9b48eaaf33023d8ce382961c25f09a2c17c9db8b
         | 
    
        data/Gemfile.lock
    CHANGED
    
    
| @@ -0,0 +1,35 @@ | |
| 1 | 
            +
            module RSMP
         | 
| 2 | 
            +
              # Class for waiting for specific command responses
         | 
| 3 | 
            +
              class AlarmCollector < Collector
         | 
| 4 | 
            +
                def initialize proxy,options={}
         | 
| 5 | 
            +
                  @query = options[:query] || {}
         | 
| 6 | 
            +
                  super proxy, options.merge(
         | 
| 7 | 
            +
                    type: 'Alarm',
         | 
| 8 | 
            +
                    title:'alarm'
         | 
| 9 | 
            +
                  )
         | 
| 10 | 
            +
                end
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                def type_match? message
         | 
| 13 | 
            +
                  return false if super(message) == false
         | 
| 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
         | 
| 31 | 
            +
                  end
         | 
| 32 | 
            +
                  true
         | 
| 33 | 
            +
                end
         | 
| 34 | 
            +
              end
         | 
| 35 | 
            +
            end
         | 
| @@ -0,0 +1,15 @@ | |
| 1 | 
            +
            module RSMP
         | 
| 2 | 
            +
              # Match a specific alarm
         | 
| 3 | 
            +
              class AlarmQuery < Query
         | 
| 4 | 
            +
                # Match an alarm value against a query
         | 
| 5 | 
            +
                def match? item
         | 
| 6 | 
            +
                  return false if @want['n'] && @want['n'] != item['n']
         | 
| 7 | 
            +
                  if @want['v'].is_a? Regexp
         | 
| 8 | 
            +
                    return false if item['v'] !~ @want['v']
         | 
| 9 | 
            +
                  elsif @want['v']
         | 
| 10 | 
            +
                    return false if item['v'] != @want['v']
         | 
| 11 | 
            +
                  end
         | 
| 12 | 
            +
                  true
         | 
| 13 | 
            +
                end
         | 
| 14 | 
            +
              end
         | 
| 15 | 
            +
            end
         | 
    
        data/lib/rsmp/site_proxy.rb
    CHANGED
    
    | @@ -346,14 +346,5 @@ module RSMP | |
| 346 346 | 
             
                  @supervisor.notify_error e, options if @supervisor
         | 
| 347 347 | 
             
                  distribute_error e, options
         | 
| 348 348 | 
             
                end
         | 
| 349 | 
            -
             | 
| 350 | 
            -
                def collect_alarms options={}
         | 
| 351 | 
            -
                  collect(@task,options.merge(type: "Alarm")) do |alarm|
         | 
| 352 | 
            -
                    next if options[:aCId] && options[:aCId] != alarm.attribute("aCId")
         | 
| 353 | 
            -
                    next if options[:aSp] && options[:aSp] != alarm.attribute("aSp")
         | 
| 354 | 
            -
                    next if options[:aS] && options[:aS] != alarm.attribute("aS")
         | 
| 355 | 
            -
                    :keep
         | 
| 356 | 
            -
                  end
         | 
| 357 | 
            -
                end
         | 
| 358 349 | 
             
              end
         | 
| 359 350 | 
             
            end
         | 
| @@ -272,7 +272,7 @@ module RSMP | |
| 272 272 | 
             
                    return unless idx>=0 && input<@num_inputs # TODO should NotAck
         | 
| 273 273 | 
             
                    @input_activations[idx] = bool_string_to_digit arg['status']
         | 
| 274 274 | 
             
                    recompute_input idx
         | 
| 275 | 
            -
                    if @input_activations[idx]
         | 
| 275 | 
            +
                    if @input_activations[idx] == '1'
         | 
| 276 276 | 
             
                      log "Activating input #{idx+1}", level: :info
         | 
| 277 277 | 
             
                    else
         | 
| 278 278 | 
             
                      log "Deactivating input #{idx+1}", level: :info
         | 
    
        data/lib/rsmp/version.rb
    CHANGED
    
    
    
        data/lib/rsmp.rb
    CHANGED
    
    | @@ -25,9 +25,11 @@ require 'rsmp/collect/filter' | |
| 25 25 | 
             
            require 'rsmp/collect/query'
         | 
| 26 26 | 
             
            require 'rsmp/collect/status_query'
         | 
| 27 27 | 
             
            require 'rsmp/collect/command_query'
         | 
| 28 | 
            +
            require 'rsmp/collect/alarm_query'
         | 
| 28 29 | 
             
            require 'rsmp/collect/status_collector'
         | 
| 29 30 | 
             
            require 'rsmp/collect/command_response_collector'
         | 
| 30 31 | 
             
            require 'rsmp/collect/aggregated_status_collector'
         | 
| 32 | 
            +
            require 'rsmp/collect/alarm_collector'
         | 
| 31 33 | 
             
            require 'rsmp/component'
         | 
| 32 34 | 
             
            require 'rsmp/site'
         | 
| 33 35 | 
             
            require 'rsmp/proxy'
         | 
    
        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 | 
            +
              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- | 
| 11 | 
            +
            date: 2022-03-10 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: async
         | 
| @@ -211,6 +211,8 @@ files: | |
| 211 211 | 
             
            - lib/rsmp/archive.rb
         | 
| 212 212 | 
             
            - lib/rsmp/cli.rb
         | 
| 213 213 | 
             
            - lib/rsmp/collect/aggregated_status_collector.rb
         | 
| 214 | 
            +
            - lib/rsmp/collect/alarm_collector.rb
         | 
| 215 | 
            +
            - lib/rsmp/collect/alarm_query.rb
         | 
| 214 216 | 
             
            - lib/rsmp/collect/collector.rb
         | 
| 215 217 | 
             
            - lib/rsmp/collect/command_query.rb
         | 
| 216 218 | 
             
            - lib/rsmp/collect/command_response_collector.rb
         |