Module: Spira::Validations::ClassMethods
- Defined in:
- lib/spira/validations.rb,
lib/spira/validations/uniqueness.rb
Instance Method Summary collapse
-
#create!(properties = {}, options = {}, &block) ⇒ Object
Creates an object just like Base.create but calls
save!
instead ofsave
so an exception is raised if the record is invalid. -
#validates_uniqueness_of(*attr_names) ⇒ Object
Validates whether the value of the specified attributes are unique across the system.
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 = {}, = {}, &block) if properties.is_a?(Array) properties.collect { |attr| create!(attr, , &block) } else object = new(properties, ) 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 |