Module: HttpStub::Configurer::ClassMethods

Defined in:
lib/http_stub/configurer.rb

Instance Method Summary collapse

Instance Method Details

#clear_activators!Object



44
45
46
47
48
# File 'lib/http_stub/configurer.rb', line 44

def clear_activators!
  request = Net::HTTP::Delete.new("/stubs/activators")
  response = submit(request)
  raise "Unable to clear stub activators: #{response.message}" unless response.code == "200"
end

#host(host) ⇒ Object



12
13
14
# File 'lib/http_stub/configurer.rb', line 12

def host(host)
  @host = host
end

#initialize!Object



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

def initialize!
  activator_requests.each do |request|
    response = submit(request)
    raise "Unable to initialize stub activator: #{response.message}" unless response.code == "200"
  end
end

#port(port) ⇒ Object



16
17
18
# File 'lib/http_stub/configurer.rb', line 16

def port(port)
  @port = port
end

#stub_activator(activation_uri, stub_uri, options) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/http_stub/configurer.rb', line 20

def stub_activator(activation_uri, stub_uri, options)
  response_options = options[:response]
  request = Net::HTTP::Post.new("/stubs/activators")
  request.content_type = "application/json"
  request.body = {
      "activation_uri" => activation_uri,
      "uri" => stub_uri,
      "method" => options[:method],
      "parameters" => options[:parameters] || {},
      "response" => {
          "status" => response_options[:status] || "200",
          "body" => response_options[:body]
      }
  }.to_json
  activator_requests << request
end

#submit(request) ⇒ Object



50
51
52
# File 'lib/http_stub/configurer.rb', line 50

def submit(request)
  Net::HTTP.new(@host, @port).start { |http| http.request(request) }
end