dscf-credit 0.1.1 → 0.1.3
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 +4 -4
- data/app/controllers/concerns/dscf/core/authenticatable.rb +81 -0
- data/app/controllers/concerns/dscf/core/common.rb +200 -0
- data/app/controllers/concerns/dscf/core/filterable.rb +12 -0
- data/app/controllers/concerns/dscf/core/json_response.rb +77 -0
- data/app/controllers/concerns/dscf/core/pagination.rb +71 -0
- data/app/controllers/concerns/dscf/core/token_authenticatable.rb +53 -0
- data/app/controllers/concerns/dscf/credit/reviewable.rb +112 -0
- data/app/controllers/dscf/credit/categories_controller.rb +6 -5
- data/app/controllers/dscf/credit/credit_limit_calculations_controller.rb +50 -0
- data/app/controllers/dscf/credit/credit_line_specs_controller.rb +2 -1
- data/app/controllers/dscf/credit/credit_lines_controller.rb +11 -38
- data/app/controllers/dscf/credit/disbursements_controller.rb +55 -0
- data/app/controllers/dscf/credit/eligible_credit_lines_controller.rb +50 -0
- data/app/controllers/dscf/credit/facilitators_controller.rb +39 -150
- data/app/controllers/dscf/credit/loan_profiles_controller.rb +138 -0
- data/app/controllers/dscf/credit/payment_requests_controller.rb +54 -5
- data/app/controllers/dscf/credit/repayments_controller.rb +53 -0
- data/app/controllers/dscf/credit/scoring_param_types_controller.rb +31 -0
- data/app/controllers/dscf/credit/scoring_parameters_controller.rb +13 -8
- data/app/controllers/dscf/credit/scoring_tables_controller.rb +8 -8
- data/app/controllers/dscf/credit/system_configs_controller.rb +10 -7
- data/app/models/dscf/credit/bank_branch.rb +2 -1
- data/app/models/dscf/credit/category.rb +4 -2
- data/app/models/dscf/credit/credit_line.rb +9 -6
- data/app/models/dscf/credit/credit_line_spec.rb +3 -3
- data/app/models/dscf/credit/eligible_credit_line.rb +28 -0
- data/app/models/dscf/credit/facilitator.rb +5 -4
- data/app/models/dscf/credit/facilitator_performance.rb +1 -2
- data/app/models/dscf/credit/loan_profile.rb +8 -4
- data/app/models/dscf/credit/loan_profile_scoring_spec.rb +4 -6
- data/app/models/dscf/credit/scoring_param_type.rb +17 -0
- data/app/models/dscf/credit/scoring_parameter.rb +8 -7
- data/app/models/dscf/credit/scoring_table.rb +4 -4
- data/app/models/dscf/credit/system_config.rb +5 -4
- data/app/serializers/dscf/credit/bank_branch_serializer.rb +1 -0
- data/app/serializers/dscf/credit/category_serializer.rb +3 -1
- data/app/serializers/dscf/credit/credit_line_serializer.rb +4 -2
- data/app/serializers/dscf/credit/credit_line_spec_serializer.rb +1 -1
- data/app/serializers/dscf/credit/daily_routine_transaction_serializer.rb +8 -0
- data/app/serializers/dscf/credit/eligible_credit_line_serializer.rb +8 -0
- data/app/serializers/dscf/credit/facilitator_performance_serializer.rb +1 -1
- data/app/serializers/dscf/credit/facilitator_serializer.rb +2 -2
- data/app/serializers/dscf/credit/loan_profile_scoring_spec_serializer.rb +8 -0
- data/app/serializers/dscf/credit/loan_profile_serializer.rb +15 -0
- data/app/serializers/dscf/credit/loan_serializer.rb +12 -0
- data/app/serializers/dscf/credit/loan_transaction_serializer.rb +8 -0
- data/app/serializers/dscf/credit/payment_request_serializer.rb +10 -0
- data/app/serializers/dscf/credit/payment_serializer.rb +8 -0
- data/app/serializers/dscf/credit/scoring_param_type_serializer.rb +7 -0
- data/app/serializers/dscf/credit/scoring_parameter_serializer.rb +6 -3
- data/app/serializers/dscf/credit/scoring_table_serializer.rb +1 -1
- data/app/serializers/dscf/credit/system_config_serializer.rb +2 -2
- data/app/services/dscf/credit/credit_limit_calculation_service.rb +153 -0
- data/app/services/dscf/credit/disbursement_service.rb +180 -0
- data/app/services/dscf/credit/facilitator_approval_service.rb +4 -3
- data/app/services/dscf/credit/facilitator_creation_service.rb +157 -0
- data/app/services/dscf/credit/repayment_service.rb +216 -0
- data/app/services/dscf/credit/risk_application_service.rb +27 -0
- data/app/services/dscf/credit/scoring_service.rb +297 -0
- data/config/locales/en.yml +125 -8
- data/config/routes.rb +42 -11
- data/db/migrate/20250822091011_create_dscf_credit_categories.rb +2 -0
- data/db/migrate/20250822091131_create_dscf_credit_credit_lines.rb +7 -4
- data/db/migrate/20250822091527_create_dscf_credit_credit_line_specs.rb +1 -0
- data/db/migrate/20250822091820_create_dscf_credit_system_configs.rb +5 -2
- data/db/migrate/20250822092040_create_dscf_credit_scoring_param_types.rb +12 -0
- data/db/migrate/20250822092050_create_dscf_credit_scoring_parameters.rb +11 -6
- data/db/migrate/20250822092246_create_dscf_credit_loan_profiles.rb +6 -3
- data/db/migrate/20250822092417_create_dscf_credit_loan_profile_scoring_specs.rb +5 -7
- data/db/migrate/20250822092436_create_dscf_credit_facilitators.rb +5 -2
- data/db/migrate/20250822092528_create_dscf_credit_facilitator_performances.rb +0 -3
- data/db/migrate/20250901172842_create_dscf_credit_scoring_tables.rb +2 -2
- data/db/migrate/20250917120000_create_dscf_credit_eligible_credit_lines.rb +18 -0
- data/db/seeds.rb +134 -40
- data/lib/dscf/credit/version.rb +1 -1
- data/spec/factories/dscf/credit/categories.rb +1 -0
- data/spec/factories/dscf/credit/credit_line_specs.rb +1 -0
- data/spec/factories/dscf/credit/credit_lines.rb +9 -7
- data/spec/factories/dscf/credit/eligible_credit_lines.rb +33 -0
- data/spec/factories/dscf/credit/facilitator_performances.rb +0 -5
- data/spec/factories/dscf/credit/facilitators.rb +6 -1
- data/spec/factories/dscf/credit/loan_profile_scoring_specs.rb +1 -7
- data/spec/factories/dscf/credit/loan_profiles.rb +11 -6
- data/spec/factories/dscf/credit/scoring_param_types.rb +31 -0
- data/spec/factories/dscf/credit/scoring_parameters.rb +26 -4
- data/spec/factories/dscf/credit/scoring_tables.rb +1 -1
- data/spec/factories/dscf/credit/system_configs.rb +8 -2
- metadata +50 -2
@@ -1,6 +1,6 @@
|
|
1
1
|
FactoryBot.define do
|
2
2
|
factory :scoring_table, class: "Dscf::Credit::ScoringTable" do
|
3
|
-
association :
|
3
|
+
association :category, factory: :category
|
4
4
|
association :scoring_parameter, factory: :scoring_parameter
|
5
5
|
association :created_by, factory: :user if defined?(Dscf::Core::User)
|
6
6
|
weight { Faker::Number.decimal(l_digits: 0, r_digits: 4).clamp(0.0001, 1.0) }
|
@@ -2,9 +2,11 @@ FactoryBot.define do
|
|
2
2
|
factory :system_config, class: "Dscf::Credit::SystemConfig" do
|
3
3
|
association :config_definition, factory: :system_config_definition
|
4
4
|
association :last_updated_by, factory: :user if defined?(Dscf::Core::User)
|
5
|
-
association :
|
5
|
+
association :reviewed_by, factory: :user if defined?(Dscf::Core::User)
|
6
6
|
config_value { Faker::Lorem.word }
|
7
|
-
status { %w[pending approved rejected].sample }
|
7
|
+
status { %w[pending approved rejected modify].sample }
|
8
|
+
review_date { Faker::Date.between(from: 6.months.ago, to: Date.current) if status == 'approved' }
|
9
|
+
review_feedback { {} }
|
8
10
|
|
9
11
|
trait :string_value do
|
10
12
|
config_value { Faker::Lorem.sentence }
|
@@ -25,5 +27,9 @@ FactoryBot.define do
|
|
25
27
|
trait :json_value do
|
26
28
|
value { { key: Faker::Lorem.word, value: Faker::Number.number(digits: 3) }.to_json }
|
27
29
|
end
|
30
|
+
|
31
|
+
trait :modify do
|
32
|
+
status { "modify" }
|
33
|
+
end
|
28
34
|
end
|
29
35
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dscf-credit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adoniyas
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-09-
|
10
|
+
date: 2025-09-20 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: dscf-core
|
@@ -289,6 +289,20 @@ dependencies:
|
|
289
289
|
- - ">="
|
290
290
|
- !ruby/object:Gem::Version
|
291
291
|
version: '0'
|
292
|
+
- !ruby/object:Gem::Dependency
|
293
|
+
name: brakeman
|
294
|
+
requirement: !ruby/object:Gem::Requirement
|
295
|
+
requirements:
|
296
|
+
- - ">="
|
297
|
+
- !ruby/object:Gem::Version
|
298
|
+
version: '0'
|
299
|
+
type: :development
|
300
|
+
prerelease: false
|
301
|
+
version_requirements: !ruby/object:Gem::Requirement
|
302
|
+
requirements:
|
303
|
+
- - ">="
|
304
|
+
- !ruby/object:Gem::Version
|
305
|
+
version: '0'
|
292
306
|
description: An engine that contains the core models and controllers for credit scoring.
|
293
307
|
email:
|
294
308
|
- adoniyasg7s@gmail.com
|
@@ -299,18 +313,31 @@ files:
|
|
299
313
|
- MIT-LICENSE
|
300
314
|
- README.md
|
301
315
|
- Rakefile
|
316
|
+
- app/controllers/concerns/dscf/core/authenticatable.rb
|
317
|
+
- app/controllers/concerns/dscf/core/common.rb
|
318
|
+
- app/controllers/concerns/dscf/core/filterable.rb
|
319
|
+
- app/controllers/concerns/dscf/core/json_response.rb
|
320
|
+
- app/controllers/concerns/dscf/core/pagination.rb
|
321
|
+
- app/controllers/concerns/dscf/core/token_authenticatable.rb
|
322
|
+
- app/controllers/concerns/dscf/credit/reviewable.rb
|
302
323
|
- app/controllers/dscf/credit/application_controller.rb
|
303
324
|
- app/controllers/dscf/credit/bank_branches_controller.rb
|
304
325
|
- app/controllers/dscf/credit/bank_staffs_controller.rb
|
305
326
|
- app/controllers/dscf/credit/banks_controller.rb
|
306
327
|
- app/controllers/dscf/credit/categories_controller.rb
|
328
|
+
- app/controllers/dscf/credit/credit_limit_calculations_controller.rb
|
307
329
|
- app/controllers/dscf/credit/credit_line_specs_controller.rb
|
308
330
|
- app/controllers/dscf/credit/credit_lines_controller.rb
|
331
|
+
- app/controllers/dscf/credit/disbursements_controller.rb
|
332
|
+
- app/controllers/dscf/credit/eligible_credit_lines_controller.rb
|
309
333
|
- app/controllers/dscf/credit/facilitators_controller.rb
|
334
|
+
- app/controllers/dscf/credit/loan_profiles_controller.rb
|
310
335
|
- app/controllers/dscf/credit/loans_controller.rb
|
311
336
|
- app/controllers/dscf/credit/parameter_normalizers_controller.rb
|
312
337
|
- app/controllers/dscf/credit/payment_requests_controller.rb
|
313
338
|
- app/controllers/dscf/credit/payments_controller.rb
|
339
|
+
- app/controllers/dscf/credit/repayments_controller.rb
|
340
|
+
- app/controllers/dscf/credit/scoring_param_types_controller.rb
|
314
341
|
- app/controllers/dscf/credit/scoring_parameters_controller.rb
|
315
342
|
- app/controllers/dscf/credit/scoring_tables_controller.rb
|
316
343
|
- app/controllers/dscf/credit/system_config_definitions_controller.rb
|
@@ -330,6 +357,7 @@ files:
|
|
330
357
|
- app/models/dscf/credit/credit_line.rb
|
331
358
|
- app/models/dscf/credit/credit_line_spec.rb
|
332
359
|
- app/models/dscf/credit/daily_routine_transaction.rb
|
360
|
+
- app/models/dscf/credit/eligible_credit_line.rb
|
333
361
|
- app/models/dscf/credit/facilitator.rb
|
334
362
|
- app/models/dscf/credit/facilitator_performance.rb
|
335
363
|
- app/models/dscf/credit/failed_operations_log.rb
|
@@ -340,6 +368,7 @@ files:
|
|
340
368
|
- app/models/dscf/credit/parameter_normalizer.rb
|
341
369
|
- app/models/dscf/credit/payment.rb
|
342
370
|
- app/models/dscf/credit/payment_request.rb
|
371
|
+
- app/models/dscf/credit/scoring_param_type.rb
|
343
372
|
- app/models/dscf/credit/scoring_parameter.rb
|
344
373
|
- app/models/dscf/credit/scoring_table.rb
|
345
374
|
- app/models/dscf/credit/system_config.rb
|
@@ -356,16 +385,31 @@ files:
|
|
356
385
|
- app/serializers/dscf/credit/category_serializer.rb
|
357
386
|
- app/serializers/dscf/credit/credit_line_serializer.rb
|
358
387
|
- app/serializers/dscf/credit/credit_line_spec_serializer.rb
|
388
|
+
- app/serializers/dscf/credit/daily_routine_transaction_serializer.rb
|
389
|
+
- app/serializers/dscf/credit/eligible_credit_line_serializer.rb
|
359
390
|
- app/serializers/dscf/credit/facilitator_performance_serializer.rb
|
360
391
|
- app/serializers/dscf/credit/facilitator_serializer.rb
|
392
|
+
- app/serializers/dscf/credit/loan_profile_scoring_spec_serializer.rb
|
393
|
+
- app/serializers/dscf/credit/loan_profile_serializer.rb
|
394
|
+
- app/serializers/dscf/credit/loan_serializer.rb
|
395
|
+
- app/serializers/dscf/credit/loan_transaction_serializer.rb
|
361
396
|
- app/serializers/dscf/credit/parameter_normalizer_serializer.rb
|
397
|
+
- app/serializers/dscf/credit/payment_request_serializer.rb
|
398
|
+
- app/serializers/dscf/credit/payment_serializer.rb
|
399
|
+
- app/serializers/dscf/credit/scoring_param_type_serializer.rb
|
362
400
|
- app/serializers/dscf/credit/scoring_parameter_serializer.rb
|
363
401
|
- app/serializers/dscf/credit/scoring_table_serializer.rb
|
364
402
|
- app/serializers/dscf/credit/system_config_definition_serializer.rb
|
365
403
|
- app/serializers/dscf/credit/system_config_serializer.rb
|
366
404
|
- app/services/dscf/credit/bank_staff_creation_service.rb
|
405
|
+
- app/services/dscf/credit/credit_limit_calculation_service.rb
|
406
|
+
- app/services/dscf/credit/disbursement_service.rb
|
367
407
|
- app/services/dscf/credit/facilitator_additional_info_service.rb
|
368
408
|
- app/services/dscf/credit/facilitator_approval_service.rb
|
409
|
+
- app/services/dscf/credit/facilitator_creation_service.rb
|
410
|
+
- app/services/dscf/credit/repayment_service.rb
|
411
|
+
- app/services/dscf/credit/risk_application_service.rb
|
412
|
+
- app/services/dscf/credit/scoring_service.rb
|
369
413
|
- app/views/dscf/credit/bank_staff_welcome_mailer/welcome_email.html.erb
|
370
414
|
- app/views/dscf/credit/bank_staff_welcome_mailer/welcome_email.text.erb
|
371
415
|
- app/views/dscf/credit/facilitator_mailer/additional_info_received.html.erb
|
@@ -387,6 +431,7 @@ files:
|
|
387
431
|
- db/migrate/20250822091527_create_dscf_credit_credit_line_specs.rb
|
388
432
|
- db/migrate/20250822091744_create_dscf_credit_system_config_definitions.rb
|
389
433
|
- db/migrate/20250822091820_create_dscf_credit_system_configs.rb
|
434
|
+
- db/migrate/20250822092040_create_dscf_credit_scoring_param_types.rb
|
390
435
|
- db/migrate/20250822092050_create_dscf_credit_scoring_parameters.rb
|
391
436
|
- db/migrate/20250822092225_create_dscf_credit_parameter_normalizers.rb
|
392
437
|
- db/migrate/20250822092246_create_dscf_credit_loan_profiles.rb
|
@@ -403,6 +448,7 @@ files:
|
|
403
448
|
- db/migrate/20250822092936_create_dscf_credit_accounting_entries.rb
|
404
449
|
- db/migrate/20250825231109_create_dscf_credit_bank_staff.rb
|
405
450
|
- db/migrate/20250901172842_create_dscf_credit_scoring_tables.rb
|
451
|
+
- db/migrate/20250917120000_create_dscf_credit_eligible_credit_lines.rb
|
406
452
|
- db/seeds.rb
|
407
453
|
- lib/dscf/credit.rb
|
408
454
|
- lib/dscf/credit/engine.rb
|
@@ -417,6 +463,7 @@ files:
|
|
417
463
|
- spec/factories/dscf/credit/credit_line_specs.rb
|
418
464
|
- spec/factories/dscf/credit/credit_lines.rb
|
419
465
|
- spec/factories/dscf/credit/daily_routine_transactions.rb
|
466
|
+
- spec/factories/dscf/credit/eligible_credit_lines.rb
|
420
467
|
- spec/factories/dscf/credit/facilitator_performances.rb
|
421
468
|
- spec/factories/dscf/credit/facilitators.rb
|
422
469
|
- spec/factories/dscf/credit/failed_operations_logs.rb
|
@@ -427,6 +474,7 @@ files:
|
|
427
474
|
- spec/factories/dscf/credit/parameter_normalizers.rb
|
428
475
|
- spec/factories/dscf/credit/payment_requests.rb
|
429
476
|
- spec/factories/dscf/credit/payments.rb
|
477
|
+
- spec/factories/dscf/credit/scoring_param_types.rb
|
430
478
|
- spec/factories/dscf/credit/scoring_parameters.rb
|
431
479
|
- spec/factories/dscf/credit/scoring_tables.rb
|
432
480
|
- spec/factories/dscf/credit/system_config_definitions.rb
|