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

Version Path
eco-helpers-2.0.24 lib/eco/api/usecases/default_cases/hris_case.rb
eco-helpers-2.0.23 lib/eco/api/usecases/default_cases/hris_case.rb
eco-helpers-2.0.22 lib/eco/api/usecases/default_cases/hris_case.rb
eco-helpers-2.0.21 lib/eco/api/usecases/default_cases/hris_case.rb
eco-helpers-2.0.19 lib/eco/api/usecases/default_cases/hris_case.rb
eco-helpers-2.0.18 lib/eco/api/usecases/default_cases/hris_case.rb
eco-helpers-2.0.17 lib/eco/api/usecases/default_cases/hris_case.rb
eco-helpers-2.0.16 lib/eco/api/usecases/default_cases/hris_case.rb
eco-helpers-2.0.15 lib/eco/api/usecases/default_cases/hris_case.rb
eco-helpers-2.0.14 lib/eco/api/usecases/default_cases/hris_case.rb
eco-helpers-2.0.13 lib/eco/api/usecases/default_cases/hris_case.rb