class PanamaxTemplateValidator::Template
Attributes
errors[R]
Public Class Methods
new(template_attrs)
click to toggle source
# File lib/panamax_template_validator/template.rb, line 5 def initialize(template_attrs) @template_attrs = template_attrs @errors = [] end
Public Instance Methods
validate()
click to toggle source
# File lib/panamax_template_validator/template.rb, line 10 def validate validate_presence_of('name') validate_presence_of('description') validate_presence_of('documentation') validate_length_of('documentation', '>', 40) image_names = @template_attrs['images'].map { |image| image['name'] } @template_attrs['images'].each do |image_attrs| image = Image.new(image_attrs, image_names) image.validate @errors += image.errors end end
Private Instance Methods
validate_length_of(key, inequality, length)
click to toggle source
# File lib/panamax_template_validator/template.rb, line 31 def validate_length_of(key, inequality, length) return unless @template_attrs[key] unless @template_attrs[key].length.send(inequality, length) @errors << "template #{key} should #{inequality} #{length}" end end
validate_presence_of(key)
click to toggle source
# File lib/panamax_template_validator/template.rb, line 25 def validate_presence_of(key) if @template_attrs[key].nil? || @template_attrs[key] == '' @errors << "template #{key} is required" end end