class Hval::Result
Public Class Methods
new(result)
click to toggle source
# File lib/hval/result.rb, line 4 def initialize(result) @success = reduce_to_boolean(result) end
Public Instance Methods
success?()
click to toggle source
# File lib/hval/result.rb, line 8 def success? @success end
Private Instance Methods
reduce_to_boolean(res)
click to toggle source
# File lib/hval/result.rb, line 13 def reduce_to_boolean(res) case res when TrueClass, FalseClass return res when Array res.all? do |result| if result.size == 2 #[key, [results]] _, results = result reduce_to_boolean(results) elsif result.size == 4 #[name, spec, result, given] _, _, results, _ = result reduce_to_boolean(results) elsif raise "Result size #{result.size} not expected: #{result.inspect}" end end else raise "Result must be TrueClass, FalseClass or Array: #{res.inspect}" end end