On Apr 22, 6:45 am, Christoffer Lern<le... / dragonascendant.com> wrote: > I'm writing a server for a networked game using ruby, but I keep > running into issues when organizing them. > > Basically I have a structure looking a bit like this: > > lib/ > testclient/ > gamemodel/ > gamecommands/ > server/ > utils/ > test/ > gamemodel/ > gamecommands/ > server/ > utils/ > > The problem is the paths for the requires. > > For a test in say test/gamemodel, I need to require something > like ../../lib/gamemodel/<file> > But when running the same test from some test_all.rb in /test, the > correct require is of course ../lib/gamemodel/<file> > (The natural way would have been to simply write require <file>) > > It is possible to fix this problem by appending to the load path, but > this means rows of duplicate code in every test file. > > The problem naturally extends to the lib where you also have to decide > where the code supposedly is run from. > > Any suggestions on neat ways of solving this problem or are there > perhaps packages available to make this work automatically? > > /Christoffer Hi Christoffer, When testing your lib you should only need to add lib/ to the load path once. For instance you might do: ruby -Ilib test/sometest.rb T.