dwolla-ruby 2.6.2 → 2.6.3

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 CHANGED
@@ -2,7 +2,7 @@
2
2
  Official Ruby wrapper for Dwolla's API
3
3
 
4
4
  ## Version
5
- 2.6.2
5
+ 2.6.3
6
6
 
7
7
  [![Build Status](https://travis-ci.org/Dwolla/dwolla-ruby.svg?branch=master)](https://travis-ci.org/Dwolla/dwolla-ruby)
8
8
 
@@ -31,8 +31,26 @@ This repo includes various usage examples, including:
31
31
  * Transacting money (includes sending) [transactions.rb]
32
32
  * Getting a user's balance [balance.rb]
33
33
 
34
+ ## Concurrent requests
35
+
36
+ If making requests using any background processing library such as `Sidkiq` or `Resque`, we recommend that you manually pass in tokens to functions which take an OAuth token.
37
+
38
+ For example, we can do this with the `Contacts` class:
39
+
40
+ ```ruby
41
+ # Include the Dwolla gem
42
+ require 'rubygems'
43
+ require 'pp'
44
+ require 'dwolla'
45
+
46
+ Dwolla::Contacts.get(nil, "your_token")
47
+ ```
48
+
34
49
  ## Changelog
35
50
 
51
+ 2.6.3
52
+ * Fixed webhook validation, cleaned up OpenSSL Digest calls (thanks, @michaelblinn)!
53
+
36
54
  2.6.2
37
55
  * Fixed bug with generation of Off-Site Gateway checkout URLs
38
56
 
@@ -94,8 +94,7 @@ module Dwolla
94
94
 
95
95
  def self.read_callback(body)
96
96
  data = JSON.load(body)
97
-
98
- verify_callback_signature(data['Signature'], data['CheckoutId'], data['Amount'])
97
+ verify_callback_signature(data['signature'], data['checkoutId'], data['amount'])
99
98
 
100
99
  return data
101
100
  end
@@ -105,17 +104,16 @@ module Dwolla
105
104
  end
106
105
 
107
106
  private
108
-
109
- def self.verify_callback_signature(candidate=nil, checkout_id=nil, amount=nil)
107
+ def self.verify_callback_signature(candidate=nil, checkout_id=nil, amount=nil)
110
108
  key = "#{checkout_id}&#{amount}"
111
- digest = OpenSSL::Digest::Digest.new('sha1')
109
+ digest = OpenSSL::Digest.new('sha1')
112
110
  signature = OpenSSL::HMAC.hexdigest(digest, Dwolla::api_secret, key)
113
111
 
114
112
  raise APIError.new("Invalid callback signature (#{candidate} vs #{signature})") unless candidate == signature
115
113
  end
116
114
 
117
115
  def self.verify_webhook_signature(candidate=nil, body=nil)
118
- digest = OpenSSL::Digest::Digest.new('sha1')
116
+ digest = OpenSSL::Digest.new('sha1')
119
117
  signature = OpenSSL::HMAC.hexdigest(digest, Dwolla::api_secret, body)
120
118
 
121
119
  raise APIError.new("Invalid Webhook signature (#{candidate} vs #{signature})") unless candidate == signature
@@ -1,3 +1,3 @@
1
1
  module Dwolla
2
- VERSION = "2.6.2"
2
+ VERSION = "2.6.3"
3
3
  end
metadata CHANGED
@@ -1,18 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dwolla-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.6.2
4
+ version: 2.6.3
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Michael Schonfeld
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2014-10-20 00:00:00.000000000 Z
12
+ date: 2015-02-11 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: rest-client
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
19
  - - ~>
18
20
  - !ruby/object:Gem::Version
@@ -20,6 +22,7 @@ dependencies:
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
27
  - - ~>
25
28
  - !ruby/object:Gem::Version
@@ -27,6 +30,7 @@ dependencies:
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: multi_json
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
35
  - - ! '>='
32
36
  - !ruby/object:Gem::Version
@@ -37,6 +41,7 @@ dependencies:
37
41
  type: :runtime
38
42
  prerelease: false
39
43
  version_requirements: !ruby/object:Gem::Requirement
44
+ none: false
40
45
  requirements:
41
46
  - - ! '>='
42
47
  - !ruby/object:Gem::Version
@@ -47,6 +52,7 @@ dependencies:
47
52
  - !ruby/object:Gem::Dependency
48
53
  name: addressable
49
54
  requirement: !ruby/object:Gem::Requirement
55
+ none: false
50
56
  requirements:
51
57
  - - ! '>='
52
58
  - !ruby/object:Gem::Version
@@ -54,6 +60,7 @@ dependencies:
54
60
  type: :runtime
55
61
  prerelease: false
56
62
  version_requirements: !ruby/object:Gem::Requirement
63
+ none: false
57
64
  requirements:
58
65
  - - ! '>='
59
66
  - !ruby/object:Gem::Version
@@ -61,6 +68,7 @@ dependencies:
61
68
  - !ruby/object:Gem::Dependency
62
69
  name: mocha
63
70
  requirement: !ruby/object:Gem::Requirement
71
+ none: false
64
72
  requirements:
65
73
  - - ! '>='
66
74
  - !ruby/object:Gem::Version
@@ -68,6 +76,7 @@ dependencies:
68
76
  type: :development
69
77
  prerelease: false
70
78
  version_requirements: !ruby/object:Gem::Requirement
79
+ none: false
71
80
  requirements:
72
81
  - - ! '>='
73
82
  - !ruby/object:Gem::Version
@@ -75,6 +84,7 @@ dependencies:
75
84
  - !ruby/object:Gem::Dependency
76
85
  name: test-unit
77
86
  requirement: !ruby/object:Gem::Requirement
87
+ none: false
78
88
  requirements:
79
89
  - - ! '>='
80
90
  - !ruby/object:Gem::Version
@@ -82,6 +92,7 @@ dependencies:
82
92
  type: :development
83
93
  prerelease: false
84
94
  version_requirements: !ruby/object:Gem::Requirement
95
+ none: false
85
96
  requirements:
86
97
  - - ! '>='
87
98
  - !ruby/object:Gem::Version
@@ -89,6 +100,7 @@ dependencies:
89
100
  - !ruby/object:Gem::Dependency
90
101
  name: rake
91
102
  requirement: !ruby/object:Gem::Requirement
103
+ none: false
92
104
  requirements:
93
105
  - - ! '>='
94
106
  - !ruby/object:Gem::Version
@@ -96,6 +108,7 @@ dependencies:
96
108
  type: :development
97
109
  prerelease: false
98
110
  version_requirements: !ruby/object:Gem::Requirement
111
+ none: false
99
112
  requirements:
100
113
  - - ! '>='
101
114
  - !ruby/object:Gem::Version
@@ -156,26 +169,27 @@ files:
156
169
  homepage: https://github.com/dwolla/dwolla-ruby
157
170
  licenses:
158
171
  - MIT
159
- metadata: {}
160
172
  post_install_message:
161
173
  rdoc_options: []
162
174
  require_paths:
163
175
  - lib
164
176
  required_ruby_version: !ruby/object:Gem::Requirement
177
+ none: false
165
178
  requirements:
166
179
  - - ! '>='
167
180
  - !ruby/object:Gem::Version
168
181
  version: '0'
169
182
  required_rubygems_version: !ruby/object:Gem::Requirement
183
+ none: false
170
184
  requirements:
171
185
  - - ! '>='
172
186
  - !ruby/object:Gem::Version
173
187
  version: '0'
174
188
  requirements: []
175
189
  rubyforge_project: dwolla-ruby
176
- rubygems_version: 2.1.10
190
+ rubygems_version: 1.8.23
177
191
  signing_key:
178
- specification_version: 4
192
+ specification_version: 3
179
193
  summary: Official Ruby Wrapper for Dwolla's API
180
194
  test_files:
181
195
  - test/test_accounts.rb
checksums.yaml DELETED
@@ -1,15 +0,0 @@
1
- ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- YzJhM2M5ZDI1ZmIxODI2YTkwMDdiYmQ5NWIyNzgxYzFhNGU1ZjhhNw==
5
- data.tar.gz: !binary |-
6
- YzhjNDNhNmY3ZGY2ZGU2ZTA5ZTYxYWQ5NTU4MDI1OTM5YmM4YTVhOA==
7
- SHA512:
8
- metadata.gz: !binary |-
9
- MjIwYzFjMmE2NWQ3NzExYTliMDA1YzBjOWRkNmRlY2M3MGJmZjg0NzI2YzQ0
10
- ZWRlZjk3ZjEzNzczZjZmYTRmNmE0NWQ4NWY4MTAwNmQ3MmE4MDZjODE2ZmEy
11
- ZGVmNDNiYTM1ODdmYjA2YWYzM2EyODQ4N2Q2ZGMzNWM3ZTI4MDI=
12
- data.tar.gz: !binary |-
13
- YzYwNTNiZTFiNzFkZDI0OTZjZmJjYjlkYzBmZjc4MzZiYmM5MTBkY2JiMDZk
14
- N2E5MDdkYmY1NTJmZGJmYWQxZjZkYmJkYzlhZmI4YTBmY2QyZTYxOThjMzZi
15
- MTYyNjQxOGZhMWJkZTE0NGQzZDA5MzJkZDg2N2QwZDZmNTgxN2M=