lib/stripe_event/subscriber.rb in stripe_event-0.4.0 vs lib/stripe_event/subscriber.rb in stripe_event-0.5.0

- old
+ new

@@ -1,24 +1,25 @@ module StripeEvent class Subscriber def initialize(*names) @names = names - ensure_valid_types! + assert_valid_types! end - + def register(&block) - ActiveSupport::Notifications.subscribe(pattern) do |*_, payload| - block.call(payload[:event]) + ActiveSupport::Notifications.subscribe(pattern) do |*args| + event = ActiveSupport::Notifications::Event.new(*args) + block.call(event.payload) end end - + def pattern - Regexp.union(@names.empty? ? TYPE_LIST : @names) + Regexp.union(@names.empty? ? TYPE_LIST.to_a : @names) end - + private - - def ensure_valid_types! + + def assert_valid_types! invalid_names = @names.select { |name| !TYPE_LIST.include?(name) } raise InvalidEventTypeError.new(invalid_names) if invalid_names.any? end end end