Class: Pakyow::Verifier::Result

Inherits:
Object
  • Object
show all
Defined in:
lib/pakyow/verifier.rb

Instance Method Summary collapse

Constructor Details

#initializeResult

Returns a new instance of Result.



13
14
15
16
17
# File 'lib/pakyow/verifier.rb', line 13

def initialize
  @errors = {}
  @nested = {}
  @validation = nil
end

Instance Method Details

#error(key, message) ⇒ Object



19
20
21
# File 'lib/pakyow/verifier.rb', line 19

def error(key, message)
  (@errors[key] ||= []) << message
end

#messages(type: :default) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/pakyow/verifier.rb', line 41

def messages(type: :default)
  if validating?
    messages = @validation.messages(type: type)
  else
    messages = {}

    @errors.each_pair do |key, value|
      messages[key] = value.map { |each_value|
        Verifier.formatted_message(each_value, type: type, key: key)
      }
    end

    @nested.each_pair do |key, verifier|
      nested_messages = verifier.messages(type: type)

      unless nested_messages.empty?
        messages[key] = nested_messages
      end
    end
  end

  messages
end

#nested(key, result) ⇒ Object



23
24
25
# File 'lib/pakyow/verifier.rb', line 23

def nested(key, result)
  @nested[key] = result
end

#validating?Boolean

Returns:

  • (Boolean)


37
38
39
# File 'lib/pakyow/verifier.rb', line 37

def validating?
  !@validation.nil?
end

#validation(result) ⇒ Object



27
28
29
# File 'lib/pakyow/verifier.rb', line 27

def validation(result)
  @validation = result
end

#verified?Boolean

Returns:

  • (Boolean)


31
32
33
34
35
# File 'lib/pakyow/verifier.rb', line 31

def verified?
  @errors.empty? && (!validating? || @validation.valid?) && @nested.all? { |_, result|
    result.verified?
  }
end