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)