class VcrToCurl::CassetteToCurl

Public Class Methods

new(cassette_file) click to toggle source
# File lib/VcrToCurl/cassette_to_curl.rb, line 5
def initialize(cassette_file)
  @loaded_cassette = ::YAML.load_file(cassette_file)
end

Public Instance Methods

convert_request_to_curl(request) click to toggle source
# File lib/VcrToCurl/cassette_to_curl.rb, line 15
def convert_request_to_curl(request)
  curl_command = "curl -X #{request_type(request)} "
  curl_command += request_data(request) if has_data?(request)
  curl_command += request_headers(request) if has_headers?(request)
  curl_command += request_url(request)
  curl_command
end
curl_commands() click to toggle source
# File lib/VcrToCurl/cassette_to_curl.rb, line 9
def curl_commands
  http_interactions.map do |http_interaction|
    convert_request_to_curl(http_interaction["request"])
  end
end
http_interactions() click to toggle source
# File lib/VcrToCurl/cassette_to_curl.rb, line 23
def http_interactions
  @loaded_cassette['http_interactions']
end

Private Instance Methods

has_data?(request) click to toggle source
# File lib/VcrToCurl/cassette_to_curl.rb, line 28
def has_data?(request)
  request["body"]["string"].length > 0
end
has_headers?(request) click to toggle source
# File lib/VcrToCurl/cassette_to_curl.rb, line 32
def has_headers?(request)
  request["headers"].keys.size > 0
end
request_data(request) click to toggle source
# File lib/VcrToCurl/cassette_to_curl.rb, line 44
def request_data(request)
  "-d '#{request["body"]["string"]}' "
end
request_headers(request) click to toggle source
# File lib/VcrToCurl/cassette_to_curl.rb, line 48
def request_headers(request)
  header_string = ''
  request["headers"].each do |key, value|
    header_string += "-H '#{key.capitalize}: #{value[0]}' "
  end
  header_string
end
request_type(request) click to toggle source
# File lib/VcrToCurl/cassette_to_curl.rb, line 36
def request_type(request)
  request["method"].upcase
end
request_url(request) click to toggle source
# File lib/VcrToCurl/cassette_to_curl.rb, line 40
def request_url(request)
  request["uri"]
end