[Rails] [ANN] inherits_from: Multiple table inheritance

Raymond Lucke rails at raylucke.com
Tue Jul 4 00:07:57 GMT 2006


Hey guys,

I just implemented very simple and primitive class table inheritance in 
ActiveRecord. The goal is for this to become mature enough to become a 
true feature in Rails. Check it out here:

http://guest@blog.raylucke.com/svn/inherits_from

Here’s how it looks in action:

create_table "books", :force => true do |t|
  t.column "product_id", :integer
  t.column "pages", :integer
  t.column "author", :string
end

create_table "products", :force => true do |t|
  t.column "name", :string
  t.column "price", :integer
  t.column "type", :string
end

create_table "videos", :force => true do |t|
  t.column "product_id", :integer
  t.column "minutes", :integer
  t.column "starring", :string
end

class Product < ActiveRecord::Base
end

class Book < ActiveRecord::Base
  inherits_from :product
end

class Video < ActiveRecord::Base
  inherits_from :product
end

Book.create(:name => "Agile Development with Rails", :pages => 350)
Video.create(:name => "Twilight Zone Season 1", :minutes => 490)

Book.find(1).name => "Agile Development with Rails"

Note: this plugin is not production ready. I’m hoping some people who 
are much smarter than me will send me patches to make it primetime.
Known bugs:

    * Inherited column validation/error handling does not currently work
    * Book.find_by_name() (inherited column) does not work
    * Only basic attributes are passed along right now

Feel free to send me any comments to ray @ this domain (raylucke.com).

I'll be posting updates on my blog as well.

Regards,

Raymond W. Lucke IV
http://blog.raylucke.com/

-- 
Posted via http://www.ruby-forum.com/.


More information about the Rails mailing list