mirror of
https://github.com/discourse/discourse.git
synced 2024-12-26 07:33:43 +08:00
5ac69076c1
* Remove unused `report_progress_in_percent` option from step * Remove `use_custom_progress_increment` option from the step because we can figure it out by looking at the progress * Introduce `StepTracker` to for logging warnings and errors and tracking step progress * Make it easier to log warnings and errors in all methods of `Step` without the need to pass around a `stats` object
43 lines
919 B
Ruby
43 lines
919 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Migrations::Converters::Base
|
|
class Step
|
|
IntermediateDB = ::Migrations::Database::IntermediateDB
|
|
|
|
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
|