Sha256: 001477cf8f8be9bac423c9e6cdb111b7f419d99b63439814ebc641092bab98e9
Contents?: true
Size: 842 Bytes
Versions: 68
Compression:
Stored size: 842 Bytes
Contents
require 'rubygems' require 'uuidtools' module ActiveRecord module Sixguid #:nodoc: def self.append_features(base) super base.extend(ClassMethods) end module ClassMethods def six_guid(options = {}) class_eval do # set_primary_key options[:column] if options[:column] before_create :assign_guid # Give this record a guid id. Public method so people can call it before save if necessary. def assign_guid unless self.id begin self.id = UUIDTools::UUID.timestamp_create().to_s rescue self.id = UUIDTools::UUID.random_create().to_s end end end end end end end end ActiveRecord::Base.class_eval do include ActiveRecord::Sixguid end
Version data entries
68 entries across 68 versions & 1 rubygems