require 'uuid'

module ActiveRecord
  module UseUuid #:nodoc:

    def self.append_features(base)
      super
      base.extend(ClassMethods)
    end

    module ClassMethods
      def use_uuid(options = {})
        class_eval do
          set_primary_key options[:column] if options[:column]

          def after_initialize
            self.id ||= UUID.getUUID
          end
        end
      end
    end
  end
end

ActiveRecord::Base.class_eval do
  include ActiveRecord::UseUuid
end
創作者介紹
創作者 不就是個blog 的頭像
Forth

不就是個blog

Forth 發表在 痞客邦 留言(0) 人氣( 0 )