Class: InterMine::PathQuery::LogicGroup
- Defined in:
- lib/intermine/query.rb
Instance Attribute Summary collapse
-
#left ⇒ Object
readonly
Returns the value of attribute left.
-
#op ⇒ Object
readonly
Returns the value of attribute op.
-
#parent ⇒ Object
Returns the value of attribute parent.
-
#right ⇒ Object
readonly
Returns the value of attribute right.
Instance Method Summary collapse
- #code ⇒ Object
-
#initialize(left, op, right, parent = nil) ⇒ LogicGroup
constructor
A new instance of LogicGroup.
- #to_s ⇒ Object
Constructor Details
#initialize(left, op, right, parent = nil) ⇒ LogicGroup
Returns a new instance of LogicGroup.
1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 |
# File 'lib/intermine/query.rb', line 1460 def initialize(left, op, right, parent=nil) if !["AND", "OR"].include?(op) raise ArgumentError, "#{op} is not a legal logical operator" end @parent = parent @left = left @op = op @right = right [left, right].each do |node| if node.is_a?(LogicGroup) node.parent = self end end end |
Instance Attribute Details
#left ⇒ Object (readonly)
Returns the value of attribute left.
1457 1458 1459 |
# File 'lib/intermine/query.rb', line 1457 def left @left end |
#op ⇒ Object (readonly)
Returns the value of attribute op.
1457 1458 1459 |
# File 'lib/intermine/query.rb', line 1457 def op @op end |
#parent ⇒ Object
Returns the value of attribute parent.
1458 1459 1460 |
# File 'lib/intermine/query.rb', line 1458 def parent @parent end |
#right ⇒ Object (readonly)
Returns the value of attribute right.
1457 1458 1459 |
# File 'lib/intermine/query.rb', line 1457 def right @right end |
Instance Method Details
#code ⇒ Object
1484 1485 1486 |
# File 'lib/intermine/query.rb', line 1484 def code return to_s end |
#to_s ⇒ Object
1475 1476 1477 1478 1479 1480 1481 1482 |
# File 'lib/intermine/query.rb', line 1475 def to_s core = [@left.code, @op.downcase, @right.code].join(" ") if @parent && @op != @parent.op return "(#{core})" else return core end end |