dscf-payment 0.1.6 → 0.1.8

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: bb4ed8b340f467eabfa446383cede02fdd30537e470104d95063f66657902337
4
- data.tar.gz: 555b14c2275da29a95047410cc4ed54302f6c42c2e40a6241223d77a425e6273
3
+ metadata.gz: 314ce0077d4cdb20b91335c9edc045e7d690d695ce57eab7bba930b124e43b0b
4
+ data.tar.gz: 31277fdaa4177e430a4d3389824d9c78770cb3c1bc8e7cb90a16ab138ba8f7d7
5
5
  SHA512:
6
- metadata.gz: 3ec5102e665b5819228f84d16a011f5bf56fe6571036e1e0f9565d349e3b2e5726af03fd1f6511bac96fb52a312c3b488babffa6e36b63b4f3e50a0b2fea02f9
7
- data.tar.gz: 0a2647377b7485ccc2fd67cf44e9ef72d1ec7caffd731467b31a85f509d973fdb92f1924725612a71173308002f32e8a091ccbe938309f2a001bc346e956bce2
6
+ metadata.gz: 2d858654411208a5d7a72cbd0f90874e81a9f2f8f70fc6d971a5acf1627b4c564435810bdfa01e21f0d31e55c897d2d4dce0e522cef38cef749d5bf86fd368d5
7
+ data.tar.gz: cfb300c72fc53999ca2d98d781fe0d3eb600ea12deb7fde534664ae82c1dc56f94c242bd4bc798bf90d943f4aae16604f6f51ce86bead51d1db754951b2e63fd
@@ -1,5 +1,6 @@
1
1
  module Dscf::Payment
2
2
  class PaymentRequestsController < ApplicationController
3
+ skip_before_action :authorize, only: [:process_payment]
3
4
  include Dscf::Core::Common
4
5
 
5
6
  rescue_from ActiveRecord::RecordNotFound, with: :record_not_found
@@ -49,7 +50,7 @@ module Dscf::Payment
49
50
  :to_account_id,
50
51
  :payable_type,
51
52
  :payable_id,
52
- metadata: {}
53
+ metadata: [ :loan_profile_id, :eligible_credit_line_id, :loan_id ]
53
54
  )
54
55
  end
55
56
 
@@ -56,11 +56,13 @@ module Dscf::Payment
56
56
  settlement_account = SettlementAccountService.settlement_account_for(currency: payment_request.currency)
57
57
 
58
58
  # First, process the credit disbursement
59
+ loan_profile = Dscf::Credit::LoanProfile.find(payment_request.metadata["loan_profile_id"])
60
+ eligible_credit_line = Dscf::Credit::EligibleCreditLine.find(payment_request.metadata["eligible_credit_line_id"])
59
61
  credit_service = CreditIntegrationService.new
60
62
  credit_service.process_disbursement(
61
63
  payment_request.amount,
62
- payment_request.payable, # Should be loan_profile
63
- payment_request.metadata["eligible_credit_line"] # Need to store this in metadata
64
+ loan_profile,
65
+ eligible_credit_line
64
66
  )
65
67
 
66
68
  # Then transfer from settlement to customer account
@@ -101,9 +103,10 @@ module Dscf::Payment
101
103
  "Loan repayment for #{payment_request.reference_number}"
102
104
  )
103
105
 
106
+ loan = Dscf::Credit::Loan.find(payment_request.metadata["loan_id"])
104
107
  credit_service = CreditIntegrationService.new
105
108
  credit_service.process_repayment(
106
- payment_request.payable,
109
+ loan,
107
110
  payment_request.amount
108
111
  )
109
112
 
@@ -13,9 +13,17 @@ module Dscf
13
13
  require "dscf/credit"
14
14
  end
15
15
 
16
- initializer :append_migrations do |app|
17
- unless app.root.to_s.match?(root.to_s + File::SEPARATOR)
18
- app.config.paths["db/migrate"].concat(config.paths["db/migrate"].expanded)
16
+ # Ensure dependent engine migrations are available in test environment
17
+ initializer :append_dependent_migrations, after: :load_dependent_engines do |app|
18
+ # Append migrations from dependent engines
19
+ if defined?(Dscf::Core::Engine)
20
+ app.config.paths["db/migrate"].concat(Dscf::Core::Engine.config.paths["db/migrate"].expanded)
21
+ end
22
+ if defined?(Dscf::Banking::Engine)
23
+ app.config.paths["db/migrate"].concat(Dscf::Banking::Engine.config.paths["db/migrate"].expanded)
24
+ end
25
+ if defined?(Dscf::Credit::Engine)
26
+ app.config.paths["db/migrate"].concat(Dscf::Credit::Engine.config.paths["db/migrate"].expanded)
19
27
  end
20
28
  end
21
29
  end
@@ -1,5 +1,5 @@
1
1
  module Dscf
2
2
  module Payment
3
- VERSION = "0.1.6"
3
+ VERSION = "0.1.8"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dscf-payment
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Asrat
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 1980-01-02 00:00:00.000000000 Z
10
+ date: 2026-04-28 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: rails
@@ -33,9 +33,6 @@ dependencies:
33
33
  name: dscf-core
34
34
  requirement: !ruby/object:Gem::Requirement
35
35
  requirements:
36
- - - "~>"
37
- - !ruby/object:Gem::Version
38
- version: '0.2'
39
36
  - - ">="
40
37
  - !ruby/object:Gem::Version
41
38
  version: 0.2.0
@@ -43,9 +40,6 @@ dependencies:
43
40
  prerelease: false
44
41
  version_requirements: !ruby/object:Gem::Requirement
45
42
  requirements:
46
- - - "~>"
47
- - !ruby/object:Gem::Version
48
- version: '0.2'
49
43
  - - ">="
50
44
  - !ruby/object:Gem::Version
51
45
  version: 0.2.0
@@ -53,9 +47,6 @@ dependencies:
53
47
  name: dscf-banking
54
48
  requirement: !ruby/object:Gem::Requirement
55
49
  requirements:
56
- - - "~>"
57
- - !ruby/object:Gem::Version
58
- version: '0.2'
59
50
  - - ">="
60
51
  - !ruby/object:Gem::Version
61
52
  version: 0.2.1
@@ -63,9 +54,6 @@ dependencies:
63
54
  prerelease: false
64
55
  version_requirements: !ruby/object:Gem::Requirement
65
56
  requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '0.2'
69
57
  - - ">="
70
58
  - !ruby/object:Gem::Version
71
59
  version: 0.2.1
@@ -73,9 +61,6 @@ dependencies:
73
61
  name: dscf-credit
74
62
  requirement: !ruby/object:Gem::Requirement
75
63
  requirements:
76
- - - "~>"
77
- - !ruby/object:Gem::Version
78
- version: '0.2'
79
64
  - - ">="
80
65
  - !ruby/object:Gem::Version
81
66
  version: 0.2.8
@@ -83,9 +68,6 @@ dependencies:
83
68
  prerelease: false
84
69
  version_requirements: !ruby/object:Gem::Requirement
85
70
  requirements:
86
- - - "~>"
87
- - !ruby/object:Gem::Version
88
- version: '0.2'
89
71
  - - ">="
90
72
  - !ruby/object:Gem::Version
91
73
  version: 0.2.8
@@ -524,7 +506,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
524
506
  - !ruby/object:Gem::Version
525
507
  version: '0'
526
508
  requirements: []
527
- rubygems_version: 3.6.9
509
+ rubygems_version: 3.6.2
528
510
  specification_version: 4
529
511
  summary: An Engine for Supply Chain Financing
530
512
  test_files: []