discourse/migrations/lib/converters/base/step.rb
Gerhard Schlager 9dfdf59b5e DEV: Add support for converting and importing site settings
The import is split into basic site settings (imported at the beginning) and settings that depend on other data
2025-10-31 11:21:40 +01:00

43 lines
977 B
Ruby
Vendored

# frozen_string_literal: true
module Migrations::Converters::Base
class Step
IntermediateDB = ::Migrations::Database::IntermediateDB
Enums = ::Migrations::Database::IntermediateDB::Enums
attr_accessor :settings
attr_reader :tracker
# inside of Step it might make more sense to access it as `step` instead of `tracker`
alias step tracker
def initialize(tracker, args = {})
@tracker = tracker
args.each do |arg, value|
setter = "#{arg}=".to_sym
public_send(setter, value) if respond_to?(setter, true)
end
end
def execute
# do nothing
end
class << self
def title(
value = (
getter = true
nil
)
)
@title = value unless getter
@title.presence ||
I18n.t(
"converter.default_step_title",
type: name&.demodulize&.underscore&.humanize(capitalize: false),
)
end
end
end
end