Module: DatabaseValidations::UniquenessHandlers
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/database_validations/validations/uniqueness_handlers.rb
Instance Method Summary collapse
Instance Method Details
#save(options = {}) ⇒ Object
21 22 23 24 25 26 |
# File 'lib/database_validations/validations/uniqueness_handlers.rb', line 21 def save( = {}) ActiveRecord::Base.connection.transaction(requires_new: true) { super } rescue ActiveRecord::RecordNotUnique => e Helpers.handle_unique_error!(self, e) false end |
#save!(options = {}) ⇒ Object
28 29 30 31 32 33 |
# File 'lib/database_validations/validations/uniqueness_handlers.rb', line 28 def save!( = {}) ActiveRecord::Base.connection.transaction(requires_new: true) { super } rescue ActiveRecord::RecordNotUnique => e Helpers.handle_unique_error!(self, e) raise ActiveRecord::RecordInvalid, self end |
#valid?(context = nil) ⇒ Boolean
9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/database_validations/validations/uniqueness_handlers.rb', line 9 def valid?(context = nil) output = super(context) Helpers.each_uniqueness_validator(self.class) do |validator| if validator.if_and_unless_pass?(self) validates_with(ActiveRecord::Validations::UniquenessValidator, validator.) end end errors.empty? && output end |