module Hookit::Hook
Public Instance Methods
converge(map, list)
click to toggle source
# File lib/hookit/hook.rb, line 19 def converge(map, list) Converginator.new(map, list).converge! end
db()
click to toggle source
# File lib/hookit/hook.rb, line 33 def db @db ||= Hookit::DB.new end
detect_platform()
click to toggle source
# File lib/hookit/hook.rb, line 61 def detect_platform Hookit.platforms.each do |key, value| platform = value.new if platform.detect? return platform end end false end
dict()
click to toggle source
# File lib/hookit/hook.rb, line 37 def dict @dict ||= {} end
get(key)
click to toggle source
# File lib/hookit/hook.rb, line 45 def get(key) dict[key] end
log(level, message)
click to toggle source
# File lib/hookit/hook.rb, line 49 def log(level, message) logger.log level, message end
logger()
click to toggle source
# File lib/hookit/hook.rb, line 53 def logger @logger ||= Hookit::Logger.new(get(:logfile), get(:log_level)) end
method_missing(method_symbol, *args, &block)
click to toggle source
awesome resource-backed dsl
Calls superclass method
# File lib/hookit/hook.rb, line 72 def method_missing(method_symbol, *args, &block) resource_klass = Hookit.resources.get(method_symbol) if resource_klass resource = resource_klass.new(*args) resource.dict = dict resource.instance_eval(&block) if block_given? if resource.can_run? actions = resource.action if actions.length > 1 res = {} actions.each do |action| res[action] = resource.run action end res else resource.run actions.first end end else super end end
parse_payload()
click to toggle source
# File lib/hookit/hook.rb, line 11 def parse_payload if not ARGV.empty? MultiJson.load ARGV.first, symbolize_keys: true else {} end end
payload()
click to toggle source
# File lib/hookit/hook.rb, line 7 def payload @payload ||= parse_payload end
platform()
click to toggle source
# File lib/hookit/hook.rb, line 57 def platform @platform ||= detect_platform end
registry(key, value=nil)
click to toggle source
# File lib/hookit/hook.rb, line 23 def registry(key, value=nil) # normalize the catalog with keys key = key.to_sym unless value.nil? db.put(key, value) else db.fetch(key) end end
set(key, value)
click to toggle source
# File lib/hookit/hook.rb, line 41 def set(key, value) dict[key] = value end