class TelosLWCP::Subscription

Attributes

block[RW]
command[RW]
matcher[RW]
object[RW]

Public Class Methods

new(command:, object:, matcher:, block:) click to toggle source
# File lib/telos_lwcp/subscription.rb, line 5
def initialize(command:, object:, matcher:, block:)
  self.command = Regexp === command ? command : /\A#{command}\Z/ if command
  self.object = Regexp === object ? object : /\A#{object}\Z/ if object
  self.matcher = matcher
  self.block = block
end

Public Instance Methods

call(cmd) click to toggle source
# File lib/telos_lwcp/subscription.rb, line 18
def call(cmd)
  block.call(cmd)
end
match?(cmd) click to toggle source
# File lib/telos_lwcp/subscription.rb, line 12
def match?(cmd)
  (command.nil? || command =~ cmd.command) &&
      (object.nil? || object =~ cmd.object) &&
      (matcher.nil? || matcher.call(cmd))
end