Maintenance::CompanyStatusTransitTask

Source code
# frozen_string_literal: true

class Maintenance::CompanyStatusTransitTask < MaintenanceTasks::Task
  csv_collection

  attribute :status_to, :string

  validates :status_to, presence: true, inclusion: TreeNodes::Statuses.list

  def process(row)
    ::Filters::TreeNodes.new(mbo_attributes: extract_row_attributes(row))
                        .fetch
                        .sole
                        .update!(status: status_to)
  end

  private

  def extract_row_attributes(row)
    {
      mbo_id: row.field('MBO_ID'),
      mbo_country_code: row.field('MBO_COUNTRY_CODE')
    }
  end
end

Previous Runs

Succeeded
#92

Processed 5 out of 5 items (100%).

Ran for less than 5 seconds, finished .


Arguments:
status_to
onboarding

Metadata:
user_id
Errored
#91

Processed 2 out of 5 items (40%).

Ran for less than 5 seconds until an error happened .

ActiveRecord::RecordNotFound

Couldn't find TreeNode with [WHERE "mbo_profiles"."mbo_id" = $1 AND "countries_mbo_profiles"."code" = $2]

app/tasks/maintenance/company_status_transit_task.rb:13:in 'Maintenance::CompanyStatusTransitTask#process'

Arguments:
status_to
onboarding

Metadata:
user_id
Errored
#90

Processed 0 out of 5 items (0%).

Ran for less than 5 seconds until an error happened .

ActiveRecord::RecordNotFound

Couldn't find TreeNode with [WHERE "mbo_profiles"."mbo_id" = $1 AND "countries_mbo_profiles"."code" = $2]

app/tasks/maintenance/company_status_transit_task.rb:13:in 'Maintenance::CompanyStatusTransitTask#process'

Arguments:
status_to
onboarding

Metadata:
user_id
Errored
#89

Processed 2 out of 5 items (40%).

Ran for less than 5 seconds until an error happened .

ActiveRecord::RecordNotFound

Couldn't find TreeNode with [WHERE "mbo_profiles"."mbo_id" = $1 AND "countries_mbo_profiles"."code" = $2]

app/tasks/maintenance/company_status_transit_task.rb:13:in 'Maintenance::CompanyStatusTransitTask#process'

Arguments:
status_to
onboarding

Metadata:
user_id