Sha256: 179923ca4a05f550d710d635216c00f575eb0192b6b5a2236a955ef6adeea216
Contents?: true
Size: 1.15 KB
Versions: 11
Compression:
Stored size: 1.15 KB
Contents
class Eco::API::UseCases::DefaultCases::HrisCase < Eco::API::Common::Loaders::UseCase name "hris" type :sync attr_reader :creation, :update, :supers, :leavers def main(entries, people, session, options, usecase) 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) @leavers = session.new_job("post", "leavers", :update, usecase, :account) micro.with_each_leaver(entries, people, options) do |person| leavers.add(person, &method(:leavers_callback)) end micro.with_each(entries, people, options) 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 leavers_callback(person) person.supervisor_id = nil person.account = nil if person.account end end
Version data entries
11 entries across 11 versions & 1 rubygems