Class: LazyResource::ResourceQueue
- Inherits:
-
Object
- Object
- LazyResource::ResourceQueue
show all
- Includes:
- UrlGeneration
- Defined in:
- lib/lazy_resource/resource_queue.rb
Instance Method Summary
collapse
#collection_path, #collection_url, #element_path, #element_url, #new_element_path, #split_options
Constructor Details
Returns a new instance of ResourceQueue.
5
6
7
|
# File 'lib/lazy_resource/resource_queue.rb', line 5
def initialize
@queue = []
end
|
Instance Method Details
#flush! ⇒ Object
13
14
15
|
# File 'lib/lazy_resource/resource_queue.rb', line 13
def flush!
@queue = []
end
|
#queue(relation) ⇒ Object
9
10
11
|
# File 'lib/lazy_resource/resource_queue.rb', line 9
def queue(relation)
@queue.push(relation)
end
|
#request_queue ⇒ Object
17
18
19
|
# File 'lib/lazy_resource/resource_queue.rb', line 17
def request_queue
Thread.current[:request_queue] ||= Typhoeus::Hydra.new
end
|
#run ⇒ Object
21
22
23
24
|
# File 'lib/lazy_resource/resource_queue.rb', line 21
def run
send_to_request_queue!
request_queue.run
end
|
#send_to_request_queue! ⇒ Object
26
27
28
29
30
31
|
# File 'lib/lazy_resource/resource_queue.rb', line 26
def send_to_request_queue!
while(relation = @queue.pop)
request = Request.new(url_for(relation), relation, :headers => relation.)
request_queue.queue(request)
end
end
|
#url_for(relation) ⇒ Object
33
34
35
36
37
38
|
# File 'lib/lazy_resource/resource_queue.rb', line 33
def url_for(relation)
url = ''
url << relation.klass.site
url << self.class.collection_path(relation.to_params, nil, relation.from)
url
end
|