5071c5b861341c0dcfcf6ac86327701f

Rails require_dependency usage

class Listing < ActiveRecord::Base
  require_dependency "listing/property_related"
  require_dependency "listing/price_related"
  require_dependency "listing/contact_related"
  require_dependency "listing/address_related"
  require_dependency "full_text_search/listing_config"
  ....
end

Refactorings

No refactoring yet !

A52b0e1c5d982f2512a03c5dbfd033d6

Dick Davies

September 18, 2008, September 18, 2008 08:27, permalink

No rating. Login to rate!

This is a bit cleaner, but I'd probably look at a listing/related.rb that requires everything else in listing/.

%w(listing/property_related listing/price_related listing/contact_related listing/address_related full_text_search/listing_config).each do |r|
 require r
end
A8d3f35baafdaea851914b17dae9e1fc

Adam

September 18, 2008, September 18, 2008 17:53, permalink

No rating. Login to rate!

What, exactly, is in these files you are including? Perhaps it would be better to just let Rails load them automatically?

class Listing < ActiveRecord::Base
  include Listing::PropertyRelated
end
5071c5b861341c0dcfcf6ac86327701f

Tien Dung

September 21, 2008, September 21, 2008 00:13, permalink

No rating. Login to rate!

Thanks for your help guys :)

I use require_dependency because it is used to reload source files on each request when in development mode.
http://wiki.rubyonrails.org/rails/pages/RequireDependency

Learn it from Rick's Beast forum
http://github.com/courtenay/altered_beast/tree/master/config/initializers/concerns.rb

Your refactoring





Format Copy from initial code

or Cancel