Class: Dentaku::AST::Addition
- Inherits:
-
Arithmetic
- Object
- Node
- Operation
- Arithmetic
- Dentaku::AST::Addition
- Defined in:
- lib/dentaku/ast/arithmetic.rb
Constant Summary
Constants inherited from Arithmetic
Dentaku::AST::Arithmetic::DECIMAL, Dentaku::AST::Arithmetic::INTEGER
Instance Attribute Summary
Attributes inherited from Operation
Class Method Summary collapse
Instance Method Summary collapse
Methods inherited from Arithmetic
Methods inherited from Operation
#accept, #dependencies, #display_operator, #initialize, max_param_count, min_param_count, right_associative?
Methods inherited from Node
arity, #dependencies, #name, peek, #type
Constructor Details
This class inherits a constructor from Dentaku::AST::Arithmetic
Class Method Details
.precedence ⇒ Object
114 115 116 |
# File 'lib/dentaku/ast/arithmetic.rb', line 114 def self.precedence 10 end |
Instance Method Details
#operator ⇒ Object
110 111 112 |
# File 'lib/dentaku/ast/arithmetic.rb', line 110 def operator :+ end |
#value(context = {}) ⇒ Object
118 119 120 121 122 123 124 125 126 127 |
# File 'lib/dentaku/ast/arithmetic.rb', line 118 def value(context = {}) left_value = left.value(context) right_value = right.value(context) if left.type == :datetime || datetime?(left_value) Dentaku::DateArithmetic.new(left_value).add(right_value) else calculate(left_value, right_value) end end |