class Buildkite::Builder::ExtensionManager
Public Class Methods
new(context)
click to toggle source
# File lib/buildkite/builder/extension_manager.rb, line 7 def initialize(context) @context = context @extensions = [] @loader = Loaders::Extensions.load(@context.root) end
Public Instance Methods
build()
click to toggle source
# File lib/buildkite/builder/extension_manager.rb, line 23 def build @extensions.each do |extension| log_build(extension.class.name) { extension.build } end end
use(extension, native: false, **args)
click to toggle source
# File lib/buildkite/builder/extension_manager.rb, line 14 def use(extension, native: false, **args) unless extension < Buildkite::Builder::Extension raise "#{extension} must subclass Buildkite::Builder::Extension" end @extensions.push(extension.new(@context, **args)) @context.dsl.extend(extension) end
Private Instance Methods
log()
click to toggle source
# File lib/buildkite/builder/extension_manager.rb, line 31 def log @context.logger end
log_build(name) { || ... }
click to toggle source
# File lib/buildkite/builder/extension_manager.rb, line 35 def log_build(name) log.info "\nProcessing ".color(:dimgray) + name.color(:springgreen) results = benchmark('└──'.color(:springgreen) + ' Finished in %s'.color(:dimgray)) do formatter = log.formatter log.formatter = proc do |_severity, _datetime, _progname, msg| '│'.color(:springgreen) + " #{msg}\n" end begin yield ensure log.formatter = formatter end end log.info results end