class SPV::Fixtures

This class is a container for keeping all prepared fixtures for inserting into VCR.

Converts list with fixture names into list of SPV::Fixture objects.

Public Class Methods

new(vals) click to toggle source
# File lib/site_prism_vcr/fixtures.rb, line 7
def initialize(vals)
  @container = vals.each_with_object({}) do |fixture, memo|
    memo[fixture.name] = fixture
  end
end

Public Instance Methods

each(&block) click to toggle source
# File lib/site_prism_vcr/fixtures.rb, line 33
def each(&block)
  @container.values.each &block
end
exchange(old_vals, new_vals) click to toggle source
# File lib/site_prism_vcr/fixtures.rb, line 13
def exchange(old_vals, new_vals)
  new_list = self.each_with_object([]) do |item, memo|
    memo << item unless old_vals.any? {|old_item| item.name == old_item.name }
  end

  self.class.new(new_list.concat(new_vals))
end
replace(vals) click to toggle source
# File lib/site_prism_vcr/fixtures.rb, line 21
def replace(vals)
  if vals.length > 0
    self.class.new(vals)
  else
    self
  end
end
size() click to toggle source
# File lib/site_prism_vcr/fixtures.rb, line 37
def size
  @container.values
end
union(vals) click to toggle source
# File lib/site_prism_vcr/fixtures.rb, line 29
def union(vals)
  self.class.new(@container.values.concat(vals))
end