This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
| name | age | message | |
|---|---|---|---|
| |
MIT-LICENSE | Fri Aug 22 12:31:43 -0700 2008 | |
| |
README | ||
| |
init.rb | Fri Aug 22 12:31:43 -0700 2008 | |
| |
lib/ |
This is a Rails plugin, which was created for Rails 2.1 but might work also for other Rails versions. It does not contain unit tests, so if you would like to collaborate, this would be a nice addition. Although this plugin does not require STI, it is probably only really useful with single table inheritance. Example usage with STI ====================== Let's use the example of STI given by Martin Fowler at: http://www.martinfowler.com/eaaCatalog/singleTableInheritance.html table players: name, club, batting_average, bowling_average, type type may be: Footballer, Cricketer, Bowler The attribute bowling_average will always be NULL in any record with type Cricketer or Footballer. The same is true for club in Cricketer or Bowler. so using ActiveRecord you have: class Player < ActiveRecord::Base end class Footballer < Player end class Cricketer < Player end class Bowler < Cricketer end however when you use an object of the class Bowler you can still access "club", which make sense only for Footballer; this plugin comes in hand in this situation. The point of this plugin is to hide from the object instance in the object-relational mapping the columns which are anyway always NULL in some of these classes. using attr_hidden: class Player < ActiveRecord::Base end class Footballer < Player attr_hidden :batting_average, :bowling_average end class Cricketer < Player attr_hidden :club, :bowling_average end class Bowler < Cricketer attr_not_hidden :bowling_average end now each class sees only the columns which are meaningful for them.












