stripe_tester 0.1.4 → 0.2.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.
- checksums.yaml +4 -4
- data/README.md +6 -1
- data/lib/stripe_tester/version.rb +1 -1
- data/lib/stripe_tester.rb +14 -13
- metadata +16 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 03f77dc454987b5d394885a5f23af9ddbb9e98cd
|
4
|
+
data.tar.gz: ee8bfc15c76f131687acf81f294e3f0caed1c441
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c1056d611de153c4a63085a7c5aef478b97e8a1452f398a329d106e3b3d366526876ce99f222f8fe886d0601dee0adeb520d29c4fadd9c76edade8b6970fe0cb
|
7
|
+
data.tar.gz: 6a5f8962533db3c50c85a91a201e7f1fb58fbbb9cd8d4cb97b5b12c1550ba459f29676a6c94bb34f9d67b6c3cf762d60d3ef23928ac8ed5e10f36221982d3fa9
|
data/README.md
CHANGED
@@ -10,7 +10,7 @@ StripeTester allows you to submit webhooks to your application without hitting S
|
|
10
10
|
|
11
11
|
Add this line to your application's Gemfile:
|
12
12
|
```ruby
|
13
|
-
gem 'stripe_tester', "~> 0.
|
13
|
+
gem 'stripe_tester', "~> 0.2.0"
|
14
14
|
```
|
15
15
|
And then execute:
|
16
16
|
```bash
|
@@ -67,6 +67,11 @@ StripeTester.create_event(:customer_subscription_created, {"data"=>{"object"=>{"
|
|
67
67
|
If you want to load the JSON only:
|
68
68
|
```ruby
|
69
69
|
json = StripeTester.load_template(:invoice_payment_failed)
|
70
|
+
```
|
71
|
+
|
72
|
+
You can also overwrite certain attributes in the JSON:
|
73
|
+
```ruby
|
74
|
+
json = StripeTester.load_template(:invoice_payment_failed, {"data"=>{"object"=>{"customer"=>"cus_MYCUSTOMERID"}}}, :method=>:merge)
|
70
75
|
```
|
71
76
|
|
72
77
|
## Supported Webhooks
|
data/lib/stripe_tester.rb
CHANGED
@@ -12,18 +12,9 @@ module StripeTester
|
|
12
12
|
# There are two options you can use. :method=>:overwrite, or :method=>:merge
|
13
13
|
# Each will use a different way of merging the new attributes.
|
14
14
|
def self.create_event(callback_type, attributes={}, options={method: :overwrite})
|
15
|
-
webhook_data = self.load_template(callback_type)
|
16
|
-
|
17
|
-
if webhook_data
|
18
|
-
unless attributes.empty?
|
19
|
-
if options[:method] == :merge
|
20
|
-
webhook_data = merge_attributes(webhook_data, attributes)
|
21
|
-
else
|
22
|
-
webhook_data = overwrite_attributes(webhook_data, attributes)
|
23
|
-
end
|
24
|
-
end
|
25
|
-
post_to_url(webhook_data)
|
26
|
-
end
|
15
|
+
webhook_data = self.load_template(callback_type, attributes, options)
|
16
|
+
|
17
|
+
post_to_url(webhook_data) if webhook_data
|
27
18
|
end
|
28
19
|
|
29
20
|
# replace multiple values for multiple keys in a hash
|
@@ -94,7 +85,7 @@ module StripeTester
|
|
94
85
|
end
|
95
86
|
|
96
87
|
# load yaml with specified callback type
|
97
|
-
def self.load_template(callback_type)
|
88
|
+
def self.load_template(callback_type, attributes={}, options={method: :overwrite})
|
98
89
|
spec = Gem::Specification.find_by_name("stripe_tester")
|
99
90
|
gem_root = spec.gem_dir
|
100
91
|
version = StripeTester.stripe_version
|
@@ -102,6 +93,16 @@ module StripeTester
|
|
102
93
|
path = gem_root + "/stripe_webhooks/#{version}/#{callback_type}.yml"
|
103
94
|
if File.exists?(path)
|
104
95
|
template = Psych.load_file(path)
|
96
|
+
|
97
|
+
unless attributes.empty?
|
98
|
+
if options[:method] == :merge
|
99
|
+
template = merge_attributes(template, attributes)
|
100
|
+
else
|
101
|
+
template = overwrite_attributes(template, attributes)
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
return template
|
105
106
|
else
|
106
107
|
raise "Webhook not found. Please use a correct webhook type or correct Stripe version"
|
107
108
|
end
|
metadata
CHANGED
@@ -1,83 +1,83 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stripe_tester
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Buttercloud
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-02-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.3'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.3'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: mocha
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: fakeweb
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - ~>
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '1.3'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - ~>
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '1.3'
|
83
83
|
description: Test Stripe webhooks locally
|
@@ -87,7 +87,7 @@ executables: []
|
|
87
87
|
extensions: []
|
88
88
|
extra_rdoc_files: []
|
89
89
|
files:
|
90
|
-
- .gitignore
|
90
|
+
- ".gitignore"
|
91
91
|
- Gemfile
|
92
92
|
- LICENSE.txt
|
93
93
|
- README.md
|
@@ -249,17 +249,17 @@ require_paths:
|
|
249
249
|
- lib
|
250
250
|
required_ruby_version: !ruby/object:Gem::Requirement
|
251
251
|
requirements:
|
252
|
-
- -
|
252
|
+
- - ">="
|
253
253
|
- !ruby/object:Gem::Version
|
254
254
|
version: 1.9.3
|
255
255
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
256
256
|
requirements:
|
257
|
-
- -
|
257
|
+
- - ">="
|
258
258
|
- !ruby/object:Gem::Version
|
259
259
|
version: '0'
|
260
260
|
requirements: []
|
261
261
|
rubyforge_project:
|
262
|
-
rubygems_version: 2.
|
262
|
+
rubygems_version: 2.2.2
|
263
263
|
signing_key:
|
264
264
|
specification_version: 4
|
265
265
|
summary: Test Stripe webhooks locally
|