Module: EacRailsUtils::Models::Validations
- Defined in:
- lib/eac_rails_utils/models/validations.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
- .column_errors(model_or_record, column, value) ⇒ Object
- .column_required?(model_or_record, column) ⇒ Boolean
- .column_valid?(model_or_record, column, value) ⇒ Boolean
Instance Method Summary collapse
- #attribute_errors(attribute) ⇒ Object
- #attribute_required?(attribute) ⇒ Boolean
- #attribute_valid?(attribute) ⇒ Boolean
Class Method Details
.column_errors(model_or_record, column, value) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/eac_rails_utils/models/validations.rb', line 9 def column_errors(model_or_record, column, value) model = model_class_or_record_to_model(model_or_record) record = model.new model.validators_on(column).each do |validator| next if validator.[:allow_blank] && value.blank? next if validator.[:allow_nil] && value.nil? validator.validate_each(record, column, value) end record.errors end |
.column_required?(model_or_record, column) ⇒ Boolean
21 22 23 |
# File 'lib/eac_rails_utils/models/validations.rb', line 21 def column_required?(model_or_record, column) !column_valid?(model_or_record, column, nil) end |
.column_valid?(model_or_record, column, value) ⇒ Boolean
25 26 27 |
# File 'lib/eac_rails_utils/models/validations.rb', line 25 def column_valid?(model_or_record, column, value) column_errors(model_or_record, column, value).empty? end |
Instance Method Details
#attribute_errors(attribute) ⇒ Object
56 57 58 |
# File 'lib/eac_rails_utils/models/validations.rb', line 56 def attribute_errors(attribute) self.class.column_errors(attribute, send(attribute)) end |
#attribute_required?(attribute) ⇒ Boolean
60 61 62 |
# File 'lib/eac_rails_utils/models/validations.rb', line 60 def attribute_required?(attribute) self.class.column_required?(attribute) end |
#attribute_valid?(attribute) ⇒ Boolean
64 65 66 |
# File 'lib/eac_rails_utils/models/validations.rb', line 64 def attribute_valid?(attribute) attribute_errors(attribute).empty? end |