class Action
represents one action to be performed in the shell can assemble a command line from a command and args
Attributes
name[R]
Public Class Methods
new(name, config, args)
click to toggle source
# File lib/action.rb, line 10 def initialize(name, config, args) @name = name @config = config @args = args end
Public Instance Methods
alias()
click to toggle source
# File lib/action.rb, line 28 def alias @config["alias"] end
allowed_in_env?(env)
click to toggle source
# File lib/action.rb, line 66 def allowed_in_env?(env) return false if not_in_envs.include?(env) return false if in_envs.any? && !in_envs.include?(env) true end
command()
click to toggle source
# File lib/action.rb, line 32 def command @config["command"] end
config_errors()
click to toggle source
# File lib/action.rb, line 48 def config_errors @config_errors ||= begin errors = [] errors << "No 'command' specified in 'action'." unless @config['command'] errors end end
config_valid?()
click to toggle source
# File lib/action.rb, line 44 def config_valid? config_errors.empty? end
description()
click to toggle source
# File lib/action.rb, line 36 def description @config["description"] end
execute_in_env?(env)
click to toggle source
# File lib/action.rb, line 62 def execute_in_env?(env) !skip_in_envs.include?(env) end
load_secrets?()
click to toggle source
# File lib/action.rb, line 58 def load_secrets? @config["load_secrets"].nil? ? false : @config["load_secrets"] end
run()
click to toggle source
# File lib/action.rb, line 16 def run if perform_shell_expansion? Kernel.exec(to_s) else Kernel.exec(*to_a) end end
skip_hooks?(name)
click to toggle source
# File lib/action.rb, line 40 def skip_hooks?(name) @config["skip_#{name}_hooks"] end
to_s()
click to toggle source
# File lib/action.rb, line 24 def to_s "#{command} #{@args.join(' ')}".strip end
Private Instance Methods
in_envs()
click to toggle source
# File lib/action.rb, line 84 def in_envs @config["in_envs"] || [] end
not_in_envs()
click to toggle source
# File lib/action.rb, line 80 def not_in_envs @config["not_in_envs"] || [] end
perform_shell_expansion?()
click to toggle source
# File lib/action.rb, line 92 def perform_shell_expansion? @config["shell_expansion"].nil? ? true : @config["shell_expansion"] end
skip_in_envs()
click to toggle source
# File lib/action.rb, line 88 def skip_in_envs @config["skip_in_envs"] || [] end
to_a()
click to toggle source
# File lib/action.rb, line 76 def to_a command.split(" ").reject(&:nil?) | @args end