class Schemacop::Result
Attributes
current_path[R]
errors[R]
Public Class Methods
new(root = nil, original_data = nil)
click to toggle source
# File lib/schemacop/v3/result.rb, line 6 def initialize(root = nil, original_data = nil) @current_path = [] @errors = {} @root = root @original_data = original_data end
Public Instance Methods
data()
click to toggle source
# File lib/schemacop/v3/result.rb, line 17 def data if errors.any? return nil else return @data ||= @root.cast(@original_data) end end
error(message)
click to toggle source
# File lib/schemacop/v3/result.rb, line 25 def error(message) @errors[current_path] ||= [] @errors[current_path] << message end
exception_message()
click to toggle source
# File lib/schemacop/v3/result.rb, line 34 def exception_message messages.join("\n") end
in_path(segment) { || ... }
click to toggle source
# File lib/schemacop/v3/result.rb, line 50 def in_path(segment) prev_path = @current_path @current_path += [segment] yield ensure @current_path = prev_path end
messages()
click to toggle source
# File lib/schemacop/v3/result.rb, line 38 def messages messages = [] @errors.each do |path, path_messages| messages += path_messages.map do |path_message| "/#{path.join('/')}: #{path_message}" end end return messages end
messages_by_path()
click to toggle source
# File lib/schemacop/v3/result.rb, line 30 def messages_by_path @errors.transform_keys { |k| "/#{k.join('/')}" } end
valid?()
click to toggle source
# File lib/schemacop/v3/result.rb, line 13 def valid? errors.empty? end