Ruby Forum Ruby > Ruby gem newbie question

Posted by David Madden (moose56)
on 16.05.2008 12:27
Hi,

I am trying to create a ruby gem and I have a slight problem finding a
file within it.

The structure of the code in my gem is as follows:

./
 bin/
    ai
 lib/
    app.rb
    app/
      # src files
    templates/
      default.txt
.etc.

The gem loads fine, my problem is that I cannot find the default.txt
file in the templates dir from within the code in the app dir when it is
used from the command line.

I think it is trying to find the file in the working directory, but it
is inside the gem. I have a line in my src file:

DEFAULT = "../templates/default.txt"

What should I put in order to point to the file within the gem?

Thanks.

David.
Posted by David Madden (moose56)
on 16.05.2008 13:45
Ok, I found a fix. I am not sure if this is the correct way but it seems 
to work.

TEMPLATE_DIR = "/../templates/"
DEFAULT = "default.txt"

template = File.dirname(__FILE__) + TEMPLATE_DIR + DEFAULT