Class: Idra

Inherits:
Object
  • Object
show all
Defined in:
lib/idra/version.rb,
lib/idra.rb

Constant Summary collapse

VERSION =
"0.1.1"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeIdra

Returns a new instance of Idra.



12
13
14
15
16
# File 'lib/idra.rb', line 12

def initialize
  @hydra    = Typhoeus::Hydra.new
  @requests = []
  @enabled  = true
end

Instance Attribute Details

#enabledObject (readonly) Also known as: enabled?

Returns the value of attribute enabled.



10
11
12
# File 'lib/idra.rb', line 10

def enabled
  @enabled
end

#requestsObject (readonly)

Returns the value of attribute requests.



9
10
11
# File 'lib/idra.rb', line 9

def requests
  @requests
end

Instance Method Details

#add_request(name, *request) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/idra.rb', line 18

def add_request(name, *request)
  request      =  Typhoeus::Request.new *request
  request.name =  name
  @requests    << request
  @hydra.queue    request
  request
end

#refreshObject



44
45
46
# File 'lib/idra.rb', line 44

def refresh
  @enabled = true
end

#response_for(name, &block) ⇒ Object



26
27
28
29
30
31
32
33
34
35
# File 'lib/idra.rb', line 26

def response_for(name, &block)
  run_hydra
  request  = @requests.find{ |req| req.name == name }
  response = request.response
  if block
    block.call response
  else
    response
  end
end

#run(&block) ⇒ Object



37
38
39
40
41
42
# File 'lib/idra.rb', line 37

def run(&block)
  run_hydra
  @requests.each do |req|
    block.call req if block
  end
end