Class: Optimus::Transformers::ColumnCalculator::ComputedColumn
- Inherits:
-
Object
- Object
- Optimus::Transformers::ColumnCalculator::ComputedColumn
- Defined in:
- lib/transformers/column_calculator.rb
Constant Summary collapse
- COUNTERS =
{ :next => lambda {|val| return val.succ if val.respond_to? :succ return val + 1 } }
Instance Method Summary collapse
- #evaluate(*args) ⇒ Object
-
#initialize(name, reset_exp, options = {}) ⇒ ComputedColumn
constructor
A new instance of ComputedColumn.
Constructor Details
#initialize(name, reset_exp, options = {}) ⇒ ComputedColumn
Returns a new instance of ComputedColumn.
120 121 122 123 124 125 126 127 |
# File 'lib/transformers/column_calculator.rb', line 120 def initialize(name, reset_exp, = {}) @name = name @reset_exp = reset_exp @reset_when = [:reset_when] @count_when = [:count_when] @count_by = [:count_by] @current_value = nil end |
Instance Method Details
#evaluate(*args) ⇒ Object
129 130 131 132 133 134 135 |
# File 'lib/transformers/column_calculator.rb', line 129 def evaluate(*args) if @reset_when.bool_eval(*args) @current_value = @reset_exp.evaluate(*args) end next_val! if @count_when.bool_eval(*args) return @current_value end |