Module: Sack::Database::Model

Defined in:
lib/sack/database/model.rb,
lib/sack/database/model/data.rb,
lib/sack/database/model/validation.rb,
lib/sack/database/model/relationships.rb,
lib/sack/database/model/relationships/has_many.rb,
lib/sack/database/model/relationships/belongs_to.rb

Overview

Model Module

Defined Under Namespace

Modules: ClassMethods, Data, Relationships, Validation

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object

Included: Inject stuff when included.

Parameters:

  • base (Object)

    Whatever we’ve been included into



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/sack/database/model.rb', line 27

def self.included base

  # Set Model
  base.instance_variable_set '@model', base

  # Link to parent Data Model Root
  base.instance_variable_set '@model_root', base.mod_parent

  # Set Model Name
  base.instance_variable_set '@model_name', base.mod_name

  # Extend Class Methods
  base.extend ClassMethods

  # Extend with Data Access Methods
  base.extend Data

  # Include Validation
  base.include Validation

  # Include Relationships
  base.include Relationships
end