class VCR::Cassette::Migrator
def migrate_cassette(cassette)
def migrate_cassette(cassette) unless http_interactions = load_yaml(cassette) @out.puts " - Ignored #{relative_casssette_name(cassette)} since it could not be parsed as YAML (does it have some ERB?)" return end unless valid_vcr_1_cassette?(http_interactions) @out.puts " - Ignored #{relative_casssette_name(cassette)} since it does not appear to be a valid VCR 1.x cassette" return end http_interactions.map! do |interaction| interaction.response.adapter_metadata = {} interaction.recorded_at = File.mtime(cassette) remove_unnecessary_standard_port(interaction) denormalize_http_header_keys(interaction.request) denormalize_http_header_keys(interaction.response) normalize_body(interaction.request) normalize_body(interaction.response) interaction.to_hash end hash = { "http_interactions" => http_interactions, "recorded_with" => "VCR #{VCR.version}" } File.open(cassette, 'w') { |f| f.write ::YAML.dump(hash) } @out.puts " - Migrated #{relative_casssette_name(cassette)}" end