class DrgDSL::Ast::DateExpression

Attributes

comparison[R]
left_condition[R]
left_variable[R]
opd[R]
right_condition[R]
right_variable[R]

Public Class Methods

new(left_variable:, right_variable: nil, left_condition:, right_condition: nil, comparison:, opd:) click to toggle source

@param opd [String] E.g. “opd4” => “mind. 4 erfüllen” query

# File lib/drgdsl/ast.rb, line 380
def initialize(left_variable:,
               right_variable: nil,
               left_condition:,
               right_condition: nil,
               comparison:,
               opd:)

  @left_variable = left_variable
  @right_variable = right_variable
  @left_condition = left_condition
  @right_condition = right_condition
  @comparison = comparison
  @opd = opd.to_s.strip.upcase
end

Public Instance Methods

hash() click to toggle source
# File lib/drgdsl/ast.rb, line 408
def hash
  @hash ||= [
    type,
    left_variable,
    right_variable,
    left_condition,
    right_condition,
    comparison,
    opd
  ].hash
end
to_hash() click to toggle source
# File lib/drgdsl/ast.rb, line 395
def to_hash
  {
    opd: {
      var: opd,
      left_var: left_variable.to_hash,
      left_condition: left_condition.to_hash,
      right_var: right_variable&.to_hash,
      right_condition: right_condition&.to_hash,
      comparison: comparison.to_hash
    }
  }
end