class Pacto::RequestClause

Attributes

body[RW]
host[R]
method[R]
schema[R]

Public Class Methods

new(host, definition) click to toggle source
# File lib/pacto/request_clause.rb, line 6
def initialize(host, definition)
  @host = host
  @definition = definition
  @method = definition['method'].to_s.downcase.to_sym
  @schema = definition['body'] || {}
end

Public Instance Methods

execute() click to toggle source
# File lib/pacto/request_clause.rb, line 33
def execute
  conn = Faraday.new(:url => uri.to_s) do |faraday|
    faraday.response :logger if Pacto.configuration.logger.level == :debug
    faraday.adapter  Faraday.default_adapter
  end
  conn.send(method) do |req|
    req.headers = headers
  end
end
headers() click to toggle source
# File lib/pacto/request_clause.rb, line 25
def headers
  @definition['headers']
end
params() click to toggle source
# File lib/pacto/request_clause.rb, line 29
def params
  @definition['params'] || {}
end
path() click to toggle source
# File lib/pacto/request_clause.rb, line 21
def path
  @definition['path']
end
uri() click to toggle source
# File lib/pacto/request_clause.rb, line 13
def uri
  @uri ||= Pacto::URI.for(host, path, params)
end