bloom_remit_client 0.7.1 → 0.8.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
  SHA1:
3
- metadata.gz: 12d69116449ec9d78e86244312f3f1d4062deeaa
4
- data.tar.gz: 6167cf5e457238b510ffa565bb0b02fd7ad9e2f1
3
+ metadata.gz: 4d2ac0011b9288f84012fcabf5caa9d8956362d9
4
+ data.tar.gz: 1b6daf5dea39cc554485e8357f769a8fc9ecfff9
5
5
  SHA512:
6
- metadata.gz: 91f3a3cdb8ed88c9d23de864ba8c79c8f2e795ee1d0ff65ff5a2c87c8395ec54b5474ef946f9c05cdc73b811c8f6d0483045bb8156f68953c515adb6ad81f8b1
7
- data.tar.gz: 356a3336daf96788c6867bb116bea85094499222a1f1f80f6794f6b11eb01b88ed7a0e1141e2fc793fcb15b4acf3fe9ac05fc4c4a0f09b80da1810f607aa9085
6
+ metadata.gz: 376bc8ef29ce5e47535c5672cb7238fb76764a2f354fff680e1690fbeaf5f52f4831aadcdb4bfe6eb8bb091e7dd83e97eb722dc59960e325b143b20b6f3a62ca
7
+ data.tar.gz: 0356c4ef56ae1c4f9dd11e1b27d771cb914e9206c55b84b5fb28cf4d7d614643857019501f71d116c41b90df33ce30428da54b8cff7307cc630341f9fc0ab40a
data/CHANGELOG.md CHANGED
@@ -2,7 +2,11 @@
2
2
  All notable changes to this project will be documented in this file.
