Class: IletimerkeziSdk::Responses::ReportResponse
- Inherits:
-
BaseResponse
- Object
- BaseResponse
- IletimerkeziSdk::Responses::ReportResponse
show all
- Includes:
- Enumerable
- Defined in:
- lib/iletimerkezi_sdk/responses/report_response.rb
Constant Summary
collapse
- ORDER_STATUS_MESSAGES =
{
113 => 'SENDING',
114 => 'COMPLETED',
115 => 'CANCELED'
}.freeze
- MESSAGE_STATUS_MESSAGES =
{
110 => 'WAITING',
111 => 'DELIVERED',
112 => 'UNDELIVERED'
}.freeze
Instance Attribute Summary
Attributes inherited from BaseResponse
#data, #message, #status_code
Instance Method Summary
collapse
#get_data, #get_message, #get_status_code, #ok?
Constructor Details
#initialize(response_body, http_status_code, current_page = 1) ⇒ ReportResponse
Returns a new instance of ReportResponse.
18
19
20
21
22
|
# File 'lib/iletimerkezi_sdk/responses/report_response.rb', line 18
def initialize(response_body, http_status_code, current_page = 1)
@messages = []
@current_page = current_page
super(response_body, http_status_code)
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
in the class IletimerkeziSdk::Responses::BaseResponse
Instance Method Details
#current_page ⇒ Object
77
78
79
|
# File 'lib/iletimerkezi_sdk/responses/report_response.rb', line 77
def current_page
@current_page
end
|
#delivered ⇒ Object
45
46
47
|
# File 'lib/iletimerkezi_sdk/responses/report_response.rb', line 45
def delivered
@data.dig('order', 'delivered') || 0
end
|
#each(&block) ⇒ Object
24
25
26
|
# File 'lib/iletimerkezi_sdk/responses/report_response.rb', line 24
def each(&block)
@messages.each(&block)
end
|
#has_more_pages? ⇒ Boolean
81
82
83
|
# File 'lib/iletimerkezi_sdk/responses/report_response.rb', line 81
def has_more_pages?
@current_page < total_pages
end
|
#messages ⇒ Object
69
70
71
|
# File 'lib/iletimerkezi_sdk/responses/report_response.rb', line 69
def messages
@messages
end
|
#order_id ⇒ Object
28
29
30
|
# File 'lib/iletimerkezi_sdk/responses/report_response.rb', line 28
def order_id
@data.dig('order', 'id') || ''
end
|
#order_status ⇒ Object
32
33
34
35
|
# File 'lib/iletimerkezi_sdk/responses/report_response.rb', line 32
def order_status
status = @data.dig('order', 'status') || ''
ORDER_STATUS_MESSAGES[status] || status
end
|
#order_status_code ⇒ Object
37
38
39
|
# File 'lib/iletimerkezi_sdk/responses/report_response.rb', line 37
def order_status_code
(@data.dig('order', 'status') || 0).to_i
end
|
#sender ⇒ Object
65
66
67
|
# File 'lib/iletimerkezi_sdk/responses/report_response.rb', line 65
def sender
@data.dig('order', 'sender') || ''
end
|
#sent_at ⇒ Object
61
62
63
|
# File 'lib/iletimerkezi_sdk/responses/report_response.rb', line 61
def sent_at
@data.dig('order', 'sendAt') || ''
end
|
#submit_at ⇒ Object
57
58
59
|
# File 'lib/iletimerkezi_sdk/responses/report_response.rb', line 57
def submit_at
@data.dig('order', 'submitAt') || ''
end
|
#total ⇒ Object
41
42
43
|
# File 'lib/iletimerkezi_sdk/responses/report_response.rb', line 41
def total
(@data.dig('order', 'total') || 0).to_i
end
|
#total_pages ⇒ Object
73
74
75
|
# File 'lib/iletimerkezi_sdk/responses/report_response.rb', line 73
def total_pages
(Float(total) / 1000.0).ceil
end
|
#undelivered ⇒ Object
49
50
51
|
# File 'lib/iletimerkezi_sdk/responses/report_response.rb', line 49
def undelivered
@data.dig('order', 'undelivered') || 0
end
|
#waiting ⇒ Object
53
54
55
|
# File 'lib/iletimerkezi_sdk/responses/report_response.rb', line 53
def waiting
@data.dig('order', 'waiting') || 0
end
|