class CirroIO::Client::Gig

Public Instance Methods

bulk_archive_with(gig_results, gig_time_activities) click to toggle source
# File lib/cirro_io/client/gig.rb, line 22
def bulk_archive_with(gig_results, gig_time_activities)
  payload = { data: { relationships: {} } }
  payload[:data][:relationships][:gig_results] = gig_results.map do |result|
    result.attributes.merge({ relationships: {
                              'app-worker': { data: result.app_worker.attributes },
                              'gig-task': { data: result.gig_task.attributes },
                            } })
  end
  payload[:data][:relationships][:gig_time_activities] = gig_time_activities.map do |activity|
    activity.attributes.merge({ relationships: { 'app-worker': { data: activity.app_worker.attributes } } })
  end

  response = self.class.custom_post("bulk/gigs/#{id}/archive", format_to_dashed_keys(payload))

  self.class.parser.parse(self.class, response).first
end
bulk_create_with(worker_filter, gig_tasks) click to toggle source

rubocop:disable Metrics/AbcSize

# File lib/cirro_io/client/gig.rb, line 12
def bulk_create_with(worker_filter, gig_tasks)
  payload = { data: { attributes: attributes, relationships: {} } }
  payload[:data][:relationships][:gig_tasks] = gig_tasks.map(&:attributes)
  payload[:data][:relationships][:worker_filter] = worker_filter.attributes

  response = self.class.custom_post('bulk/gigs', format_to_dashed_keys(payload))

  self.class.parser.parse(self.class, response).first
end