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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3e7a3ed5ba1a8f69ff9f0bbab3a68794f6252a39
4
- data.tar.gz: a1f7e079a1ead103d6a167e4a072e374e9387f62
3
+ metadata.gz: 03f77dc454987b5d394885a5f23af9ddbb9e98cd
4
+ data.tar.gz: ee8bfc15c76f131687acf81f294e3f0caed1c441
5
5
  SHA512:
6
- metadata.gz: 28700c73da4e0a8efe9550e3d3ac1e0cc3f32991aad1c0023027e1df5bcd9256f8edf5fdea11b7f4c0f7444b37c437dad80aaa5c35acab3c01295869613c00c5
7
- data.tar.gz: c0f1c3d209e2c3cb67181e0ca1dba2c89d53e2b7a842d3a46ba003c45021a6936c30d8a03ec904315b635987b05b4e8822ad0c027c54c7dc10f7401c700e29aa
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.1.4"
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
@@ -1,3 +1,3 @@
1
1
  module StripeTester
2
- VERSION = "0.1.4"
2
+ VERSION = "0.2.0"
3
3
  end
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.1.4
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: 2014-11-06 00:00:00.000000000 Z
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.1.11
262
+ rubygems_version: 2.2.2
263
263
  signing_key:
264
264
  specification_version: 4
265
265
  summary: Test Stripe webhooks locally