FEATURE: Allow plugins to exclude wizard steps (#9275)

This commit is contained in:
Mark VanLandingham
2020-03-25 11:36:42 -05:00
committed by GitHub
parent 0025806b7e
commit c14f6d4ced
2 changed files with 28 additions and 0 deletions

View File

@@ -5,6 +5,8 @@ class Wizard
attr_reader :steps, :user
attr_accessor :max_topics_to_require_completion
@@excluded_steps = []
def initialize(user)
@steps = []
@user = user
@@ -17,6 +19,8 @@ class Wizard
end
def append_step(step)
return if @@excluded_steps.include?(step)
step = create_step(step) if step.is_a?(String)
yield step if block_given?
@@ -36,6 +40,10 @@ class Wizard
end
end
def self.exclude_step(step)
@@excluded_steps << step
end
def steps_with_fields
@steps_with_fields ||= @steps.select(&:has_fields?)
end