Sha256: 17e4a6d80d6948644cfe9950d8bc110da3b41a04fa97c9955a165f01d946e12e
Contents?: true
Size: 1.28 KB
Versions: 1
Compression:
Stored size: 1.28 KB
Contents
module ActiveRecord module AttributeMethods module PrimaryKey extend ActiveSupport::Concern module ClassMethods # Defines the primary key field -- can be overridden in subclasses. Overwriting will negate any effect of the # primary_key_prefix_type setting, though. def primary_key reset_primary_key end def reset_primary_key #:nodoc: key = get_primary_key(base_class.name) set_primary_key(key) key end def get_primary_key(base_name) #:nodoc: key = 'id' case primary_key_prefix_type when :table_name key = base_name.to_s.foreign_key(false) when :table_name_with_underscore key = base_name.to_s.foreign_key end key end # Sets the name of the primary key column to use to the given value, # or (if the value is nil or false) to the value returned by the given # block. # # class Project < ActiveRecord::Base # set_primary_key "sysid" # end def set_primary_key(value = nil, &block) define_attr_method :primary_key, value, &block end alias :primary_key= :set_primary_key end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
activerecord-3.0.0.beta | lib/active_record/attribute_methods/primary_key.rb |