Methods
F
R
S
T
U
Instance Public methods
fixtures(*fixture_names)
     # File activerecord/lib/active_record/fixtures.rb, line 753
753:       def fixtures(*fixture_names)
754:         if fixture_names.first == :all
755:           fixture_names = Dir["#{fixture_path}/**/*.{yml}"]
756:           fixture_names.map! { |f| f[(fixture_path.size + 1)..-5] }
757:         else
758:           fixture_names = fixture_names.flatten.map { |n| n.to_s }
759:         end
760: 
761:         self.fixture_table_names |= fixture_names
762:         require_fixture_classes(fixture_names)
763:         setup_fixture_accessors(fixture_names)
764:       end
require_fixture_classes(fixture_names = nil)
     # File activerecord/lib/active_record/fixtures.rb, line 778
778:       def require_fixture_classes(fixture_names = nil)
779:         (fixture_names || fixture_table_names).each do |fixture_name|
780:           file_name = fixture_name.to_s
781:           file_name = file_name.singularize if ActiveRecord::Base.pluralize_table_names
782:           try_to_load_dependency(file_name)
783:         end
784:       end
set_fixture_class(class_names = {})
     # File activerecord/lib/active_record/fixtures.rb, line 749
749:       def set_fixture_class(class_names = {})
750:         self.fixture_class_names = self.fixture_class_names.merge(class_names)
751:       end
setup_fixture_accessors(fixture_names = nil)
     # File activerecord/lib/active_record/fixtures.rb, line 786
786:       def setup_fixture_accessors(fixture_names = nil)
787:         fixture_names = Array.wrap(fixture_names || fixture_table_names)
788:         methods = Module.new do
789:           fixture_names.each do |fixture_name|
790:             fixture_name = fixture_name.to_s.tr('./', '_')
791: 
792:             define_method(fixture_name) do |*fixtures|
793:               force_reload = fixtures.pop if fixtures.last == true || fixtures.last == :reload
794: 
795:               @fixture_cache[fixture_name] ||= {}
796: 
797:               instances = fixtures.map do |fixture|
798:                 @fixture_cache[fixture_name].delete(fixture) if force_reload
799: 
800:                 if @loaded_fixtures[fixture_name][fixture.to_s]
801:                   ActiveRecord::IdentityMap.without do
802:                     @fixture_cache[fixture_name][fixture] ||= @loaded_fixtures[fixture_name][fixture.to_s].find
803:                   end
804:                 else
805:                   raise StandardError, "No fixture with name '#{fixture}' found for table '#{fixture_name}'"
806:                 end
807:               end
808: 
809:               instances.size == 1 ? instances.first : instances
810:             end
811:             private fixture_name
812:           end
813:         end
814:         include methods
815:       end
try_to_load_dependency(file_name)
     # File activerecord/lib/active_record/fixtures.rb, line 766
766:       def try_to_load_dependency(file_name)
767:         require_dependency file_name
768:       rescue LoadError => e
769:         # Let's hope the developer has included it himself
770: 
771:         # Let's warn in case this is a subdependency, otherwise
772:         # subdependency error messages are totally cryptic
773:         if ActiveRecord::Base.logger
774:           ActiveRecord::Base.logger.warn("Unable to load #{file_name}, underlying cause #{e.message} \n\n #{e.backtrace.join("\n")}")
775:         end
776:       end
uses_transaction(*methods)
     # File activerecord/lib/active_record/fixtures.rb, line 817
817:       def uses_transaction(*methods)
818:         @uses_transaction = [] unless defined?(@uses_transaction)
819:         @uses_transaction.concat methods.map { |m| m.to_s }
820:       end
uses_transaction?(method)
     # File activerecord/lib/active_record/fixtures.rb, line 822
822:       def uses_transaction?(method)
823:         @uses_transaction = [] unless defined?(@uses_transaction)
824:         @uses_transaction.include?(method.to_s)
825:       end