Class: Mantra::Transform::Input

Inherits:
Object
  • Object
show all
Includes:
Helpers::ObjectWithType
Defined in:
lib/mantra/transform.rb,
lib/mantra/transform/inputs/any.rb,
lib/mantra/transform/inputs/file.rb,
lib/mantra/transform/inputs/hash.rb,
lib/mantra/transform/inputs/array.rb,
lib/mantra/transform/inputs/folder.rb,
lib/mantra/transform/inputs/string.rb

Defined Under Namespace

Classes: AnyInput, ArrayInput, FileInput, FolderInput, HashInput, StringInput

Instance Method Summary collapse

Methods included from Helpers::ObjectWithType

included

Instance Method Details

#required?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/mantra/transform.rb', line 23

def required?
  !self.options[:optional]
end

#validate(value, name = nil) ⇒ Object



12
13
14
15
16
17
18
19
20
21
# File 'lib/mantra/transform.rb', line 12

def validate(value, name = nil)
  return if self.options[:validate].nil?
  Array(self.options[:validate]).each do |validate_verb|
    if self.respond_to?("validate_#{validate_verb}")
      self.send(:"validate_#{validate_verb}", value, name)
    else
      raise ValidationError.new("There is no validator defined: #{validate_verb}.")
    end
  end
end

#validate_required(value, name) ⇒ Object

Raises:



27
28
29
# File 'lib/mantra/transform.rb', line 27

def validate_required(value, name)
  raise ValidationError.new("#{name} must be specified.") if value.nil?
end