123456789_123456789_123456789_123456789_123456789_

Class: ActiveRecord::Fixture

Do not use. This class is for internal use only.
Relationships & Source Files
Namespace Children
Exceptions:
Super Chains via Extension / Inclusion / Inheritance
Instance Chain:
Inherits: Object
Defined in: activerecord/lib/active_record/fixtures.rb

Class Method Summary

Instance Attribute Summary

::Enumerable - Included

#many?

Returns true if the enumerable has more than 1 element.

Instance Method Summary

::Enumerable - Included

#compact_blank

Returns a new ::Array without the blank items.

#exclude?

The negative of the Enumerable#include?.

#excluding

Returns a copy of the enumerable excluding the specified elements.

#in_order_of

Returns a new ::Array where the order has been set to that provided in the series, based on the key of the objects in the original enumerable.

#including

Returns a new array that includes the passed elements.

#index_by

Convert an enumerable to a hash, using the block result as the key and the element as the value.

#index_with

Convert an enumerable to a hash, using the element as the key and the block result as the value.

#maximum

Calculates the maximum from the extracted elements.

#minimum

Calculates the minimum from the extracted elements.

#pick

Extract the given key from the first element in the enumerable.

#pluck

Extract the given key from each element in the enumerable.

#sole

Returns the sole item in the enumerable.

#without
#as_json

::ActiveSupport::EnumerableCoreExt::Constants - Included

Constructor Details

.new(fixture, model_class) ⇒ Fixture

[ GitHub ]

  
# File 'activerecord/lib/active_record/fixtures.rb', line 813

def initialize(fixture, model_class)
  @fixture     = fixture
  @model_class = model_class
end

Instance Attribute Details

#fixture (readonly) Also known as: #to_hash

[ GitHub ]

  
# File 'activerecord/lib/active_record/fixtures.rb', line 811

attr_reader :model_class, :fixture

#model_class (readonly)

[ GitHub ]

  
# File 'activerecord/lib/active_record/fixtures.rb', line 811

attr_reader :model_class, :fixture

#to_hash (readonly)

Alias for #fixture.

[ GitHub ]

  
# File 'activerecord/lib/active_record/fixtures.rb', line 830

alias :to_hash :fixture

Instance Method Details

#[](key)

[ GitHub ]

  
# File 'activerecord/lib/active_record/fixtures.rb', line 826

def [](key)
  fixture[key]
end

#class_name

[ GitHub ]

  
# File 'activerecord/lib/active_record/fixtures.rb', line 818

def class_name
  model_class.name if model_class
end

#each(&block)

[ GitHub ]

  
# File 'activerecord/lib/active_record/fixtures.rb', line 822

def each(&block)
  fixture.each(&block)
end

#find

[ GitHub ]

  
# File 'activerecord/lib/active_record/fixtures.rb', line 832

def find
  raise FixtureClassNotFound, "No class attached to find." unless model_class
  object = model_class.unscoped do
    pk_clauses = fixture.slice(*Array(model_class.primary_key))
    model_class.find_by!(pk_clauses)
  end
  # Fixtures can't be eagerly loaded
  object.instance_variable_set(:@strict_loading, false)
  object
end