I've got three files that (a.rb, b.rb, c.rb) that currently live in
app/models.
I'd like these models to shared by multiple rails apps. These models are
associated with a separate database.
My rails projects are contained in a directory that looks like this:
projects/
proj1/ proj2/ proj3/ common/
common/
a.rb b.rb c.rb
My idea is to do this:
In proj1/lib/, symlink to ../../common/
lib/
common/ (which is a symlink)
My question is:
How do I tell rails to load the files pointed to by the symlink named
'common' in the lib directory?
I've got three files that (a.rb, b.rb, c.rb) that currently live in
app/models.
I'd like these models to shared by multiple rails apps. These models are
associated with a separate database.
My rails projects are contained in a directory that looks like this:
projects/
proj1/ proj2/ proj3/ common/
common/
a.rb b.rb c.rb
My idea is to do this:
In proj1/lib/, symlink to ../../common/
lib/
common/ (which is a symlink)
My question is:
How do I tell rails to load the files pointed to by the symlink named
'common' in the lib directory?
First, you might want to ask this at the Rails Mailinglist.
Secondly, your solution wouldn't be portable, as only Unixes (MacOS, HP-UX, OpenSolaris, Linux) understand symlinks. Windows doesn't understand POSIX symlinks at all.
···
--
Phillip "CynicalRyan" Gawlowski
Rule of Open-Source Programming #15:
If you like it, let the author know. If you hate it, let the author
know why.
svn externals works well for this. I would create a tag of the libs so
when you create tags of your projects you will not have to change the
external -r option.
I've got three files that (a.rb, b.rb, c.rb) that currently live in
app/models.
I'd like these models to shared by multiple rails apps. These models are
associated with a separate database.
My rails projects are contained in a directory that looks like this:
projects/
proj1/ proj2/ proj3/ common/
common/
a.rb b.rb c.rb
My idea is to do this:
In proj1/lib/, symlink to ../../common/
lib/
common/ (which is a symlink)
My question is:
How do I tell rails to load the files pointed to by the symlink named
'common' in the lib directory?
Personally I want to avoid symlinks, and I think what you want should be
possible simply by adding the appropriate directory to config.load_paths,
e.g.
Now, if you enter "site:rubyonrails.com config.load_paths" into Google,
there are two hits, and the second one looks like a Wiki page which explains
exactly this. Unfortunately, when I follow it at the moment all I see is
"Application error (Rails)"
But the 'Cached' link on Google works.
Another idea. If the model is called common/app/models/foo.rb, then you can
create stub files {proj1,proj2,proj3}/app/models/foo.rb which just contain
a single line:
On Sat, Mar 24, 2007 at 12:24:27AM +0900, Elliott Blatt wrote:
I've got three files that (a.rb, b.rb, c.rb) that currently live in
app/models.
I'd like these models to shared by multiple rails apps. These models are
associated with a separate database.
My rails projects are contained in a directory that looks like this:
projects/
proj1/ proj2/ proj3/ common/
common/
a.rb b.rb c.rb
My idea is to do this:
In proj1/lib/, symlink to ../../common/
lib/
common/ (which is a symlink)
My question is:
How do I tell rails to load the files pointed to by the symlink named
'common' in the lib directory?