Module: CompositePrimaryKeys::ActiveRecord::Base::ClassMethods

Defined in:
lib/composite_primary_keys/base.rb

Instance Method Summary collapse

Instance Method Details

#composite?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/composite_primary_keys/base.rb', line 35

def composite?
  false
end

#set_primary_keys(*keys) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/composite_primary_keys/base.rb', line 18

def set_primary_keys(*keys)
  keys = keys.first if keys.first.is_a?(Array)
  keys = keys.map {|k| k.to_sym }
  cattr_accessor :primary_keys 
  self.primary_keys = keys.to_composite_keys
  
  class_eval <<-EOV
    extend CompositeClassMethods
    include CompositeInstanceMethods
             
    include CompositePrimaryKeys::ActiveRecord::Associations
    include CompositePrimaryKeys::ActiveRecord::AssociationPreload
    include CompositePrimaryKeys::ActiveRecord::Calculations
    include CompositePrimaryKeys::ActiveRecord::AttributeMethods
  EOV
end