# product.rb
class Produtct < AR::Base
end
require_dependency 'book'
require_dependency 'movie'

# movie.rb
class Movie < Product
end

# book.rb
class Book < Product
end

This works fine for me in development and production.

1. Development:
a) Request comes
b) you call Product.dependencies()
c) reading product.rb calls require_dependecy and reads movie.rb and
book.rb
d) Product.dependencies returns => [Movie, Book]
e) request is finished. Product, Movie, Book constanst are forgotten.

2. Development:
a) Request comes
b) you call Movie.something()
c) Movie inherits from Product
d) autoloading reads product.rb
e) reading product.rb calls require_dependecy and reads movie.rb and
book.rb
f) Movie.something() returns something
g) request finished. Product, Movie, Book constanst are forgotten.

3. Production

a) Loading rails application leads to require all files in app/**/*.rb
for faster forking application.
b) movie.rb or product.rb is read first.
c) require_dependency behaves like require.
d) Everything works still fine.

Robert Pankowecki

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to