Class: Expressir::Model::Expressions::BinaryExpression

Inherits:
Expressir::Model::Expression show all
Defined in:
lib/expressir/model/expressions/binary_expression.rb

Overview

Specified in ISO 10303-11:2004

  • section 12.1 Arithmetic operators

  • section 12.2 Relational operators

  • section 12.3 Binary operators

  • section 12.4 Logical operators

  • section 12.5 String operators

  • section 12.6 Aggregate operators

  • section 12.10 Complex entity instance construction operator

Constant Summary collapse

ADDITION =
:ADDITION
AND =
:AND
COMBINE =
:COMBINE
EQUAL =
:EQUAL
EXPONENTIATION =
:EXPONENTIATION
GREATER_THAN =
:GREATER_THAN
GREATER_THAN_OR_EQUAL =
:GREATER_THAN_OR_EQUAL
IN =
:IN
INSTANCE_EQUAL =
:INSTANCE_EQUAL
INSTANCE_NOT_EQUAL =
:INSTANCE_NOT_EQUAL
INTEGER_DIVISION =
:INTEGER_DIVISION
LESS_THAN =
:LESS_THAN
LESS_THAN_OR_EQUAL =
:LESS_THAN_OR_EQUAL
LIKE =
:LIKE
MODULO =
:MODULO
MULTIPLICATION =
:MULTIPLICATION
NOT_EQUAL =
:NOT_EQUAL
OR =
:OR
REAL_DIVISION =
:REAL_DIVISION
SUBTRACTION =
:SUBTRACTION
XOR =
:XOR

Instance Attribute Summary collapse

Attributes inherited from ModelElement

#parent

Instance Method Summary collapse

Methods inherited from ModelElement

#children, #children_by_id, #find, from_hash, model_attr_accessor, model_attrs, #path, #reset_children_by_id, #to_hash, #to_liquid, #to_s

Constructor Details

#initialize(options = {}) ⇒ BinaryExpression

Returns a new instance of BinaryExpression.

Parameters:

  • options (Hash) (defaults to: {})

Options Hash (options):

  • :operator (:ADDITION, :AND, :COMBINE, :EQUAL, :EXPONENTIATION, :GREATER_THAN, :GREATER_THAN_OR_EQUAL, :IN, :INSTANCE_EQUAL, :INSTANCE_NOT_EQUAL, :INTEGER_DIVISION, :LESS_THAN, :LESS_THAN_OR_EQUAL, :LIKE, :MODULO, :MULTIPLICATION, :NOT_EQUAL, :OR, :REAL_DIVISION, :SUBTRACTION, :XOR)
  • :operand1 (Expression)
  • :operand2 (Expression)


50
51
52
53
54
55
56
# File 'lib/expressir/model/expressions/binary_expression.rb', line 50

def initialize(options = {})
  @operator = options[:operator]
  @operand1 = options[:operand1]
  @operand2 = options[:operand2]

  super
end

Instance Attribute Details

#operand1Expression

Returns:



40
# File 'lib/expressir/model/expressions/binary_expression.rb', line 40

model_attr_accessor :operand1, "Expression"

#operand2Expression

Returns:



41
# File 'lib/expressir/model/expressions/binary_expression.rb', line 41

model_attr_accessor :operand2, "Expression"

#operator:ADDITION, ...

Returns:

  • (:ADDITION, :AND, :COMBINE, :EQUAL, :EXPONENTIATION, :GREATER_THAN, \ :GREATER_THAN_OR_EQUAL, :IN, :INSTANCE_EQUAL, :INSTANCE_NOT_EQUAL, \ :INTEGER_DIVISION, :LESS_THAN, :LESS_THAN_OR_EQUAL, :LIKE, :MODULO, \ :MULTIPLICATION, :NOT_EQUAL, :OR, :REAL_DIVISION, :SUBTRACTION, :XOR)


35
36
37
38
39
# File 'lib/expressir/model/expressions/binary_expression.rb', line 35

model_attr_accessor :operator,
                            ":ADDITION, :AND, :COMBINE, :EQUAL, :EXPONENTIATION, :GREATER_THAN, \
:GREATER_THAN_OR_EQUAL, :IN, :INSTANCE_EQUAL, :INSTANCE_NOT_EQUAL, \
:INTEGER_DIVISION, :LESS_THAN, :LESS_THAN_OR_EQUAL, :LIKE, :MODULO,\
:MULTIPLICATION, :NOT_EQUAL, :OR, :REAL_DIVISION, :SUBTRACTION, :XOR"