# File lib/composite_primary_keys/base.rb, line 11 def primary_key=(keys) unless keys.kind_of?(Array) self.primary_key_without_composite_key_support = keys return end @primary_keys = keys.map { |k| k.to_s }.to_composite_keys class_eval <<-EOV extend CompositeClassMethods include CompositeInstanceMethods EOV end
class ActiveRecord::Base
Constants
- INVALID_FOR_COMPOSITE_KEYS
- NOT_IMPLEMENTED_YET
Public Class Methods
composite?()
click to toggle source
# File lib/composite_primary_keys/base.rb, line 39 def composite? false end
primary_key=(keys)
click to toggle source
Also aliased as: primary_key_without_composite_key_support=, primary_keys=
set_primary_keys(*keys)
click to toggle source
# File lib/composite_primary_keys/base.rb, line 26 def set_primary_keys(*keys) ActiveSupport::Deprecation.warn( "Calling set_primary_keys is deprecated. Please use `self.primary_keys = keys` instead." ) keys = keys.first if keys.first.is_a?(Array) if keys.length == 1 self.primary_key = keys.first else self.primary_keys = keys end end
Public Instance Methods
composite?()
click to toggle source
# File lib/composite_primary_keys/base.rb, line 44 def composite? self.class.composite? end