stripe_event 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +12 -9
- data/lib/stripe_event/subscriber.rb +4 -4
- data/lib/stripe_event/types.rb +1 -1
- data/lib/stripe_event/version.rb +1 -1
- data/lib/stripe_event.rb +4 -6
- metadata +10 -21
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.
|
27
|
-
# Define subscriber behavior
|
28
|
-
MyClass.handle_failed_charge(event)
|
29
|
-
end
|
26
|
+
StripeEvent.registration do
|
30
27
|
|
31
|
-
|
32
|
-
|
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 =
|
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? ?
|
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| !
|
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
|
data/lib/stripe_event/types.rb
CHANGED
data/lib/stripe_event/version.rb
CHANGED
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
|
-
|
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
|
-
|
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.
|
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
|
+
date: 2012-07-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
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: *
|
24
|
+
version_requirements: *70352987846460
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: stripe
|
27
|
-
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: *
|
35
|
+
version_requirements: *70352987845820
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rspec-rails
|
38
|
-
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: *
|
46
|
+
version_requirements: *70352987845240
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: webmock
|
49
|
-
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: *
|
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
|