bloom_remit_client 0.7.1 → 0.8.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: 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