stripe_event 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -23,17 +23,20 @@ mount StripeEvent::Engine => "/stripe_event" # or provide a custom path
23
23
  # config/initializers/stripe.rb
24
24
  Stripe.api_key = ENV['STRIPE_API_KEY'] # Set your api key
25
25
 
26
- StripeEvent.subscribe 'charge.failed' do |event|
27
- # Define subscriber behavior
28
- MyClass.handle_failed_charge(event)
29
- end
26
+ StripeEvent.registration do
30
27
 
31
- StripeEvent.subscribe 'customer.created', 'customer.updated' do |event|
32
- # Handle multiple event types
33
- end
28
+ subscribe 'charge.failed' do |event|
29
+ MyClass.handle_failed_charge(event) # Define subscriber behavior
30
+ end
31
+
32
+ subscribe 'customer.created', 'customer.updated' do |event|
33
+ # Handle multiple event types
34
+ end
35
+
36
+ subscribe do |event|
37
+ # Handle all event types - logging, etc.
38
+ end
34
39
 
35
- StripeEvent.subscribe do |event|
36
- # Handle all event types - logging, etc.
37
40
  end
38
41
  ```
39
42
 
@@ -1,7 +1,7 @@
1
1
  module StripeEvent
2
2
  class Subscriber
3
- def initialize(names, &block)
4
- @names = Array(names)
3
+ def initialize(*names, &block)
4
+ @names = names
5
5
  @block = block
6
6
  ensure_valid_types!
7
7
  end
@@ -13,7 +13,7 @@ module StripeEvent
13
13
  private
14
14
 
15
15
  def pattern
16
- Regexp.union(@names.empty? ? TYPES : @names)
16
+ Regexp.union(@names.empty? ? TYPE_LIST : @names)
17
17
  end
18
18
 
19
19
  def proxied_block
@@ -23,7 +23,7 @@ module StripeEvent
23
23
  end
24
24
 
25
25
  def ensure_valid_types!
26
- invalid_names = @names.select { |name| !TYPES.include?(name) }
26
+ invalid_names = @names.select { |name| !TYPE_LIST.include?(name) }
27
27
  raise InvalidEventType.new(invalid_names) if invalid_names.any?
28
28
  end
29
29
  end
@@ -1,7 +1,7 @@
1
1
  module StripeEvent
2
2
  InvalidEventType = Class.new(StandardError)
3
3
 
4
- TYPES = [
4
+ TYPE_LIST = [
5
5
  'charge.succeeded',
6
6
  'charge.failed',
7
7
  'charge.refunded',
@@ -1,3 +1,3 @@
1
1
  module StripeEvent
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
data/lib/stripe_event.rb CHANGED
@@ -4,10 +4,8 @@ require "stripe_event/subscriber"
4
4
  require "stripe_event/types"
5
5
 
6
6
  module StripeEvent
7
-
8
- def self.configure
9
- yield self
10
- self
7
+ class << self
8
+ alias_method :registration, :instance_eval
11
9
  end
12
10
 
13
11
  def self.publish(event_obj)
@@ -15,7 +13,7 @@ module StripeEvent
15
13
  end
16
14
 
17
15
  def self.subscribe(*names, &block)
18
- Subscriber.new(names, &block).register
16
+ Subscriber.new(*names, &block).register
19
17
  end
20
18
 
21
19
  def self.subscribers(name)
@@ -23,7 +21,7 @@ module StripeEvent
23
21
  end
24
22
 
25
23
  def self.clear_subscribers!
26
- TYPES.each do |type|
24
+ TYPE_LIST.each do |type|
27
25
  subscribers(type).each { |s| unsubscribe(s) }
28
26
  end
29
27
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stripe_event
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-12 00:00:00.000000000 Z
12
+ date: 2012-07-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &70166290190600 !ruby/object:Gem::Requirement
16
+ requirement: &70352987846460 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '3.1'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70166290190600
24
+ version_requirements: *70352987846460
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: stripe
27
- requirement: &70166290190080 !ruby/object:Gem::Requirement
27
+ requirement: &70352987845820 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '1.6'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70166290190080
35
+ version_requirements: *70352987845820
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec-rails
38
- requirement: &70166290189520 !ruby/object:Gem::Requirement
38
+ requirement: &70352987845240 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '2.10'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70166290189520
46
+ version_requirements: *70352987845240
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: webmock
49
- requirement: &70166290188940 !ruby/object:Gem::Requirement
49
+ requirement: &70352987844700 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,18 +54,7 @@ dependencies:
54
54
  version: '1.8'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70166290188940
58
- - !ruby/object:Gem::Dependency
59
- name: rake
60
- requirement: &70166290188440 !ruby/object:Gem::Requirement
61
- none: false
62
- requirements:
63
- - - ! '>='
64
- - !ruby/object:Gem::Version
65
- version: '0'
66
- type: :development
67
- prerelease: false
68
- version_requirements: *70166290188440
57
+ version_requirements: *70352987844700
69
58
  description: Stripe webhook integration for Rails applications.
70
59
  email:
71
60
  - dwhalen@integrallis.com