Class: Honey::Response
- Inherits:
-
Object
show all
- Defined in:
- lib/honey/response.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(http_response) ⇒ Response
Returns a new instance of Response.
7
8
9
|
# File 'lib/honey/response.rb', line 7
def initialize(http_response)
@data = OpenStruct.new(http_response.parsed_response["message"])
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method, *args, &block) ⇒ Object
11
12
13
14
15
16
17
|
# File 'lib/honey/response.rb', line 11
def method_missing(method, *args, &block)
if method.to_s.end_with?('=')
data.try(method, *args)
else
data.try(method)
end
end
|
Instance Attribute Details
#data ⇒ Object
Returns the value of attribute data.
5
6
7
|
# File 'lib/honey/response.rb', line 5
def data
@data
end
|
Instance Method Details
#cancelled? ⇒ Boolean
31
32
33
|
# File 'lib/honey/response.rb', line 31
def cancelled?
data.cancelled == "Yes"
end
|
#error ⇒ Object
39
40
41
|
# File 'lib/honey/response.rb', line 39
def error
Honey::Error.new(data.code.to_i)
end
|
#failed? ⇒ Boolean
27
28
29
|
# File 'lib/honey/response.rb', line 27
def failed?
data.code.present? && data.code.to_i != 100
end
|
#inspect ⇒ Object
19
20
21
|
# File 'lib/honey/response.rb', line 19
def inspect
data.inspect
end
|
#log ⇒ Object
43
44
45
|
# File 'lib/honey/response.rb', line 43
def log
"[#{data.code}] #{message}"
end
|
#message ⇒ Object
47
48
49
|
# File 'lib/honey/response.rb', line 47
def message
data.error || data.details
end
|
#notes ⇒ Object
55
56
57
|
# File 'lib/honey/response.rb', line 55
def notes
data.warehousenotes || ""
end
|
#shipped? ⇒ Boolean
35
36
37
|
# File 'lib/honey/response.rb', line 35
def shipped?
data.status == "Shipped"
end
|
#successful? ⇒ Boolean
23
24
25
|
# File 'lib/honey/response.rb', line 23
def successful?
!failed?
end
|
#tracking_numbers ⇒ Object
51
52
53
|
# File 'lib/honey/response.rb', line 51
def tracking_numbers
(1..5).map { |i| data.try(:"trackingnumber#{i}") }.compact.join(',')
end
|