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

Defined in:
lib/composite_primary_keys/base.rb

Instance Method Summary collapse

Instance Method Details

#composite?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/composite_primary_keys/base.rb', line 32

def composite?
  false
end

#set_primary_keys(*keys) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
# 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 CompositePrimaryKeys::ActiveRecord::Base::CompositeClassMethods
    include CompositePrimaryKeys::ActiveRecord::Base::CompositeInstanceMethods
    include CompositePrimaryKeys::ActiveRecord::Associations
    extend CompositePrimaryKeys::ActiveRecord::Calculations::ClassMethods
  EOV
end