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
|