Class: ActiveRecord::MySQL::Strict::Validation
- Inherits:
-
Struct
- Object
- Struct
- ActiveRecord::MySQL::Strict::Validation
- Defined in:
- lib/active_record/mysql/strict/validation.rb,
lib/active_record/mysql/strict/validation/text_validation.rb,
lib/active_record/mysql/strict/validation/string_validation.rb,
lib/active_record/mysql/strict/validation/integer_validation.rb
Direct Known Subclasses
Defined Under Namespace
Classes: IntegerValidation, StringValidation, TextValidation
Instance Attribute Summary collapse
-
#field ⇒ Object
Returns the value of attribute field.
-
#model ⇒ Object
Returns the value of attribute model.
Class Method Summary collapse
-
.inject_validations(model, options = {}) ⇒ Object
Inject validations into an ActiveRecord model.
Instance Attribute Details
#field ⇒ Object
Returns the value of attribute field
4 5 6 |
# File 'lib/active_record/mysql/strict/validation.rb', line 4 def field @field end |
#model ⇒ Object
Returns the value of attribute model
4 5 6 |
# File 'lib/active_record/mysql/strict/validation.rb', line 4 def model @model end |
Class Method Details
.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 |