dscf-banking 0.4.3 → 0.4.5

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
  SHA256:
3
- metadata.gz: 62982b0cad2a1b7cb691b2dc9ea75d8ab9df94874ab14e8ebf666f12196a6594
4
- data.tar.gz: 502e5b823ae9b25c029e4894ee577b3cbf03d4381cd553ab620259ddd0821d4f
3
+ metadata.gz: f764f4b5e4f7553dc346b1835f96121e002bfa92099433ba364188e143ad9fa1
4
+ data.tar.gz: b36403d3550af4a8a95bb107da9aeab7b5c7b7de91fcc90f6041f9e3bb0027ce
5
5
  SHA512:
6
- metadata.gz: 9100d4ae1ddc8996c123dc4818544e53416aa9acc846e654523db07be7bbb54c06a32aac5f175dfd5a2022ba036aaa24383f63ad835e18dbd2236864f1a20cee
7
- data.tar.gz: 1254e95686e5f38bd48be9bf1671456e0c909dc848b8971391d68ead6c74e6f1390f14841fd2466f276700da184f7a4ca85af81cfd6715293be70861660f023c
6
+ metadata.gz: ee47d83e10b5bb5a69c4ca40e27282e41d0bd8838df800ddd22f019059c1972b0dbc43dd49187b0ee03894d5cc6e2373c7049b83507656ec537b9832e7e13394
7
+ data.tar.gz: 792bd5f2fc5c96a072cca1ee59b3b3a818be47ab5905497448b0c193e4fee8ad4eca86d7ff2c5587d05bd8a07093d23591dee242a26768b0b11e56b5f1e51b60
@@ -54,7 +54,7 @@ module Dscf
54
54
  self
55
55
  end
56
56
 
57
- def redeem_voucher(code:, amount:, recipient_mobile:, destination_account: nil)
57
+ def redeem_voucher(code:, amount:, recipient_mobile: nil, destination_account: nil)
58
58
  amount = amount.to_f
59
59
  code = code.to_s.strip.upcase
60
60
  @voucher = Dscf::Banking::Voucher.find_by(code: code)
@@ -64,8 +64,8 @@ module Dscf
64
64
  return self
65
65
  end
66
66
 
67
- return self unless validate_redeem_params(amount, recipient_mobile)
68
- return self unless validate_voucher_state(@voucher, amount, recipient_mobile)
67
+ return self unless validate_redeem_params(amount)
68
+ return self unless validate_voucher_state(@voucher, amount)
69
69
  return self unless ensure_voucher_settlement_funds(@voucher.currency, amount)
70
70
 
71
71
  if destination_account
@@ -84,7 +84,7 @@ module Dscf
84
84
  voucher: @voucher,
85
85
  amount: amount,
86
86
  currency: @voucher.currency,
87
- recipient_mobile: recipient_mobile,
87
+ recipient_mobile: recipient_mobile.presence || "N/A",
88
88
  destination_account: destination_account,
89
89
  redeemed_at: Time.current
90
90
  )
@@ -197,21 +197,16 @@ module Dscf
197
197
  30.days.from_now
198
198
  end
199
199
 
200
- def validate_redeem_params(amount, recipient_mobile)
200
+ def validate_redeem_params(amount)
201
201
  if amount <= 0
202
202
  add_error("Redemption amount must be greater than zero")
203
203
  return false
204
204
  end
205
205
 
206
- if recipient_mobile.to_s.strip.empty?
207
- add_error("Recipient mobile is required")
208
- return false
209
- end
210
-
211
206
  true
212
207
  end
213
208
 
214
- def validate_voucher_state(voucher, amount, recipient_mobile)
209
+ def validate_voucher_state(voucher, amount)
215
210
  if voucher.cancelled?
216
211
  add_error("Voucher is cancelled")
217
212
  return false
@@ -227,11 +222,6 @@ module Dscf
227
222
  return false
228
223
  end
229
224
 
230
- if voucher.recipient_mobile != recipient_mobile
231
- add_error("Recipient mobile does not match")
232
- return false
233
- end
234
-
235
225
  if voucher.remaining_amount.to_f < amount
236
226
  add_error("Insufficient voucher balance")
237
227
  return false
@@ -1,5 +1,5 @@
1
1
  module Dscf
2
2
  module Banking
3
- VERSION = "0.4.3"
3
+ VERSION = "0.4.5"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dscf-banking
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ version: 0.4.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Asrat Efrem
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2026-02-24 00:00:00.000000000 Z
10
+ date: 2026-03-05 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: rails