jobs/json_job.rb in remi-0.2.42 vs jobs/json_job.rb in remi-0.3.0

- old
+ new

@@ -1,22 +1,26 @@ require_relative 'all_jobs_shared' -class JsonJob - include AllJobsShared +class JsonJob < Remi::Job + source :source_data do + fields( + { + :json_array => { type: :json }, + :json_hash => { type: :json } + } + ) + end - define_source :source_data, Remi::DataSource::DataFrame, - fields: { - :json_array => { type: :json }, - :json_hash => { type: :json } - } + target :target_data do + fields( + { + :second_element => {}, + :name_field => {} + } + ) + end - define_target :target_data, Remi::DataTarget::DataFrame, - fields: { - :second_element => {}, - :name_field => {} - } - - define_transform :main do + transform :main do Remi::SourceToTargetMap.apply(source_data.df, target_data.df, source_metadata: source_data.fields) do map source(:json_array) .target(:second_element) .transform(->(values) { values[1] }) map source(:json_hash) .target(:name_field) .transform(->(json_hash) { json_hash['name'] })