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