123456789_123456789_123456789_123456789_123456789_

Module: ActiveSupport::Testing::FileFixtures

Overview

Adds simple access to sample files called file fixtures. ::File fixtures are normal files stored in ActiveSupport::TestCase.file_fixture_path.

::File fixtures are represented as ::Pathname objects. This makes it easy to extract specific information:

file_fixture("example.txt").read # get the file's content
file_fixture("example.mp3").size # get the file size

Class Method Summary

Instance Method Summary

DSL Calls

included

[ GitHub ]


17
18
19
# File 'activesupport/lib/active_support/testing/file_fixtures.rb', line 17

included do
  class_attribute :file_fixture_path, instance_writer: false
end

Instance Method Details

#file_fixture(fixture_name)

Returns a ::Pathname to the fixture file named fixture_name.

Raises ArgumentError if fixture_name can’t be found.

[ GitHub ]

  
# File 'activesupport/lib/active_support/testing/file_fixtures.rb', line 24

def file_fixture(fixture_name)
  path = Pathname.new(File.join(file_fixture_path, fixture_name))

  if path.exist?
    path
  else
    msg = "the directory '%s' does not contain a file named '%s'"
    raise ArgumentError, msg % [file_fixture_path, fixture_name]
  end
end