2022-01-01 13:38:12 +00:00
|
|
|
# Copyright (C) 2012-2022 Zammad Foundation, https://zammad-foundation.org/
|
2021-06-01 12:20:20 +00:00
|
|
|
|
2017-08-14 11:56:23 +00:00
|
|
|
class Sequencer
|
|
|
|
class Unit
|
|
|
|
module Common
|
|
|
|
class AttributeMapper < Sequencer::Unit::Base
|
|
|
|
|
|
|
|
def self.map
|
|
|
|
raise "Missing implementation of '#{__method__}' method for '#{name}'"
|
|
|
|
end
|
|
|
|
|
|
|
|
def self.uses
|
|
|
|
map.keys
|
|
|
|
end
|
|
|
|
|
|
|
|
def self.provides
|
|
|
|
map.values
|
|
|
|
end
|
|
|
|
|
|
|
|
def process
|
|
|
|
self.class.map.each do |original, renamed|
|
|
|
|
state.provide(renamed) do
|
|
|
|
state.use(original)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|