module ContentfulModel::Validations

Defines general validation methods

Public Class Methods

included(base) click to toggle source
# File lib/contentful_model/validations/validations.rb, line 9
def self.included(base)
  base.extend ClassMethods
  base.include Contentful::Validations::PresenceOf
  attr_reader :errors
end

Public Instance Methods

invalid?(save = false) click to toggle source
# File lib/contentful_model/validations/validations.rb, line 19
def invalid?(save = false)
  !valid?(save)
end
valid?(save = false) click to toggle source
# File lib/contentful_model/validations/validations.rb, line 15
def valid?(save = false)
  validate(save)
end
validate(save = false) click to toggle source
# File lib/contentful_model/validations/validations.rb, line 23
def validate(save = false)
  @errors = []
  unless respond_to?(:fields)
    @errors.push("Entity doesn't respond to the fields() method")
    return false
  end

  validation_kinds = [:validations]
  validation_kinds << :save_validations if save

  validation_kinds.each do |validation_kind|
    validations = self.class.send(validation_kind)
    next if validations.nil?

    validations.each do |validation|
      @errors += validation.validate(self)
    end
  end

  @errors.empty?
end