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