Module: Performify::Validation::InstanceMethods

Defined in:
lib/performify/validation.rb

Instance Method Summary collapse

Instance Method Details

#errorsObject



34
35
36
# File 'lib/performify/validation.rb', line 34

def errors
  @errors ||= {}
end

#errors!(new_errors) ⇒ Object

Raises:

  • (ArgumentError)


29
30
31
32
# File 'lib/performify/validation.rb', line 29

def errors!(new_errors)
  raise ArgumentError, 'Errors should be a hash' if new_errors.nil? || !new_errors.respond_to?(:to_h)
  errors.merge!(new_errors.to_h)
end

#errors?Boolean

Returns:

  • (Boolean)


38
39
40
# File 'lib/performify/validation.rb', line 38

def errors?
  errors.any?
end

#schemaObject



18
19
20
# File 'lib/performify/validation.rb', line 18

def schema
  self.class.schema
end

#validateObject



22
23
24
25
26
27
# File 'lib/performify/validation.rb', line 22

def validate
  return args if schema.nil?
  result = schema.call(args)
  errors!(result.errors) unless result.success?
  result.output
end