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.
1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 |
# File 'lib/intermine/query.rb', line 1322 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.
1319 1320 1321 |
# File 'lib/intermine/query.rb', line 1319 def left @left end |
#op ⇒ Object (readonly)
Returns the value of attribute op.
1319 1320 1321 |
# File 'lib/intermine/query.rb', line 1319 def op @op end |
#parent ⇒ Object
Returns the value of attribute parent.
1320 1321 1322 |
# File 'lib/intermine/query.rb', line 1320 def parent @parent end |
#right ⇒ Object (readonly)
Returns the value of attribute right.
1319 1320 1321 |
# File 'lib/intermine/query.rb', line 1319 def right @right end |
Instance Method Details
#code ⇒ Object
1346 1347 1348 |
# File 'lib/intermine/query.rb', line 1346 def code return to_s end |
#to_s ⇒ Object
1337 1338 1339 1340 1341 1342 1343 1344 |
# File 'lib/intermine/query.rb', line 1337 def to_s core = [@left.code, @op.downcase, @right.code].join(" ") if @parent && @op != @parent.op return "(#{core})" else return core end end |