class ForemanMaintain::Scenario::FilteredScenario
Attributes
filter_label[R]
Public Class Methods
new(filter, definition_kinds = [:check])
click to toggle source
# File lib/foreman_maintain/scenario.rb, line 20 def initialize(filter, definition_kinds = [:check]) @filter_tags = filter[:tags] @filter_label = filter[:label] @definition_kinds = definition_kinds @steps = [] @steps += checks(filter) if definition_kinds.include?(:check) @steps += procedures(filter) if definition_kinds.include?(:procedure) @steps = DependencyGraph.sort(@steps) end
Public Instance Methods
runtime_message()
click to toggle source
# File lib/foreman_maintain/scenario.rb, line 30 def runtime_message if @filter_label "#{kind_list} with label [#{dashize(@filter_label)}]" else "#{kinds_list} with tags #{tag_string(@filter_tags)}" end end
Private Instance Methods
checks(filter)
click to toggle source
# File lib/foreman_maintain/scenario.rb, line 56 def checks(filter) ForemanMaintain.available_checks(filter).map(&:ensure_instance) end
dashize(string)
click to toggle source
# File lib/foreman_maintain/scenario.rb, line 52 def dashize(string) string.to_s.tr('_', '-') end
kind_list()
click to toggle source
# File lib/foreman_maintain/scenario.rb, line 44 def kind_list @definition_kinds.map(&:to_s).join(' or ') end
kinds_list()
click to toggle source
# File lib/foreman_maintain/scenario.rb, line 40 def kinds_list @definition_kinds.map { |kind| kind.to_s + 's' }.join(' and ') end
procedures(filter)
click to toggle source
# File lib/foreman_maintain/scenario.rb, line 60 def procedures(filter) ForemanMaintain.available_procedures(filter).map(&:ensure_instance) end
tag_string(tags)
click to toggle source
# File lib/foreman_maintain/scenario.rb, line 48 def tag_string(tags) tags.map { |tag| dashize("[#{tag}]") }.join(' ') end