Class: EVSSClaimBaseSerializer
- Inherits:
-
ActiveModel::Serializer
- Object
- ActiveModel::Serializer
- EVSSClaimBaseSerializer
show all
- Defined in:
- app/serializers/evss_claim_base_serializer.rb
Constant Summary
collapse
- PHASE_MAPPING =
{
'claim received' => 1,
'under review' => 2,
'gathering of evidence' => 3,
'review of evidence' => 4,
'preparation for decision' => 5,
'pending decision approval' => 6,
'preparation for notification' => 7,
'complete' => 8
}.freeze
Instance Method Summary
collapse
Instance Method Details
#claim_type ⇒ Object
85
86
87
|
# File 'app/serializers/evss_claim_base_serializer.rb', line 85
def claim_type
object_data['status_type']
end
|
#current_phase_back ⇒ Object
68
69
70
|
# File 'app/serializers/evss_claim_base_serializer.rb', line 68
def current_phase_back
object_data.dig 'claim_phase_dates', 'current_phase_back'
end
|
#ever_phase_back ⇒ Object
64
65
66
|
# File 'app/serializers/evss_claim_base_serializer.rb', line 64
def ever_phase_back
object_data.dig 'claim_phase_dates', 'ever_phase_back'
end
|
#id ⇒ Object
Our IDs are not stable due to 24 hour expiration, use EVSS IDs for consistency This can be removed if our IDs become stable
45
46
47
|
# File 'app/serializers/evss_claim_base_serializer.rb', line 45
def id
object.evss_id
end
|
#object_data ⇒ Object
object_data mediates whether a class uses object.data or object.list_data as the basis of serialization.
114
115
116
|
# File 'app/serializers/evss_claim_base_serializer.rb', line 114
def object_data
raise NotImplementedError, 'Subclass of EVSSClaimBaseSerializer must implement object_data method'
end
|
#open ⇒ Object
72
73
74
|
# File 'app/serializers/evss_claim_base_serializer.rb', line 72
def open
object_data['claim_complete_date'].blank?
end
|
#phase ⇒ Object
89
90
91
|
# File 'app/serializers/evss_claim_base_serializer.rb', line 89
def phase
raise NotImplementedError, 'Subclass of EVSSClaimBaseSerializer must implement phase method'
end
|
#phase_from_keys ⇒ Object
106
107
108
109
110
|
# File 'app/serializers/evss_claim_base_serializer.rb', line 106
def phase_from_keys(*)
s = object_data.dig(*)&.downcase
PHASE_MAPPING[s]
end
|
#requested_decision ⇒ Object
76
77
78
|
# File 'app/serializers/evss_claim_base_serializer.rb', line 76
def requested_decision
object.requested_decision || object_data['waiver5103_submitted']
end
|
#updated_at_nil? ⇒ Boolean
Hide updated_at if we’re bypassing the database like the services endpoint
60
61
62
|
# File 'app/serializers/evss_claim_base_serializer.rb', line 60
def updated_at_nil?
object.updated_at.nil?
end
|
#waiver_submitted ⇒ Object
TODO: (CMJ) Remove once front end is integrated
81
82
83
|
# File 'app/serializers/evss_claim_base_serializer.rb', line 81
def waiver_submitted
requested_decision
end
|