Skip to content

Commit

Permalink
File.absolute_path isn't available on 1.8.
Browse files Browse the repository at this point in the history
For vcr#118.
  • Loading branch information
myronmarston committed Dec 29, 2011
1 parent cd3bbb6 commit 85cc91c
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 4 deletions.
8 changes: 6 additions & 2 deletions lib/vcr/configuration.rb
Original file line number Diff line number Diff line change
Expand Up @@ -114,8 +114,8 @@ def initialize
# end
attr_reader :cassette_library_dir
def cassette_library_dir=(cassette_library_dir)
@cassette_library_dir = cassette_library_dir ? File.absolute_path(cassette_library_dir) : nil
FileUtils.mkdir_p(@cassette_library_dir) if cassette_library_dir
FileUtils.mkdir_p(cassette_library_dir) if cassette_library_dir
@cassette_library_dir = cassette_library_dir ? absolute_path_for(cassette_library_dir) : nil
end

# Default options to apply to every cassette.
Expand Down Expand Up @@ -350,6 +350,10 @@ def start_new_fiber_for(request, block)
fiber.resume(request.fiber_aware)
end
end

def absolute_path_for(path)
Dir.chdir(path) { Dir.pwd }
end
end
end

6 changes: 4 additions & 2 deletions spec/vcr/configuration_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,10 @@
end

it 'resolves the given directory to an absolute path, so VCR continues to work even if the current directory changes' do
subject.cassette_library_dir = 'tmp/cassette_library_dir/new_dir'
subject.cassette_library_dir.should eq(File.absolute_path(tmp_dir))
relative_dir = 'tmp/cassette_library_dir/new_dir'
subject.cassette_library_dir = relative_dir
absolute_dir = File.join(VCR::SPEC_ROOT.sub(/\/spec\z/, ''), relative_dir)
subject.cassette_library_dir.should eq(absolute_dir)
end
end

Expand Down

0 comments on commit 85cc91c

Please sign in to comment.