Sha256: 6bbd6fde87c504cb3bbf188f19c8508b9ca1532470b8b3c72522e085c1fb790b
Contents?: true
Size: 641 Bytes
Versions: 3
Compression:
Stored size: 641 Bytes
Contents
require_relative '../function' require_relative '../../exceptions' Dentaku::AST::Function.register(:or, :logical, lambda { |*args| if args.empty? raise Dentaku::ArgumentError.for( :too_few_arguments, function_name: 'OR()', at_least: 1, given: 0 ), 'OR() requires at least one argument' end args.any? do |arg| case arg when TrueClass, nil true when FalseClass false else raise Dentaku::ArgumentError.for( :incompatible_type, function_name: 'AND()', expect: :logical, actual: arg.class ), 'AND() requires arguments to be logical expressions' end end })
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
dentaku-3.2.0 | lib/dentaku/ast/functions/or.rb |
dentaku-3.1.0 | lib/dentaku/ast/functions/or.rb |
dentaku-3.0.0 | lib/dentaku/ast/functions/or.rb |