module Inprovise::Sniffer
Sniffer
main module for Inprovise
- Author
-
Martin Corino
- License
-
Distributes under the same license as Ruby
Constants
- ROOT_SCRIPT
Public Class Methods
define(name, auto_trigger=true, &definition)
click to toggle source
# File lib/inprovise/sniff.rb, line 25 def define(name, auto_trigger=true, &definition) script = add_sniffer("sniff[#{name}]", &definition) sniffers.get(ROOT_SCRIPT).triggers(script.name) if auto_trigger script end
run_sniffers_for(node)
click to toggle source
# File lib/inprovise/sniff.rb, line 31 def run_sniffers_for(node) node.config[:attributes] ||= {} runner = Inprovise::ScriptRunner.new(node, 'sniffers') runner.set_index(@sniffers) runner.execute(:apply) end
sniffers()
click to toggle source
# File lib/inprovise/sniff.rb, line 12 def sniffers @sniffers ||= Inprovise::ScriptIndex.new('sniffers') end
Private Class Methods
add_sniffer(name, &definition)
click to toggle source
# File lib/inprovise/sniff.rb, line 16 def add_sniffer(name, &definition) Inprovise.log.local("Adding sniffer script #{name}") if Inprovise.verbosity > 2 script = Inprovise::Script.new(name) Inprovise::Script::DSL.new(script).instance_eval(&definition) if block_given? sniffers.add(script) script end