Module: Spira::Validations::ClassMethods

Defined in:
lib/spira/validations.rb,
lib/spira/validations/uniqueness.rb

Instance Method Summary collapse

Instance Method Details

#create!(properties = {}, options = {}, &block) ⇒ Object

Creates an object just like Base.create but calls save! instead of save so an exception is raised if the record is invalid.



30
31
32
33
34
35
36
37
38
39
# File 'lib/spira/validations.rb', line 30

def create!(properties = {}, options = {}, &block)
  if properties.is_a?(Array)
    properties.collect { |attr| create!(attr, options, &block) }
  else
    object = new(properties, options)
    yield(object) if block_given?
    object.save!
    object
  end
end

#validates_uniqueness_of(*attr_names) ⇒ Object

Validates whether the value of the specified attributes are unique across the system. Useful for making sure that only one user can be named “davidhh”.

class Person < Spira::Base
  validates_uniqueness_of :user_name
end


38
39
40
# File 'lib/spira/validations/uniqueness.rb', line 38

def validates_uniqueness_of(*attr_names)
  validates_with UniquenessValidator, _merge_attributes(attr_names)
end