Rails / ActiveRecord - Hide attributes in a model (particularly useful for Single Table Inheritance)
License
ggonnella/attr_hidden
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
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.
About
Rails / ActiveRecord - Hide attributes in a model (particularly useful for Single Table Inheritance)
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published