module ActiveRecordUuid::Model::ClassMethods
Public Instance Methods
generate_uuid()
click to toggle source
# File lib/active_record_uuid/model.rb, line 48 def generate_uuid UUIDTools::UUID.send("#{uuid_config.generator}_create").to_s end
has_uuid(options = {})
click to toggle source
# File lib/active_record_uuid/model.rb, line 67 def has_uuid(options = {}) options = ActiveRecordUuid.config.to_hash.merge(options) @uuid_config = ActiveRecordUuid::Config.new(options) column_name = uuid_config.column.to_sym self.primary_key = column_name if uuid_config.primary_key self.serialize column_name, ActiveRecordUuid::Serializer.new(uuid_config.store_as) self.send(uuid_config.hook, :assign_uuid_when_blank) self.validates_uniqueness_of column_name, :if => Proc.new { |r| r.uuid_value.present? } self.validate :validates_uuid, :if => Proc.new { |r| r.uuid_value.present? } self.send(:extend, ActiveRecordUuid::AssociationMethods) if uuid_config.association end
uuid_config(&block)
click to toggle source
# File lib/active_record_uuid/model.rb, line 52 def uuid_config(&block) return @uuid_config if @uuid_config.present? @uuid_config = ActiveRecordUuid::Config.new if block_given? @uuid_config.instance_eval(&block) @uuid_config.validate_options! end # apply uuid based on config has_uuid(@uuid_config.to_hash) @uuid_config end