lib/abstract_notifier/base.rb in abstract_notifier-0.2.0 vs lib/abstract_notifier/base.rb in abstract_notifier-0.3.0

- old
+ new

@@ -32,12 +32,16 @@ @notifier_class = notifier_class @params = params end # rubocop:disable Style/MethodMissingSuper - def method_missing(method_name, *args) - notifier_class.new(method_name, params).public_send(method_name, *args) + def method_missing(method_name, *args, **kwargs) + if kwargs.empty? + notifier_class.new(method_name, **params).public_send(method_name, *args) + else + notifier_class.new(method_name, **params).public_send(method_name, *args, **kwargs) + end end # rubocop:enable Style/MethodMissingSuper def respond_to_missing?(*args) notifier_class.respond_to_missing?(*args) @@ -73,11 +77,11 @@ else AbstractNotifier.async_adapter end end - def default(method_name = nil, **hargs) - return @defaults_generator = Proc.new if block_given? + def default(method_name = nil, **hargs, &block) + return @defaults_generator = block if block_given? return @defaults_generator = proc { send(method_name) } unless method_name.nil? @default_params = if superclass.respond_to?(:default_params)