module Fluent::Configurable
def self.included(mod)
def self.included(mod) mod.extend(ClassMethods) end
def configure(conf)
def configure(conf) self.class.config_params.each_pair {|name,(block,opts)| varname = :"@#{name}" if val = conf[name.to_s] val = self.instance_exec(val, opts, name, &block) instance_variable_set(varname, val) end unless instance_variable_defined?(varname) $log.error "config error in:\n#{conf}" raise ConfigError, "'#{name}' parameter is required" end } end
def initialize
def initialize self.class.config_defaults.each_pair {|name,defval| varname = :"@#{name}" instance_variable_set(varname, defval) } end