Module: Suretax::Concerns::Validatable

Included in:
Api::Request, Api::RequestItem
Defined in:
lib/suretax/concerns/validatable.rb

Defined Under Namespace

Modules: ClassMethods, Validations Classes: Error, Errors

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



3
4
5
6
# File 'lib/suretax/concerns/validatable.rb', line 3

def self.included(base)
  base.extend ClassMethods
  base.send(:include, Validations)
end

Instance Method Details

#errorsObject Also known as: validate!



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/suretax/concerns/validatable.rb', line 8

def errors
  @errors = Errors.new

  self.class.validatable_attributes.each do |attribute_name|
    value = send(attribute_name)
    assertion = send("valid_#{attribute_name}?", value)

    @errors[attribute_name] = Error.new(attribute_name, value) unless assertion
  end

  @errors
end