Class: Remi::Transform::DateDiff
- Inherits:
-
Remi::Transform
- Object
- Remi::Transform
- Remi::Transform::DateDiff
- Defined in:
- lib/remi/transform.rb
Overview
Instance Attribute Summary
Attributes inherited from Remi::Transform
#multi_args, #source_metadata, #target_metadata
Instance Method Summary collapse
-
#initialize(measure = :days, *args, **kargs, &block) ⇒ DateDiff
constructor
A new instance of DateDiff.
- #transform(row) ⇒ Object
Methods inherited from Remi::Transform
Constructor Details
#initialize(measure = :days, *args, **kargs, &block) ⇒ DateDiff
Returns a new instance of DateDiff.
373 374 375 376 377 |
# File 'lib/remi/transform.rb', line 373 def initialize(measure = :days, *args, **kargs, &block) super @multi_args = true @measure = measure end |
Instance Method Details
#transform(row) ⇒ Object
379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 |
# File 'lib/remi/transform.rb', line 379 def transform(row) row = SourceToTargetMap::Row[row] from_date = row[row.keys[0]] to_date = row[row.keys[1]] case @measure.to_sym when :days (to_date - from_date).to_i when :months (to_date.year * 12 + to_date.month) - (from_date.year * 12 + from_date.month) when :years to_date.year - from_date.year else raise ArgumentError, "Unknown date difference measure: #{@measure}" end end |