class Sfn::Callback
Interface for injecting custom functionality
Attributes
api[R]
@return [Miasma::Models::Orchestration] remote API
arguments[R]
@return [Array<String>] CLI arguments
config[R]
@return [Smash]
ui[R]
@return [Bogo::Ui]
Public Class Methods
new(ui, config, arguments, api)
click to toggle source
Create a new callback instance
@param ui [Bogo::Ui] @param config [Smash] configuration hash @param arguments [Array<String>] arguments from the CLI @param api [Provider] API connection
@return [self]
# File lib/sfn/callback.rb, line 27 def initialize(ui, config, arguments, api) @ui = ui @config = config @arguments = arguments @api = api end
Public Instance Methods
run_action(msg) { || ... }
click to toggle source
Wrap action within status text
@param msg [String] action text @yieldblock action to perform @return [Object] result of yield
# File lib/sfn/callback.rb, line 39 def run_action(msg) ui.info("#{msg}... ", :nonewline) begin result = yield ui.puts ui.color("complete!", :green, :bold) result rescue => e ui.puts ui.color("error!", :red, :bold) ui.error "Reason - #{e}" raise end end