module Sequel::Plugins::PgAutoConstraintValidations::ClassMethods

  1. lib/sequel/plugins/pg_auto_constraint_validations.rb

Attributes

pg_auto_constraint_validations [R]

Hash of metadata checked when an instance attempts to convert a constraint violation into a validation failure.

pg_auto_constraint_validations_messages [R]

Hash of error messages keyed by constraint type symbol to use in the generated validation failures.

Public Instance methods

dump_pg_auto_constraint_validations_cache()

Dump the in-memory cached metadata to the cache file.

[show source]
    # File lib/sequel/plugins/pg_auto_constraint_validations.rb
134 def dump_pg_auto_constraint_validations_cache
135   raise Error, "No pg_auto_constraint_validations setup" unless file = @pg_auto_constraint_validations_cache_file
136   pg_auto_constraint_validations_cache = {}
137   @pg_auto_constraint_validations_cache.sort.each do |k, v|
138     h = {}
139     v.each do |k, entry|
140       entry = Hash[entry.sort] if entry.is_a?(Hash)
141       h[k] = entry
142     end
143     pg_auto_constraint_validations_cache[k] = h
144   end
145   File.open(file, 'wb'){|f| f.write(Marshal.dump(pg_auto_constraint_validations_cache))}
146   nil
147 end
pg_auto_constraint_validation_override(constraint, columns, message)

Override the constraint validation columns and message for a given constraint

[show source]
    # File lib/sequel/plugins/pg_auto_constraint_validations.rb
150 def pg_auto_constraint_validation_override(constraint, columns, message)
151   pgacv = Hash[@pg_auto_constraint_validations]
152   overrides = pgacv[:overrides] = Hash[pgacv[:overrides]]
153   overrides[constraint] = [Array(columns), message].freeze
154   overrides.freeze
155   @pg_auto_constraint_validations = pgacv.freeze
156   nil
157 end