lib/stripe_event.rb in stripe_event-0.1.1 vs lib/stripe_event.rb in stripe_event-0.2.0

- old
+ new

@@ -1,7 +1,8 @@ require "stripe" require "stripe_event/engine" +require "stripe_event/subscriber" require "stripe_event/types" module StripeEvent def self.configure @@ -11,13 +12,12 @@ def self.publish(event_obj) ActiveSupport::Notifications.instrument(event_obj.type, :event => event_obj) end - def self.subscribe(name, &block) - raise InvalidEventType.new(name) if !TYPES.include?(name) - ActiveSupport::Notifications.subscribe(name, proxy(&block)) + def self.subscribe(*names, &block) + Subscriber.new(names, &block).register end def self.subscribers(name) ActiveSupport::Notifications.notifier.listeners_for(name) end @@ -28,13 +28,7 @@ end end def self.unsubscribe(subscriber) ActiveSupport::Notifications.notifier.unsubscribe(subscriber) - end - - def self.proxy(&block) - lambda do |name, started, finished, id, payload| - block.call(payload[:event]) - end end end