class HashPolice::CheckResult

Attributes

context_key[R]

Public Class Methods

new(context_key) click to toggle source
# File lib/hash_police/check_result.rb, line 4
def initialize context_key
  @context_key = context_key
  @errors = []
  @children = []
end

Public Instance Methods

all_errors() click to toggle source
# File lib/hash_police/check_result.rb, line 18
def all_errors
  @children.reduce(@errors) do |memo, child|
    memo + child.all_errors
  end
end
concat(child_result) click to toggle source
# File lib/hash_police/check_result.rb, line 24
def concat child_result
  @children << child_result
end
differ_type(options) click to toggle source
# File lib/hash_police/check_result.rb, line 10
def differ_type options
  @errors << "`#{context_key}`: expect #{options[:expect]}, got #{options[:got]}"
end
error_messages() click to toggle source
# File lib/hash_police/check_result.rb, line 14
def error_messages
  all_errors.join("\n")
end
invalid_by_proc() click to toggle source
# File lib/hash_police/check_result.rb, line 37
def invalid_by_proc
  @errors << "`#{context_key}` is invalid given Proc fucntion"
end
missing(key = nil) click to toggle source
# File lib/hash_police/check_result.rb, line 28
def missing key = nil
  error_key = key || context_key
  @errors << "`#{error_key}`: missing"
end
passed?() click to toggle source
# File lib/hash_police/check_result.rb, line 33
def passed?
  all_errors.empty?
end