private Method

Fixtures.read_yaml_fixture_files

There's no documentation for this item.

Source Code

# File active_record/fixtures.rb, line 693
def read_yaml_fixture_files
  yaml_string = ""
  Dir["#{@fixture_path}/**/*.yml"].select { |f| test(?f, f) }.each do |subfixture_path|
    yaml_string << IO.read(subfixture_path)
  end
  yaml_string << IO.read(yaml_file_path)

  if yaml = parse_yaml_string(yaml_string)
    # If the file is an ordered map, extract its children.
    yaml_value =
      if yaml.respond_to?(:type_id) && yaml.respond_to?(:value)
        yaml.value
      else
        [yaml]
      end

    yaml_value.each do |fixture|
      raise Fixture::FormatError, "Bad data for #{@class_name} fixture named #{fixture}" unless fixture.respond_to?(:each)
      fixture.each do |name, data|
        unless data
          raise Fixture::FormatError, "Bad data for #{@class_name} fixture named #{name} (nil)"
        end

        self[name] = Fixture.new(data, model_class)
      end
    end
  end
end
Comments

Have your say
Please use Textile formatting (click here for a cheat sheet). Use <code/> and <pre/> for code samples.
Click here to login with OpenID to to post comments.