jobs/transforms/date_diff_job.rb in remi-0.2.42 vs jobs/transforms/date_diff_job.rb in remi-0.3.0
- old
+ new
@@ -1,24 +1,28 @@
require_relative '../all_jobs_shared'
-class DateDiffJob
- include AllJobsShared
+class DateDiffJob < Remi::Job
- define_param :measure, :days
- define_source :source_data, Remi::DataSource::DataFrame,
- fields: {
- :date1 => { type: :date, format: '%Y-%m-%d' },
- :date2 => { type: :date, format: '%Y-%m-%d' }
- }
- define_target :target_data, Remi::DataTarget::DataFrame
+ param(:measure) { :days }
- define_transform :main, sources: :source_data, targets: :target_data do
+ source :source_data do
+ fields(
+ {
+ :date1 => { type: :date, format: '%Y-%m-%d' },
+ :date2 => { type: :date, format: '%Y-%m-%d' }
+ }
+ )
+ end
+
+ target :target_data
+
+ transform :main do
Remi::SourceToTargetMap.apply(source_data.df, target_data.df) do
map source(:date1, :date2) .target(:difference)
.transform(->(row) {
row[:date1] = Date.strptime(row[:date1])
row[:date2] = Date.strptime(row[:date2])
})
- .transform(Remi::Transform::DateDiff.new(params[:measure]))
+ .transform(Remi::Transform::DateDiff.new(job.params[:measure]))
end
end
end