Sha256: c26ebf2d57c36b0a39dda65c7149a652a1176732b6386700bab9db43693381fa
Contents?: true
Size: 941 Bytes
Versions: 64
Compression:
Stored size: 941 Bytes
Contents
class Eco::API::UseCases::DefaultCases::UpsertCase < Eco::API::Common::Loaders::UseCase name "upsert" type :sync attr_reader :options def main(entries, people, session, options, usecase) @options = options micro = session.micro creation = session.new_job("main", "create", :create, usecase) update = session.new_job("main", "update", :update, usecase) supers = session.new_job("post", "supers", :update, usecase, :core) micro.with_each(entries, people, options, append_created: append_created) do |entry, person| person.new? ? creation.add(person) : update.add(person) micro.set_core_with_supervisor(entry, person, people, supers, options) entry.set_details(person) unless options.dig(:exclude, :details) micro.set_account(entry, person, options) end end private def append_created options.dig(:people, :append_created) end end
Version data entries
64 entries across 64 versions & 1 rubygems