Sha256: 55aa16f2864c2af661515cf80cf8b5b20f4f13db9f238ecb5b6139d9e47f76c2
Contents?: true
Size: 1.26 KB
Versions: 3
Compression:
Stored size: 1.26 KB
Contents
module VCR # Integrates VCR with RSpec. module RSpec # @private module Metadata extend self def configure! ::RSpec.configure do |config| vcr_cassette_name_for = lambda do |metadata| description = metadata[:description] if example_group = metadata[:example_group] [vcr_cassette_name_for[example_group], description].join('/') else description end end when_tagged_with_vcr = { :vcr => lambda { |v| !!v } } config.before(:each, when_tagged_with_vcr) do |ex| example = ex.respond_to?(:metadata) ? ex : ex.example options = example.metadata[:vcr] options = options.is_a?(Hash) ? options.dup : {} # in case it's just :vcr => true cassette_name = options.delete(:cassette_name) || vcr_cassette_name_for[example.metadata] VCR.insert_cassette(cassette_name, options) end config.after(:each, when_tagged_with_vcr) do |ex| example = ex.respond_to?(:metadata) ? ex : ex.example VCR.eject_cassette(:skip_no_unused_interactions_assertion => !!example.exception) end end end end end end
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
vcr-2.9.0 | lib/vcr/test_frameworks/rspec.rb |
social_url_stats-0.0.1 | vendor/ruby/1.9.1/gems/vcr-2.8.0/lib/vcr/test_frameworks/rspec.rb |
vcr-2.8.0 | lib/vcr/test_frameworks/rspec.rb |