stripe_event 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -2,11 +2,10 @@
2
2
 
3
3
  [![Build Status](https://secure.travis-ci.org/integrallis/stripe_event.png?branch=master)](http://travis-ci.org/integrallis/stripe_event)
4
4
 
5
- stripe_event is built on the ActiveSupport::Notifications API. Incoming webhook requests are authenticated by retrieving the event from Stripe. Authenticated events are published to subscribers.
5
+ stripe_event is built on the ActiveSupport::Notifications API. Incoming webhook requests are authenticated by retrieving the [event object](https://stripe.com/docs/api?lang=ruby#event_object) from Stripe. Define subscriber blocks to handle one, many, or all event types.
6
6
 
7
7
  ## Install
8
8
 
9
-
10
9
  ```ruby
11
10
  # Gemfile
12
11
  gem 'stripe_event'
@@ -14,7 +13,7 @@ gem 'stripe_event'
14
13
 
15
14
  ```ruby
16
15
  # config/routes.rb
17
- mount StripeEvent::Engine => "/stripe_event" # or provide a custom path
16
+ mount StripeEvent::Engine => "/my-chosen-path" # provide a custom path
18
17
  ```
19
18
 
20
19
  ## Usage
@@ -23,8 +22,7 @@ mount StripeEvent::Engine => "/stripe_event" # or provide a custom path
23
22
  # config/initializers/stripe.rb
24
23
  Stripe.api_key = ENV['STRIPE_API_KEY'] # Set your api key
25
24
 
26
- StripeEvent.registration do
27
-
25
+ StripeEvent.setup do
28
26
  subscribe 'charge.failed' do |event|
29
27
  MyClass.handle_failed_charge(event) # Define subscriber behavior
30
28
  end
@@ -36,7 +34,6 @@ StripeEvent.registration do
36
34
  subscribe do |event|
37
35
  # Handle all event types - logging, etc.
38
36
  end
39
-
40
37
  end
41
38
  ```
42
39
 
@@ -1,8 +1,11 @@
1
1
  module StripeEvent
2
- class WebhookController < ApplicationController
2
+ class WebhookController < ActionController::Base
3
3
  def event
4
- StripeEvent.publish(@event)
4
+ event = Stripe::Event.retrieve(params[:id])
5
+ StripeEvent.publish(event)
5
6
  head :ok
7
+ rescue Stripe::StripeError
8
+ head :unauthorized
6
9
  end
7
10
  end
8
11
  end
@@ -7,7 +7,9 @@ module StripeEvent
7
7
  end
8
8
 
9
9
  def register
10
- ActiveSupport::Notifications.subscribe(pattern, proxied_block)
10
+ ActiveSupport::Notifications.subscribe(pattern) do |*_, payload|
11
+ @block.call(payload[:event])
12
+ end
11
13
  end
12
14
 
13
15
  private
@@ -16,12 +18,6 @@ module StripeEvent
16
18
  Regexp.union(@names.empty? ? TYPE_LIST : @names)
17
19
  end
18
20
 
19
- def proxied_block
20
- lambda do |name, started, finished, id, payload|
21
- @block.call(payload[:event])
22
- end
23
- end
24
-
25
21
  def ensure_valid_types!
26
22
  invalid_names = @names.select { |name| !TYPE_LIST.include?(name) }
27
23
  raise InvalidEventType.new(invalid_names) if invalid_names.any?
@@ -1,3 +1,3 @@
1
1
  module StripeEvent
2
- VERSION = "0.3.0"
2
+ VERSION = "0.3.1"
3
3
  end
data/lib/stripe_event.rb CHANGED
@@ -5,7 +5,12 @@ require "stripe_event/types"
5
5
 
6
6
  module StripeEvent
7
7
  class << self
8
- alias_method :registration, :instance_eval
8
+ alias_method :setup, :instance_eval
9
+ end
10
+
11
+ def self.registration(&block)
12
+ warn "[Deprecation Warning] StripeEvent.registration is deprecated. Use StripeEvent.setup."
13
+ instance_eval(&block)
9
14
  end
10
15
 
11
16
  def self.publish(event_obj)
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.3.0
4
+ version: 0.3.1
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-16 00:00:00.000000000 Z
12
+ date: 2012-08-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &70352987846460 !ruby/object:Gem::Requirement
16
+ requirement: &70103674405340 !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: *70352987846460
24
+ version_requirements: *70103674405340
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: stripe
27
- requirement: &70352987845820 !ruby/object:Gem::Requirement
27
+ requirement: &70103674404620 !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: *70352987845820
35
+ version_requirements: *70103674404620
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec-rails
38
- requirement: &70352987845240 !ruby/object:Gem::Requirement
38
+ requirement: &70103674420300 !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: *70352987845240
46
+ version_requirements: *70103674420300
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: webmock
49
- requirement: &70352987844700 !ruby/object:Gem::Requirement
49
+ requirement: &70103674419640 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: '1.8'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70352987844700
57
+ version_requirements: *70103674419640
58
58
  description: Stripe webhook integration for Rails applications.
59
59
  email:
60
60
  - dwhalen@integrallis.com
@@ -62,7 +62,6 @@ executables: []
62
62
  extensions: []
63
63
  extra_rdoc_files: []
64
64
  files:
65
- - app/controllers/stripe_event/application_controller.rb
66
65
  - app/controllers/stripe_event/webhook_controller.rb
67
66
  - config/routes.rb
68
67
  - lib/stripe_event/engine.rb
@@ -1,14 +0,0 @@
1
- module StripeEvent
2
- class ApplicationController < ActionController::Base
3
-
4
- # Authentication
5
- before_filter do
6
- begin
7
- @event = Stripe::Event.retrieve(params[:id])
8
- rescue Stripe::StripeError
9
- head :unauthorized
10
- end
11
- end
12
-
13
- end
14
- end