class Dhall::Coder::Verifier
Public Class Methods
new(*classes)
click to toggle source
# File lib/dhall/coder.rb, line 14 def initialize(*classes) @classes = classes @matcher = ValueSemantics::Either.new(classes) end
Public Instance Methods
verify(obj, op)
click to toggle source
# File lib/dhall/coder.rb, line 28 def verify(obj, op) if @matcher === obj obj else raise ArgumentError, "#{op} does not match "\ "#{@classes.inspect}: #{obj.inspect}" end end
verify_class(klass, op)
click to toggle source
# File lib/dhall/coder.rb, line 19 def verify_class(klass, op) if @classes.any? { |safe| klass <= safe } klass else raise ArgumentError, "#{op} does not match "\ "#{@classes.inspect}: #{klass}" end end