Class: Phoneburner::Response
- Inherits:
-
Object
- Object
- Phoneburner::Response
show all
- Includes:
- Enumerable
- Defined in:
- lib/phoneburner/response.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(request, &block) ⇒ Response
Returns a new instance of Response.
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# File 'lib/phoneburner/response.rb', line 5
def initialize(request, &block)
@request = request
@block = block
@parsed = false
@http_status = nil
@status = nil
@page_size = 0
@page = 0
@total_pages = 0
@total_results = 0
@inner_results=nil
@raw = false
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(symbol, *args) ⇒ Object
107
108
109
110
111
112
113
114
|
# File 'lib/phoneburner/response.rb', line 107
def method_missing(symbol,*args)
parse()
if !!@_results.is_a?(Hash) && @_results.has_key?(symbol.to_s)
@_results[symbol.to_s]
else
super
end
end
|
Instance Attribute Details
#request ⇒ Object
Returns the value of attribute request.
19
20
21
|
# File 'lib/phoneburner/response.rb', line 19
def request
@request
end
|
Instance Method Details
#each(&iblock) ⇒ Object
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
# File 'lib/phoneburner/response.rb', line 65
def each(&iblock)
parse()
return nil if @inner_results.nil?
if @inner_results.is_a?(Array)
puts "Array"
e = Enumerator.new do |y|
@inner_results.each do |ir|
obj = is_raw? ? ir : request.build(ir)
y.yield(obj)
end
end
else
e = Enumerator.new do |y|
y.yield(result(&iblock))
end
end
block_given? ? e.each(&iblock) : e
end
|
#has_next_page? ⇒ Boolean
51
52
53
|
# File 'lib/phoneburner/response.rb', line 51
def has_next_page?
page < total_pages
end
|
#http_status ⇒ Object
21
22
23
24
|
# File 'lib/phoneburner/response.rb', line 21
def http_status
parse()
@http_status
end
|
#is_raw? ⇒ Boolean
94
95
96
|
# File 'lib/phoneburner/response.rb', line 94
def is_raw?
!!@raw
end
|
#next_page ⇒ Object
55
56
57
58
59
60
61
62
63
|
# File 'lib/phoneburner/response.rb', line 55
def next_page
if has_next_page?
request = @request.dup
request.page(self.page.to_i + 1)
request.all
else
nil
end
end
|
#page ⇒ Object
36
37
38
39
|
# File 'lib/phoneburner/response.rb', line 36
def page
parse()
@page
end
|
#page_size ⇒ Object
31
32
33
34
|
# File 'lib/phoneburner/response.rb', line 31
def page_size
parse()
@page_size
end
|
#parsed ⇒ Object
89
90
91
92
|
# File 'lib/phoneburner/response.rb', line 89
def parsed()
@raw = false
self
end
|
#raw ⇒ Object
84
85
86
87
|
# File 'lib/phoneburner/response.rb', line 84
def raw()
@raw=true
self
end
|
#result(&iblock) ⇒ Object
98
99
100
101
102
103
104
105
|
# File 'lib/phoneburner/response.rb', line 98
def result(&iblock)
parse()
return nil if @inner_results.nil?
if !@inner_results.is_a?(Array)
e = is_raw? ? @inner_results : request.build(@inner_results)
block_given? ? iblock.yield(e) : e
end
end
|
#status ⇒ Object
26
27
28
29
|
# File 'lib/phoneburner/response.rb', line 26
def status
parse()
@status
end
|
#total_pages ⇒ Object
41
42
43
44
|
# File 'lib/phoneburner/response.rb', line 41
def total_pages
parse()
@total_pages
end
|
#total_results ⇒ Object
46
47
48
49
|
# File 'lib/phoneburner/response.rb', line 46
def total_results
parse()
@total_results
end
|