# File lib/fluent/configurable.rb, line 94 def config_param(name, *args, &block) configure_proxy(self.name).config_param(name, *args, &block) attr_accessor name end
# File lib/fluent/configurable.rb, line 103 def config_section(name, *args, &block) configure_proxy(self.name).config_section(name, *args, &block) attr_accessor configure_proxy(self.name).sections[name].param_name end
# File lib/fluent/configurable.rb, line 99 def config_set_default(name, defval) configure_proxy(self.name).config_set_default(name, defval) end
# File lib/fluent/configurable.rb, line 85 def configure_proxy(mod_name) map = configure_proxy_map unless map[mod_name] proxy = Fluent::Config::ConfigureProxy.new(mod_name, required: true, multi: false) map[mod_name] = proxy end map[mod_name] end
# File lib/fluent/configurable.rb, line 79 def configure_proxy_map map = {} self.define_singleton_method(:configure_proxy_map){ map } map end
# File lib/fluent/configurable.rb, line 108 def merged_configure_proxy configurables = ancestors.reverse.select{ |a| a.respond_to?(:configure_proxy) } # 'a.object_id.to_s' is to support anonymous class # which created in tests to overwrite original behavior temporally # # p Module.new.name #=> nil # p Class.new.name #=> nil # p AnyGreatClass.dup.name #=> nil configurables.map{ |a| a.configure_proxy(a.name || a.object_id.to_s) }.reduce(:merge) end
Generated with the Darkfish Rdoc Generator 2.