Class: DebtManagementCenter::DebtsService

Inherits:
BaseService show all
Defined in:
lib/debt_management_center/debts_service.rb

Defined Under Namespace

Classes: DebtNotFound

Constant Summary collapse

STATSD_KEY_PREFIX =
'api.dmc'

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Common::Client::Concerns::Monitoring

#with_monitoring

Methods inherited from Common::Client::Base

configuration, #raise_backend_exception

Methods included from SentryLogging

#log_exception_to_sentry, #log_message_to_sentry, #non_nil_hash?, #normalize_level, #rails_logger

Constructor Details

#initialize(user) ⇒ DebtsService

Returns a new instance of DebtsService.



16
17
18
19
# File 'lib/debt_management_center/debts_service.rb', line 16

def initialize(user)
  super(user)
  @debts = init_debts
end

Instance Attribute Details

#file_numberObject (readonly)

Returns the value of attribute file_number.



9
10
11
# File 'lib/debt_management_center/debts_service.rb', line 9

def file_number
  @file_number
end

Instance Method Details

#get_debt_by_id(id) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/debt_management_center/debts_service.rb', line 34

def get_debt_by_id(id)
  debt_store = DebtManagementCenter::DebtStore.find(@user.uuid)

  raise DebtNotFound if debt_store.blank?

  debt = debt_store.get_debt(id)
  StatsD.increment("#{STATSD_KEY_PREFIX}.get_debt.success")
  debt
rescue => e
  StatsD.increment("#{STATSD_KEY_PREFIX}.get_debt.failure")
  raise e
end

#get_debtsObject



21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/debt_management_center/debts_service.rb', line 21

def get_debts
  has_dependent_debts = veteran_has_dependent_debts?
  debts = debts_with_sorted_histories
  StatsD.increment("#{STATSD_KEY_PREFIX}.get_debts.success")
  {
    has_dependent_debts:,
    debts:
  }
rescue => e
  StatsD.increment("#{STATSD_KEY_PREFIX}.get_debts.failure")
  raise e
end

#veteran_has_dependent_debts?Boolean

Returns:

  • (Boolean)


47
48
49
# File 'lib/debt_management_center/debts_service.rb', line 47

def veteran_has_dependent_debts?
  @debts.any? { |debt| debt['payeeNumber'] != '00' }
end