Hi Daniel,

On Nov 10, 2010, at 2:59 PM, Daniel Lidström wrote:

> Hi Zach,
> 
> thanks for your detailed answer. I think I need some clarifications: I
> am not using Rails, I have a regular ruby project. When I say I need
> to read a file, I am talking about a binary file with Othello
> positions, not a spec helper. It is not a file I can 'require-in'.

You can change the working directory for the process using FileUtils.cd.  If 
you want to change the directory for all your specs, you could do something 
like:

# In spec/spec_helper.rb
require 'fileutils'
# ...
RSpec.configure do |config|
  config.before
    FileUtils.cd File.dirname(__FILE__)
  end
end

You could do the same thing for particular specs if that works better with what 
you want.  Just adjust the path.

As an alternative, you might also consider having a helper like this:

# again, in spec/spec_helper.rb
def spec_path(path)
  File.expand_path("../spec", __FILE__)
end

which you would use like so:

book = Book.new spec_path("data/JA_s12.book")

This has the benefit of being more explicit / less surprising to other 
developers (including your future self), since the relative path for spec 
execution is usually the project root.

Rhett

> Sorry for the confusion.
> 
> Daniel
> _______________________________________________
> rspec-users mailing list
> rspec-users@rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users

_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to