Skip to content

itchy/inherits_from

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

inherits_from - A gem that provides an inheritance interface for ActiveRecord Models

Introduction

inherits_from address the different paradigms between OO and RDBMS to allow ActiveRecord(AR) objects to inherit from AR objects. Both systems have objects with Behavior, Identity & State. OO objects that inherit from each other should have direct access to all superclasses’ behavior identity and state. RDBMS entities relate to each other. RDBMS entries should normalize state across multiple tables. Because AR stores state in RDBMS, objects that should inherit from other AR objects are required to use composition.

inherits_from provides an interface that allows ActiveRecord models to access other ActiveRecord models as though they were subclassed, while allowing data to be stored in a normalized RDBMS.

Resources

Installation

gem install inherits_from

Git Repository

github.com/itchy/inherits_from

Requirements

inherits_from requires ActiveRecord

Example

class User < ActiveRecord::Base
  has_many :profiles
  # has an attribute of email
end

class Profile < ActiveRecord::Base
  include InheritsFrom
  inherits_from :user # this would be belongs_to if not using inherits_from
end	

p = Profile.first
p.email => provides p.user.email
p.email="new@email.com" => sets the value of p.user.email
p.save => will also save p.user if it is tainted?

About

This is a Rails, ActiveRecord gem that allows ActiveRecord Models to have pseudo inheritance of another ActiveRecord Model

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages