module Fluent::Compat::PropagateDefault::ClassMethods

def config_param(name, type = nil, **kwargs, &block)

def config_param(name, type = nil, **kwargs, &block)
  CONFIGURABLE_CLASS_METHODS.instance_method(:config_param).bind(self).call(name, type, **kwargs, &block)
  pparams = propagate_default_params
  if kwargs.has_key?(:default) && pparams[name.to_s]
    newer = pparams[name.to_s].to_sym
    overridden_default_value = kwargs[:default]
    CONFIGURABLE_CLASS_METHODS.instance_method(:config_section).bind(self).call(:buffer) do
      config_set_default newer, overridden_default_value
    end
  end
end