3 def self.included(base)
4 base.extend(ClassMethods)
5 base.validates_presence_of :uuid, :if => :respond_to_uuid?
6 base.validates_uniqueness_of :uuid, :if => :respond_to_uuid?
7 base.before_validation :assign_uuid
12 Digest::MD5.hexdigest(self.to_s).to_i(16).to_s(36)[0..4]
19 self.respond_to? :uuid
23 return true if !self.respond_to_uuid?
24 self.uuid ||= [Server::Application.config.uuid_prefix,
25 self.class.uuid_prefix,
26 rand(2**256).to_s(36)[0..14]].