class Populus::Accepter::Base
TODO: validators
Attributes
condition[RW]
metadata[RW]
runner[RW]
Public Class Methods
new(cond: nil, runs: nil, metadata: {})
click to toggle source
# File lib/populus/accepter.rb, line 10 def initialize(cond: nil, runs: nil, metadata: {}) self.condition = cond self.runner = runs self.metadata = metadata end
Public Instance Methods
accept(data)
click to toggle source
# File lib/populus/accepter.rb, line 23 def accept(data) if condition[data] Populus.logger.debug "Condition judged true: #{data.inspect}" instance_exec(data, &runner) return true else Populus.logger.debug "Condition judged false: #{data.inspect}" return false end end
on(hostname, &run_it)
click to toggle source
# File lib/populus/accepter.rb, line 34 def on(hostname, &run_it) be = Node.registry[hostname] if be RemoteRunner.new(be, &run_it) else Populus.logger.warn "Not found host: #{hostname}. Skip." end end
type?(t)
click to toggle source
# File lib/populus/accepter.rb, line 16 def type?(t) current_type = self.class.name.downcase .split('::') .last current_type == t end