Module: DatabaseValidations::Helpers
- Defined in:
- lib/database_validations/helpers.rb
Class Method Summary collapse
Class Method Details
.handle_unique_error(instance, error) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/database_validations/helpers.rb', line 14 def handle_unique_error(instance, error) columns = DatabaseValidations::Adapters .factory(instance.class) .error_columns(error.) .map!(&:to_s) .sort! = instance.class.validates_db_uniqueness[columns] = .except(:case_sensitive, :scope, :conditions, :attributes) [:value] = instance.public_send([:attributes]) instance.errors.add([:attributes], :taken, ) end |
.raise_if_index_missed!(model, columns) ⇒ Object
5 6 7 8 9 10 11 12 |
# File 'lib/database_validations/helpers.rb', line 5 def raise_if_index_missed!(model, columns) connection = model.connection rescue return index = connection.indexes(model.table_name) .select(&:unique) .find { |index| index.columns.map(&:to_s).sort == columns } raise Errors::IndexNotFound.new(columns) unless index end |