revolut 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1c27248c0547d99a8da6dfa4c8f1aa86a7613bcfdfbad18316d2f2c7a613058b
4
- data.tar.gz: e5b6217e7c2b6f20dd0c9dc4e4f1421d921612f6c79913fc4ea1662cdf8d6f40
3
+ metadata.gz: 422496e6b47c339ea92f6223ad2f53c157a348383aefcae6851b10cd957435be
4
+ data.tar.gz: 4c72ff8cca3ee0d322cea6adfc15d7072c279ad9962697b98468bc35fced9bd7
5
5
  SHA512:
6
- metadata.gz: ccc1e39c18f357723e1182c712b826fd89e45d24927d50ad4c9a04e7464a0da03ca38540d516ea9ee1e218bcd30148237c68de47be21321fa2da8ad039dde377
7
- data.tar.gz: 03e4191ffb43a664057d0b05e1bcdee061268f087d72ae2260144398901dbce23acc7983fe471429cfa8142e88fb6304e35ea705fafe398aa56a77996bd68cf5
6
+ metadata.gz: 946fee60d3665248f32628d611cb33752d72a1af7a755e7aa8ae24e13fffd9774c3c14b88aa1cefe9e7ace65923af93a91dfc93bd43e30aca48c99089bcb138f
7
+ data.tar.gz: 5e4fed6c36acf95b80fc31ccb167fde84ad6f72ec097e5e92becda5853058346b730d13b576f1a2451adbec9904f5603e0489ba0426bc06e80584004f2aa6f18
@@ -8,8 +8,8 @@ require 'revolut'
8
8
  # with your gem easier. You can also use a different console, if you like.
9
9
 
10
10
  # (If you use this, don't forget to add pry to your Gemfile!)
11
- # require "pry"
12
- # Pry.start
11
+ require 'pry'
12
+ Pry.start
13
13
 
14
- require 'irb'
15
- IRB.start(__FILE__)
14
+ # require 'irb'
15
+ # IRB.start(__FILE__)
@@ -5,6 +5,7 @@ require 'revolut/configuration'
5
5
 
6
6
  require 'revolut/clients/accounts'
7
7
  require 'revolut/clients/counterparties'
8
+ require 'revolut/clients/exchanges'
8
9
  require 'revolut/clients/payment_drafts'
9
10
  require 'revolut/clients/payments'
10
11
  require 'revolut/clients/webhooks'
@@ -14,6 +15,7 @@ module Revolut
14
15
  class Client
15
16
  include Revolut::Clients::Accounts
16
17
  include Revolut::Clients::Counterparties
18
+ include Revolut::Clients::Exchanges
17
19
  include Revolut::Clients::PaymentDrafts
18
20
  include Revolut::Clients::Payments
19
21
  include Revolut::Clients::Webhooks
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revolut
4
+ module Clients
5
+ # Revolut Exchanges
6
+ module Exchanges
7
+ def exchange_rate(from:, to:, amount:)
8
+ connection.get('rate', from: from, to: to, amount: amount)
9
+ end
10
+
11
+ def exchange(params = {})
12
+ connection.post('exchange', params)
13
+ end
14
+ end
15
+ end
16
+ end
@@ -33,39 +33,42 @@ module Revolut
33
33
  def request(method, path, query_params = {}, body_params = {})
34
34
  response = connection.send(method) do |request|
35
35
  request.url(path, query_params)
36
- request.headers['Content-Type'] = 'application/json'
36
+ add_request_headers!(request)
37
37
 
38
- if client.config.api_key
39
- request.headers['Authorization'] = "Bearer #{client.config.api_key}"
38
+ if Revolut::Utils.present?(body_params)
39
+ request.body = body_params.to_json
40
40
  end
41
-
42
- request.body = body_params.to_json
43
41
  end
44
42
 
45
43
  response
46
44
  end
47
45
 
48
- def connection
49
- conn_opts = {
50
- headers: { user_agent: client.config.user_agent },
51
- url: client.config.url,
52
- builder: middleware
53
- }
46
+ def add_request_headers!(request)
47
+ request.headers['Content-Type'] = 'application/json'
48
+ request.headers['Accept'] = 'application/json'
49
+
50
+ return unless client.config.api_key
54
51
 
55
- Faraday.new(conn_opts)
52
+ request.headers['Authorization'] = "Bearer #{client.config.api_key}"
56
53
  end
57
54
 
58
- def middleware
59
- @middleware ||= Faraday::RackBuilder.new do |builder|
55
+ def connection
56
+ Faraday.new(connection_options) do |builder|
60
57
  builder.request :json
61
58
 
62
- builder.use FaradayMiddleware::FollowRedirects
63
- builder.use FaradayMiddleware::Mashify, mash_class: Revolut::Mash
59
+ builder.response :mashify, mash_class: Revolut::Mash
64
60
  builder.use Revolut::Middleware::RaiseError
65
- builder.use FaradayMiddleware::ParseJson
61
+ builder.response :json
66
62
 
67
63
  builder.adapter Faraday.default_adapter
68
64
  end
69
65
  end
66
+
67
+ def connection_options
68
+ {
69
+ headers: { user_agent: client.config.user_agent },
70
+ url: client.config.url
71
+ }
72
+ end
70
73
  end
71
74
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Revolut
4
- VERSION = '1.1.0'
4
+ VERSION = '1.2.0'
5
5
  end
@@ -43,7 +43,7 @@ Gem::Specification.new do |spec|
43
43
  spec.add_development_dependency 'pry', '~> 0.12'
44
44
  spec.add_development_dependency 'rake', '~> 13.0'
45
45
  spec.add_development_dependency 'rspec', '~> 3.9'
46
- spec.add_development_dependency 'rubocop', '~> 0.76'
46
+ spec.add_development_dependency 'rubocop', '~> 0.77'
47
47
  spec.add_development_dependency 'simplecov', '~> 0.17'
48
48
  spec.add_development_dependency 'webmock', '~> 3.7'
49
49
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: revolut
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justas Palumickas
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-10-29 00:00:00.000000000 Z
11
+ date: 2019-12-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -114,14 +114,14 @@ dependencies:
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '0.76'
117
+ version: '0.77'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '0.76'
124
+ version: '0.77'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: simplecov
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -172,6 +172,7 @@ files:
172
172
  - lib/revolut/client.rb
173
173
  - lib/revolut/clients/accounts.rb
174
174
  - lib/revolut/clients/counterparties.rb
175
+ - lib/revolut/clients/exchanges.rb
175
176
  - lib/revolut/clients/payment_drafts.rb
176
177
  - lib/revolut/clients/payments.rb
177
178
  - lib/revolut/clients/webhooks.rb
@@ -188,8 +189,8 @@ licenses:
188
189
  - MIT
189
190
  metadata:
190
191
  bug_tracker_uri: https://github.com/jpalumickas/revolut-ruby/issues
191
- source_code_uri: https://github.com/jpalumickas/revolut-ruby/tree/v1.1.0
192
- changelog_uri: https://github.com/jpalumickas/revolut-ruby/releases/tag/v1.1.0
192
+ source_code_uri: https://github.com/jpalumickas/revolut-ruby/tree/v1.2.0
193
+ changelog_uri: https://github.com/jpalumickas/revolut-ruby/releases/tag/v1.2.0
193
194
  post_install_message:
194
195
  rdoc_options: []
195
196
  require_paths: