trabajo-afectivo/lib/import/otrs/history_factory.rb

42 lines
858 B
Ruby
Raw Normal View History

module Import
module OTRS
module HistoryFactory
extend Import::Factory
extend self
def skip?(record, *_args)
return true if !determine_class(record)
false
end
def backend_class(record, *_args)
"Import::OTRS::History::#{determine_class(record)}".constantize
end
private
def determine_class(history)
check_supported(history) || check_article(history)
end
def supported_types
2017-11-23 08:09:44 +00:00
%w[NewTicket StateUpdate Move PriorityUpdate]
end
def check_supported(history)
return if !supported_types.include?(history['HistoryType'])
history['HistoryType']
end
def check_article(history)
return if !history['ArticleID']
return if history['ArticleID'].to_i.zero?
'Article'
end
end
end
end