3
3
  This project adheres to [Semantic Versioning](http://semver.org/).
4
4
 
5
- ## [0.7.1]
5
+ ## [0.8.0] - 2016-09-16
6
+ ### Added
7
+ - Add a way to get the deposit strategies. `slug` and `name` for now
8
+
9
+ ## [0.7.1] - 2016-09-16
6
10
  ### Fixed
7
11
  - Factory `bloom_remit_client_create_payment_response` renamed to `bloom_remit_client_responses_payments_create`
8
12
 
@@ -10,7 +10,7 @@ module BloomRemitClient
10
10
  attribute :host, String, lazy: true, default: :default_host
11
11
  attribute :sandbox, Boolean, default: true
12
12
 
13
- validates :api_token, :api_secret, :host, presence: true
13
+ validates :host, presence: true
14
14
  validates :sandbox, inclusion: {in: [true, false]}
15
15
 
16
16
  # GET
@@ -18,7 +18,8 @@ module BloomRemitClient
18
18
  # Parameters: none
19
19
  def credits(params = {})
20
20
  request_params = params.merge(access_params)
21
- Requests::Credit::List.new(request_params).()
21
+ request = Requests::Credit::List.new(request_params)
22
+ request.call!
22
23
  end
23
24
 
24
25
  # GET
@@ -26,7 +27,8 @@ module BloomRemitClient
26
27
  # Parameters: none
27
28
  def credits_history(params = {})
28
29
  request_params = params.merge(access_params)
29
- Requests::Credit::History.new(request_params).()
30
+ request = Requests::Credit::History.new(request_params)
31
+ request.call!
30
32
  end
31
33
 
32
34
  # GET
@@ -44,19 +46,22 @@ module BloomRemitClient
44
46
  # optional
45
47
  def rates(params = {})
46
48
  request_params = params.merge(access_params)
47
- Requests::Rate::Show.new(request_params).()
49
+ request = Requests::Rate::Show.new(request_params)
50
+ request.call!
48
51
  end
49
52
 
50
53
  def billers(params={})
51
54
  request_params = params.merge(access_params)
52
- raw_response = Requests::Billers::List.new(request_params).()
55
+ request = Requests::Billers::List.new(request_params)
56
+ raw_response = request.call!
53
57
  Responses::Billers::List.new(raw_response: raw_response)
54
58
  end
55
59
 
56
60
  def create_sender(sender_params={})
57
61
  params = {sender: sender_params}
58
62
  request_params = params.merge(default_params).merge(access_params)
59
- raw_response = Requests::Senders::Create.new(request_params).()
63
+ request = Requests::Senders::Create.new(request_params)
64
+ raw_response = request.call!
60
65
  Responses::Senders::Create.new(raw_response: raw_response)
61
66
  end
62
67
 
@@ -64,7 +69,8 @@ module BloomRemitClient
64
69
  params = {payment: payment_params}.
65
70
  merge(sender_id: payment_params[:sender_id])
66
71
  request_params = params.merge(default_params).merge(access_params)
67
- raw_response = Requests::Payments::Create.new(request_params).()
72
+ request = Requests::Payments::Create.new(request_params)
73
+ raw_response = request.call!
68
74
  Responses::Payments::Create.new(raw_response: raw_response)
69
75
  end
70
76
 
@@ -72,7 +78,8 @@ module BloomRemitClient
72
78
  params = {recipient: recipient_params}.
73
79
  merge(sender_id: recipient_params[:sender_id])
74
80
  request_params = params.merge(default_params).merge(access_params)
75
- raw_response = Requests::Recipients::Create.new(request_params).()
81
+ request = Requests::Recipients::Create.new(request_params)
82
+ raw_response = request.call!
76
83
  Responses::Recipients::Create.new(raw_response: raw_response)
77
84
  end
78
85
 
@@ -81,10 +88,18 @@ module BloomRemitClient
81
88
  merge(sender_id: remittance_params[:sender_id]).
82
89
  merge(recipient_id: remittance_params[:recipient_id])
83
90
  request_params = params.merge(default_params).merge(access_params)
84
- raw_response = Requests::Remittances::Create.new(request_params).()
91
+ request = Requests::Remittances::Create.new(request_params)
92
+ raw_response = request.call!
85
93
  Responses::Remittances::Create.new(raw_response: raw_response)
86
94
  end
87
95
 
96
+ def deposit_strategies_list
97
+ request_params = access_params
98
+ request = Requests::DepositStrategies::List.new(request_params)
99
+ raw_response = request.call!
100
+ Responses::DepositStrategies::List.new(raw_response: raw_response)
101
+ end
102
+
88
103
  private
89
104
 
90
105
  # Should overwrite any other `:api_token`, `:api_secret`
@@ -0,0 +1,9 @@
1
+ module BloomRemitClient
2
+ class DepositStrategy
3
+
4
+ include Virtus.model
5
+ attribute :slug, String
6
+ attribute :name, String
7
+
8
+ end
9
+ end
@@ -4,12 +4,18 @@ module BloomRemitClient
4
4
  class Base
5
5
  include Virtus.model
6
6
  include ActiveModel::Validations
7
- include Concerns::HasBaseAuthentification
7
+ attribute :host, String
8
+ validates :host, presence: true
8
9
 
9
10
  def call
10
11
  RequestsSender.new(params).()
11
12
  end
12
13
 
14
+ def call!
15
+ fail(ArgumentError, self.errors.full_messages) if self.invalid?
16
+ call
17
+ end
18
+
13
19
  def params
14
20
  {
15
21
  type: type,
@@ -3,6 +3,8 @@ module BloomRemitClient
3
3
  module Billers
4
4
  class List < Base
5
5
 
6
+ include Concerns::HasBaseAuthentification
7
+
6
8
  PATH = "/api/v2/billers.json"
7
9
 
8
10
  private
@@ -3,6 +3,8 @@ module BloomRemitClient
3
3
  module Requests
4
4
  module Credit
5
5
  class History < Requests::Base
6
+ include Concerns::HasBaseAuthentification
7
+
6
8
  private
7
9
 
8
10
  def type
@@ -3,6 +3,8 @@ module BloomRemitClient
3
3
  module Requests
4
4
  module Credit
5
5
  class List < Requests::Base
6
+ include Concerns::HasBaseAuthentification
7
+
6
8
  private
7
9
 
8
10
  def type
@@ -0,0 +1,21 @@
1
+ module BloomRemitClient
2
+ module Requests
3
+ module DepositStrategies
4
+ class List < Base
5
+
6
+ PATH = "/api/v1/strategies.json"
7
+
8
+ private
9
+
10
+ def type
11
+ Requests::GET
12
+ end
13
+
14
+ def path
15
+ PATH
16
+ end
17
+
18
+ end
19
+ end
20
+ end
21
+ end
@@ -3,6 +3,8 @@ module BloomRemitClient
3
3
  module Payments
4
4
  class Create < Base
5
5
 
6
+ include Concerns::HasBaseAuthentification
7
+
6
8
  PATH = "/api/v2/payments.json"
7
9
 
8
10
  attribute :payment, Hash
@@ -3,6 +3,9 @@ module BloomRemitClient
3
3
  module Requests
4
4
  module Rate
5
5
  class Show < Requests::Base
6
+
7
+ include Concerns::HasBaseAuthentification
8
+
6
9
  PATH = '/api/v1/rates'
7
10
 
8
11
  attribute :currency, String
@@ -3,6 +3,8 @@ module BloomRemitClient
3
3
  module Recipients
4
4
  class Create < Base
5
5
 
6
+ include Concerns::HasBaseAuthentification
7
+
6
8
  PATH = "/api/v1/partners/:api_token/senders/:sender_id/recipients.json"
7
9
 
8
10
  attribute :recipient, Hash
@@ -3,6 +3,8 @@ module BloomRemitClient
3
3
  module Remittances
4
4
  class Create < Base
5
5
 
6
+ include Concerns::HasBaseAuthentification
7
+
6
8
  PATH = "/api/v1//partners/:api_token/senders/:sender_id/remittances.json"
7
9
 
8
10
  attribute :remittance, Hash
@@ -3,6 +3,8 @@ module BloomRemitClient
3
3
  module Senders
4
4
  class Create < Base
5
5
 
6
+ include Concerns::HasBaseAuthentification
7
+
6
8
  PATH = "/api/v1/partners/:token/senders.json"
7
9
 
8
10
  attribute :sender, Hash
@@ -0,0 +1,20 @@
1
+ module BloomRemitClient
2
+ module Responses
3
+ module DepositStrategies
4
+ class List < Base
5
+
6
+ attribute(:deposit_strategies, Array, {
7
+ lazy: true,
8
+ default: :default_deposit_strategies,
9
+ })
10
+
11
+ private
12
+
13
+ def default_deposit_strategies
14
+ body.map { |hash| DepositStrategy.new(hash) }
15
+ end
16
+
17
+ end
18
+ end
19
+ end
20
+ end
@@ -1,3 +1,3 @@
1
1
  module BloomRemitClient
2
- VERSION = "0.7.1"
2
+ VERSION = "0.8.0"
3
3
  end
@@ -10,6 +10,7 @@ require 'bloom_remit_client/concerns/has_base_authentification'
10
10
  require "bloom_remit_client/version"
11
11
  require "bloom_remit_client/client"
12
12
  require "bloom_remit_client/models/biller"
13
+ require "bloom_remit_client/models/deposit_strategy"
13
14
  require "bloom_remit_client/models/user"
14
15
  require "bloom_remit_client/models/payment"
15
16
  require "bloom_remit_client/models/remittance"
@@ -23,12 +24,14 @@ require "bloom_remit_client/requests/credit/list"
23
24
  require "bloom_remit_client/requests/credit/history"
24
25
  require "bloom_remit_client/requests/rate/show"
25
26
  require "bloom_remit_client/requests/billers/list"
27
+ require "bloom_remit_client/requests/deposit_strategies/list"
26
28
  require "bloom_remit_client/requests/senders/create"
27
29
  require "bloom_remit_client/requests/payments/create"
28
30
  require "bloom_remit_client/requests/remittances/create"
29
31
  require "bloom_remit_client/requests/recipients/create"
30
32
  require "bloom_remit_client/responses/base"
31
33
  require "bloom_remit_client/responses/billers/list"
34
+ require "bloom_remit_client/responses/deposit_strategies/list"
32
35
  require "bloom_remit_client/responses/senders/create"
33
36
  require "bloom_remit_client/responses/payments/create"
34
37
  require "bloom_remit_client/responses/remittances/create"
@@ -42,7 +45,7 @@ module BloomRemitClient
42
45
  attr_accessor :host
43
46
  attr_accessor :sandbox
44
47
 
45
- def new(args)
48
+ def new(args={})
46
49
  client_args = {}
47
50
  client_args[:host] = self.host if self.host.present?
48
51
  client_args[:sandbox] = self.sandbox if self.sandbox.present?
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bloom_remit_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ramon Tayag
@@ -194,6 +194,7 @@ files:
194
194
  - lib/bloom_remit_client/factories.rb
195
195
  - lib/bloom_remit_client/models/biller.rb
196
196
  - lib/bloom_remit_client/models/credit.rb
197
+ - lib/bloom_remit_client/models/deposit_strategy.rb
197
198
  - lib/bloom_remit_client/models/payment.rb
198
199
  - lib/bloom_remit_client/models/recipient.rb
199
200
  - lib/bloom_remit_client/models/remittance.rb
@@ -203,6 +204,7 @@ files:
203
204
  - lib/bloom_remit_client/requests/billers/list.rb
204
205
  - lib/bloom_remit_client/requests/credit/history.rb
205
206
  - lib/bloom_remit_client/requests/credit/list.rb
207
+ - lib/bloom_remit_client/requests/deposit_strategies/list.rb
206
208
  - lib/bloom_remit_client/requests/payments/create.rb
207
209
  - lib/bloom_remit_client/requests/rate/show.rb
208
210
  - lib/bloom_remit_client/requests/recipients/create.rb
@@ -212,6 +214,7 @@ files:
212
214
  - lib/bloom_remit_client/requests/url_builder.rb
213
215
  - lib/bloom_remit_client/responses/base.rb
214
216
  - lib/bloom_remit_client/responses/billers/list.rb
217
+ - lib/bloom_remit_client/responses/deposit_strategies/list.rb
215
218
  - lib/bloom_remit_client/responses/payments/create.rb
216
219
  - lib/bloom_remit_client/responses/recipients/create.rb
217
220
  - lib/bloom_remit_client/responses/remittances/create.rb