Class: AndSon::StoredResponses

Inherits:
Object
  • Object
show all
Defined in:
lib/and-son/stored_responses.rb

Defined Under Namespace

Classes: RequestData

Instance Method Summary collapse

Constructor Details

#initializeStoredResponses

Returns a new instance of StoredResponses.



10
11
12
# File 'lib/and-son/stored_responses.rb', line 10

def initialize
  @hash = {}
end

Instance Method Details

#add(name, params = nil, &response_block) ⇒ Object



14
15
16
17
# File 'lib/and-son/stored_responses.rb', line 14

def add(name, params = nil, &response_block)
  request_data = RequestData.new(name, params || {})
  @hash[request_data] = response_block
end

#find(name, params = nil) ⇒ Object



19
20
21
22
23
24
25
26
27
# File 'lib/and-son/stored_responses.rb', line 19

def find(name, params = nil)
  response_block = @hash[RequestData.new(name, params || {})]
  return if !response_block
  response = response_block.call
  if !response.kind_of?(Sanford::Protocol::Response)
    response = Sanford::Protocol::Response.new(200, response)
  end
  AndSon::Response.new(response)
end

#remove(name, params = nil) ⇒ Object



29
30
31
# File 'lib/and-son/stored_responses.rb', line 29

def remove(name, params = nil)
  @hash.delete(RequestData.new(name, params || {}))
end