diaspora/lib/diaspora/fields/guid.rb
2017-09-17 19:29:15 +02:00

20 lines
457 B
Ruby

# frozen_string_literal: true
module Diaspora
module Fields
module Guid
# Creates a after_initialize callback which calls #set_guid
def self.included(model)
model.class_eval do
after_initialize :set_guid
validates :guid, uniqueness: true
end
end
# @return [String] The model's guid.
def set_guid
self.guid = UUID.generate(:compact) if guid.blank?
end
end
end
end