class Fixture
:nodoc:
def [](key)
def [](key) @fixture[key] end
def class_name
def class_name @model_class.name if @model_class end
def each
def each @fixture.each { |item| yield item } end
def find
def find if model_class model_class.find(self[model_class.primary_key]) else raise FixtureClassNotFound, "No class attached to find." end end
def initialize(fixture, model_class, connection = ActiveRecord::Base.connection)
def initialize(fixture, model_class, connection = ActiveRecord::Base.connection) @connection = connection @fixture = fixture @model_class = model_class.is_a?(Class) ? model_class : model_class.constantize rescue nil end
def key_list
def key_list columns = @fixture.keys.collect{ |column_name| @connection.quote_column_name(column_name) } columns.join(", ") end
def to_hash
def to_hash @fixture end
def value_list
def value_list list = @fixture.inject([]) do |fixtures, (key, value)| col = model_class.columns_hash[key] if model_class.respond_to?(:ancestors) && model_class.ancestors.include?(ActiveRecord::Base) fixtures << @connection.quote(value, col).gsub('[^\]\\n', "\n").gsub('[^\]\\r', "\r") end list * ', ' end