class VCR::LinkedCassette::CassetteList
An enumerable lazily wrapping a list of cassettes that a context is using
Public Class Methods
new(cassettes, linked_cassettes)
click to toggle source
Creates a new list of context-owned cassettes and linked cassettes @param cassettes [Array] context-owned cassettes @param linked_cassettes [Array] context-unowned (linked) cassettes
# File lib/vcr/linked_cassette.rb, line 14 def initialize(cassettes, linked_cassettes) @cassettes = cassettes @linked_cassettes = linked_cassettes end
Public Instance Methods
each() { |wrap(cassette)| ... }
click to toggle source
Yields linked cassettes first, and then context-owned cassettes
# File lib/vcr/linked_cassette.rb, line 20 def each @linked_cassettes.each do |cassette| yield wrap(cassette) end @cassettes.each do |cassette| yield cassette end end
last()
click to toggle source
Provide last implementation, which is not provided by Enumerable
# File lib/vcr/linked_cassette.rb, line 31 def last cassette = @cassettes.last return cassette if cassette cassette = @linked_cassettes.last wrap(cassette) if cassette end
size()
click to toggle source
Provide size implementation, which is not provided by Enumerable
# File lib/vcr/linked_cassette.rb, line 40 def size @cassettes.size + @linked_cassettes.size end
Protected Instance Methods
wrap(cassette)
click to toggle source
# File lib/vcr/linked_cassette.rb, line 45 def wrap(cassette) if cassette.linked? cassette else LinkedCassette.new(cassette) end end