class Dentaku::AST::Combinator
Public Class Methods
new(*)
click to toggle source
Calls superclass method
# File lib/dentaku/ast/combinators.rb, line 6 def initialize(*) super unless valid_node?(left) raise NodeError.new(:logical, left.type, :left), "#{self.class} requires logical operands" end unless valid_node?(right) raise NodeError.new(:logical, right.type, :right), "#{self.class} requires logical operands" end end
Public Instance Methods
type()
click to toggle source
# File lib/dentaku/ast/combinators.rb, line 19 def type :logical end
Private Instance Methods
valid_node?(node)
click to toggle source
# File lib/dentaku/ast/combinators.rb, line 25 def valid_node?(node) node && (node.dependencies.any? || node.type == :logical) end