trabajo-afectivo/lib/sequencer/unit/import/freshdesk/request.rb

37 lines
1,013 B
Ruby

# Copyright (C) 2012-2022 Zammad Foundation, https://zammad-foundation.org/
class Sequencer
class Unit
module Import
module Freshdesk
class Request < Sequencer::Unit::Common::Provider::Attribute
extend ::Sequencer::Unit::Import::Freshdesk::Requester
prepend ::Sequencer::Unit::Import::Common::Model::Mixin::Skip::Action
skip_action :skipped, :failed
uses :object, :request_params
provides :response
private
def response
builder = backend.new(
object: object,
request_params: request_params
)
self.class.request(
api_path: builder.api_path,
params: builder.params,
)
end
def backend
"::Sequencer::Unit::Import::Freshdesk::Request::#{object}".safe_constantize || ::Sequencer::Unit::Import::Freshdesk::Request::Generic
end
end
end
end
end
end