Module: ContentfulModel::Validations::ClassMethods

Defined in:
lib/contentful_model/validations/validations.rb

Overview

Class methods for Validations

Instance Method Summary collapse

Instance Method Details

#save_validationsObject



51
52
53
# File 'lib/contentful_model/validations/validations.rb', line 51

def save_validations
  @save_validations
end

#validate(name, fn = nil, on_load: false, &block) ⇒ Object



73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# File 'lib/contentful_model/validations/validations.rb', line 73

def validate(name, fn = nil, on_load: false, &block)
  vs = []
  fail '::validate requires either a function or a block sent as a validation' if fn.nil? && block.nil?

  vs << ::Contentful::Validations::LambdaValidation.new(name, fn) unless fn.nil?
  vs << ::Contentful::Validations::LambdaValidation.new(name, block) unless block.nil?

  if on_load
    @validations ||= []
    @validations += vs
  else
    @save_validations ||= []
    @save_validations += vs
  end
end

#validate_with(validation, on_load: false) ⇒ Object



55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/contentful_model/validations/validations.rb', line 55

def validate_with(validation, on_load: false)
  if validation.is_a?(Class)
    validation = validation.new
  elsif validation.respond_to?(:validate)
    validation = validation
  else
    fail '::validate_with requires a Class or object that responds to #validate(entry)'
  end

  if on_load
    @validations ||= []
    @validations << validation
  else
    @save_validations ||= []
    @save_validations << validation
  end
end

#validationsObject



47
48
49
# File 'lib/contentful_model/validations/validations.rb', line 47

def validations
  @validations
end