Class: FakeHTTP::Builder

Inherits:
Object
  • Object
show all
Defined in:
lib/fake_http.rb

Instance Method Summary collapse

Constructor Details

#initializeBuilder

Returns a new instance of Builder.



37
38
39
# File 'lib/fake_http.rb', line 37

def initialize
  @fakes = Hash.new { |h,k| h[k] = Array.new }
end

Instance Method Details

#delete(pattern, &block) ⇒ Object



53
54
55
# File 'lib/fake_http.rb', line 53

def delete(pattern, &block)
  add_responder(:delete, pattern, &block)
end

#get(pattern, &block) ⇒ Object



41
42
43
# File 'lib/fake_http.rb', line 41

def get(pattern, &block)
  add_responder(:get, pattern, &block)
end

#post(pattern, &block) ⇒ Object



45
46
47
# File 'lib/fake_http.rb', line 45

def post(pattern, &block)
  add_responder(:post, pattern, &block)
end

#put(pattern, &block) ⇒ Object



49
50
51
# File 'lib/fake_http.rb', line 49

def put(pattern, &block)
  add_responder(:put, pattern, &block)
end

#request(verb, uri, options = {}) ⇒ Object



57
58
59
60
61
62
# File 'lib/fake_http.rb', line 57

def request(verb, uri, options = {})
  path = URI.parse(uri).path
  responder = @fakes[verb].detect { |responder| responder.match(path) }
  raise "No responder defined for #{verb} #{uri}" unless responder
  responder.call(uri, options)
end