Method: ActiveRecord::MySQL::Strict::Validation.inject_validations
- Defined in:
- lib/active_record/mysql/strict/validation.rb
.inject_validations(model, options = {}) ⇒ Object
Inject validations into an ActiveRecord model
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/active_record/mysql/strict/validation.rb', line 6 def self.inject_validations(model, = {}) except = [:except] || [] model_columns = model.columns.dup.reject { |c| except.include?(c.name.to_sym) } if only = [:only] model_columns = model_columns.select { |c| only.include?(c.name.to_sym) } end model_columns.each do |field| validation = "#{field.type.to_s.camelize}Validation" if ActiveRecord::MySQL::Strict::Validation.const_defined?(validation) "ActiveRecord::MySQL::Strict::Validation::#{validation}".constantize.new(model, field).apply end end end |