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.
1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 |
# File 'lib/intermine/query.rb', line 1300 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.
1297 1298 1299 |
# File 'lib/intermine/query.rb', line 1297 def left @left end |
#op ⇒ Object (readonly)
Returns the value of attribute op.
1297 1298 1299 |
# File 'lib/intermine/query.rb', line 1297 def op @op end |
#parent ⇒ Object
Returns the value of attribute parent.
1298 1299 1300 |
# File 'lib/intermine/query.rb', line 1298 def parent @parent end |
#right ⇒ Object (readonly)
Returns the value of attribute right.
1297 1298 1299 |
# File 'lib/intermine/query.rb', line 1297 def right @right end |
Instance Method Details
#code ⇒ Object
1324 1325 1326 |
# File 'lib/intermine/query.rb', line 1324 def code return to_s end |
#to_s ⇒ Object
1315 1316 1317 1318 1319 1320 1321 1322 |
# File 'lib/intermine/query.rb', line 1315 def to_s core = [@left.code, @op.downcase, @right.code].join(" ") if @parent && @op != @parent.op return "(#{core})" else return core end end |