transferwise 0.2.3 → 0.2.4
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 +5 -5
- data/lib/transferwise.rb +5 -0
- data/lib/transferwise/request.rb +16 -2
- data/lib/transferwise/version.rb +1 -1
- data/transferwise.gemspec +4 -2
- metadata +46 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 2d0a6e29f9ad21db15765fadccd1d98e35d656fb4b765477741ec9c6b780abde
|
4
|
+
data.tar.gz: a08a3919d79ccb6841b6094d65afac3dee606202612403c66cba01f4cadb3918
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 20fee89c8d95c9524f7336427fcd1ec544405901b27b90d0b3b3e1533476942dd4c1caf29c57cba131695b643f719ee1dcade958175c8b2058171c369b5c2292
|
7
|
+
data.tar.gz: 6fcd46315d3fe5ebe74c5f96e7e4fd9798276d9efd3be8b8c964f904cdc30b0266bb556885c982b47aa5edcfd4cb8301024c55ec04a18efed6810935a1bcdb5b
|
data/lib/transferwise.rb
CHANGED
@@ -10,6 +10,11 @@ require "transferwise/version"
|
|
10
10
|
# Oauth2 Authentication
|
11
11
|
require "transferwise/oauth"
|
12
12
|
|
13
|
+
# ActiveSupport extensions
|
14
|
+
require 'active_support/core_ext/hash/indifferent_access'
|
15
|
+
require 'active_support/core_ext/object/blank'
|
16
|
+
require 'active_support/core_ext/string/inflections'
|
17
|
+
|
13
18
|
# Resources
|
14
19
|
require 'transferwise/transferwise_object'
|
15
20
|
require 'transferwise/api_resource'
|
data/lib/transferwise/request.rb
CHANGED
@@ -10,14 +10,20 @@ module Transferwise
|
|
10
10
|
request_opts = {
|
11
11
|
url: url,
|
12
12
|
method: method,
|
13
|
-
payload: params.to_json,
|
14
13
|
headers: request_headers(access_token).update(headers)
|
15
14
|
}
|
15
|
+
|
16
|
+
if method == :get
|
17
|
+
request_opts[:headers].update(params: params)
|
18
|
+
else
|
19
|
+
request_opts.update(payload: params.to_json)
|
20
|
+
end
|
21
|
+
|
16
22
|
response = execute_request(request_opts)
|
17
23
|
parse(response)
|
18
24
|
end
|
19
25
|
|
20
|
-
|
26
|
+
# Private class methods
|
21
27
|
|
22
28
|
def self.request_headers(access_token)
|
23
29
|
{
|
@@ -25,6 +31,7 @@ module Transferwise
|
|
25
31
|
'Content-Type' => 'application/json'
|
26
32
|
}
|
27
33
|
end
|
34
|
+
private_class_method :request_headers
|
28
35
|
|
29
36
|
def self.execute_request(request_opts)
|
30
37
|
begin
|
@@ -38,6 +45,7 @@ module Transferwise
|
|
38
45
|
end
|
39
46
|
response
|
40
47
|
end
|
48
|
+
private_class_method :execute_request
|
41
49
|
|
42
50
|
def self.parse(response)
|
43
51
|
begin
|
@@ -47,6 +55,7 @@ module Transferwise
|
|
47
55
|
end
|
48
56
|
response
|
49
57
|
end
|
58
|
+
private_class_method :parse
|
50
59
|
|
51
60
|
def self.handle_error(e, request_opts)
|
52
61
|
if e.is_a?(RestClient::ExceptionWithResponse) && e.response
|
@@ -55,6 +64,7 @@ module Transferwise
|
|
55
64
|
handle_restclient_error(e, request_opts)
|
56
65
|
end
|
57
66
|
end
|
67
|
+
private_class_method :handle_error
|
58
68
|
|
59
69
|
def self.handle_api_error(resp)
|
60
70
|
error_obj = parse(resp).with_indifferent_access
|
@@ -65,6 +75,7 @@ module Transferwise
|
|
65
75
|
raise Transferwise::TransferwiseError.new(error_params(error_message, resp, error_obj))
|
66
76
|
end
|
67
77
|
end
|
78
|
+
private_class_method :handle_api_error
|
68
79
|
|
69
80
|
def self.handle_restclient_error(e, request_opts)
|
70
81
|
connection_message = "Please check your internet connection and try again. "
|
@@ -81,6 +92,7 @@ module Transferwise
|
|
81
92
|
|
82
93
|
raise Transferwise::APIConnectionError.new({message: "#{message} \n\n (Error: #{e.message})"})
|
83
94
|
end
|
95
|
+
private_class_method :handle_restclient_error
|
84
96
|
|
85
97
|
def self.handle_parse_error(rcode, rbody)
|
86
98
|
Transferwise::ParseError.new({
|
@@ -89,6 +101,7 @@ module Transferwise
|
|
89
101
|
http_body: rbody
|
90
102
|
})
|
91
103
|
end
|
104
|
+
private_class_method :handle_parse_error
|
92
105
|
|
93
106
|
def self.error_params(error, resp, error_obj)
|
94
107
|
{
|
@@ -99,5 +112,6 @@ module Transferwise
|
|
99
112
|
http_headers: resp.headers
|
100
113
|
}
|
101
114
|
end
|
115
|
+
private_class_method :error_params
|
102
116
|
end
|
103
117
|
end
|
data/lib/transferwise/version.rb
CHANGED
data/transferwise.gemspec
CHANGED
@@ -27,9 +27,11 @@ Gem::Specification.new do |spec|
|
|
27
27
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
28
28
|
spec.require_paths = ["lib"]
|
29
29
|
|
30
|
-
spec.add_runtime_dependency
|
31
|
-
spec.add_runtime_dependency
|
30
|
+
spec.add_runtime_dependency "activesupport", ">= 3.0.0", "< 6.0"
|
31
|
+
spec.add_runtime_dependency "oauth2", ">= 1.4.0", "< 2.0"
|
32
|
+
spec.add_runtime_dependency "rest-client", ">= 1.4", "< 4.0"
|
32
33
|
spec.add_development_dependency "bundler", "~> 1.11"
|
33
34
|
spec.add_development_dependency "rake", "~> 10.0"
|
34
35
|
spec.add_development_dependency "rspec", "~> 3.0"
|
36
|
+
spec.add_development_dependency "webmock", "~> 3.0"
|
35
37
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: transferwise
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Harshvardhan Parihar
|
@@ -9,48 +9,68 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2018-
|
12
|
+
date: 2018-06-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
15
|
+
name: activesupport
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
18
|
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version:
|
20
|
+
version: 3.0.0
|
21
21
|
- - "<"
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: '
|
23
|
+
version: '6.0'
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
26
|
version_requirements: !ruby/object:Gem::Requirement
|
27
27
|
requirements:
|
28
28
|
- - ">="
|
29
29
|
- !ruby/object:Gem::Version
|
30
|
-
version:
|
30
|
+
version: 3.0.0
|
31
31
|
- - "<"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '6.0'
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
35
|
name: oauth2
|
36
36
|
requirement: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "<"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '2.0'
|
41
38
|
- - ">="
|
42
39
|
- !ruby/object:Gem::Version
|
43
40
|
version: 1.4.0
|
41
|
+
- - "<"
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '2.0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
46
|
version_requirements: !ruby/object:Gem::Requirement
|
47
47
|
requirements:
|
48
|
+
- - ">="
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: 1.4.0
|
48
51
|
- - "<"
|
49
52
|
- !ruby/object:Gem::Version
|
50
53
|
version: '2.0'
|
54
|
+
- !ruby/object:Gem::Dependency
|
55
|
+
name: rest-client
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
51
58
|
- - ">="
|
52
59
|
- !ruby/object:Gem::Version
|
53
|
-
version: 1.4
|
60
|
+
version: '1.4'
|
61
|
+
- - "<"
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '4.0'
|
64
|
+
type: :runtime
|
65
|
+
prerelease: false
|
66
|
+
version_requirements: !ruby/object:Gem::Requirement
|
67
|
+
requirements:
|
68
|
+
- - ">="
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '1.4'
|
71
|
+
- - "<"
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: '4.0'
|
54
74
|
- !ruby/object:Gem::Dependency
|
55
75
|
name: bundler
|
56
76
|
requirement: !ruby/object:Gem::Requirement
|
@@ -93,6 +113,20 @@ dependencies:
|
|
93
113
|
- - "~>"
|
94
114
|
- !ruby/object:Gem::Version
|
95
115
|
version: '3.0'
|
116
|
+
- !ruby/object:Gem::Dependency
|
117
|
+
name: webmock
|
118
|
+
requirement: !ruby/object:Gem::Requirement
|
119
|
+
requirements:
|
120
|
+
- - "~>"
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
version: '3.0'
|
123
|
+
type: :development
|
124
|
+
prerelease: false
|
125
|
+
version_requirements: !ruby/object:Gem::Requirement
|
126
|
+
requirements:
|
127
|
+
- - "~>"
|
128
|
+
- !ruby/object:Gem::Version
|
129
|
+
version: '3.0'
|
96
130
|
description: Ruby gem for Transferwise Apis
|
97
131
|
email:
|
98
132
|
- harsh@milaap.org
|
@@ -149,7 +183,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
149
183
|
version: '0'
|
150
184
|
requirements: []
|
151
185
|
rubyforge_project:
|
152
|
-
rubygems_version: 2.
|
186
|
+
rubygems_version: 2.7.3
|
153
187
|
signing_key:
|
154
188
|
specification_version: 4
|
155
189
|
summary: Ruby gem for Transferwise Apis
|