class Dk::Config
Constants
- DEFAULT_CALLBACKS
- DEFAULT_HOST_SSH_ARGS
- DEFAULT_INIT_PROCS
- DEFAULT_LOG_FILE_PATTERN
- DEFAULT_LOG_PATTERN
- DEFAULT_PARAMS
- DEFAULT_SSH_ARGS
- DEFAULT_SSH_HOSTS
- DEFAULT_STDOUT_LOG_LEVEL
- DEFAULT_STUBS
- DEFAULT_TASKS
- DryTreeStub
- FILE_LOG_LEVEL
- UnknownTaskError
Attributes
after_callbacks[R]
before_callbacks[R]
dry_tree_cmd_stubs[R]
dry_tree_ssh_stubs[R]
init_procs[R]
params[R]
prepend_after_callbacks[R]
prepend_before_callbacks[R]
tasks[R]
Public Class Methods
new()
click to toggle source
# File lib/dk/config.rb, line 36 def initialize @init_procs = DEFAULT_INIT_PROCS.dup @params = DEFAULT_PARAMS.dup @before_callbacks = DEFAULT_CALLBACKS.dup @prepend_before_callbacks = DEFAULT_CALLBACKS.dup @after_callbacks = DEFAULT_CALLBACKS.dup @prepend_after_callbacks = DEFAULT_CALLBACKS.dup @ssh_hosts = DEFAULT_SSH_HOSTS.dup @ssh_args = DEFAULT_SSH_ARGS.dup @host_ssh_args = DEFAULT_HOST_SSH_ARGS.dup @tasks = DEFAULT_TASKS.dup @stdout_log_level = DEFAULT_STDOUT_LOG_LEVEL @log_pattern = DEFAULT_LOG_PATTERN @log_file = nil @log_file_pattern = DEFAULT_LOG_FILE_PATTERN @dry_tree_cmd_stubs = DEFAULT_STUBS.dup @dry_tree_ssh_stubs = DEFAULT_STUBS.dup end
Public Instance Methods
after(subject_task_class, callback_task_class, params = nil)
click to toggle source
# File lib/dk/config.rb, line 77 def after(subject_task_class, callback_task_class, params = nil) self.after_callbacks[subject_task_class] << Task::Callback.new( callback_task_class, params ) end
after_callback_task_classes(for_task_class)
click to toggle source
# File lib/dk/config.rb, line 99 def after_callback_task_classes(for_task_class) self.after_callbacks[for_task_class].map(&:task_class) end
before(subject_task_class, callback_task_class, params = nil)
click to toggle source
# File lib/dk/config.rb, line 63 def before(subject_task_class, callback_task_class, params = nil) self.before_callbacks[subject_task_class] << Task::Callback.new( callback_task_class, params ) end
before_callback_task_classes(for_task_class)
click to toggle source
# File lib/dk/config.rb, line 91 def before_callback_task_classes(for_task_class) self.before_callbacks[for_task_class].map(&:task_class) end
dk_logger()
click to toggle source
# File lib/dk/config.rb, line 173 def dk_logger @dk_logger ||= LogslyLogger.new(self) end
dk_logger_file_output_name()
click to toggle source
# File lib/dk/config.rb, line 168 def dk_logger_file_output_name # include the object id to ensure the output is unique to the instance @dk_logger_file_output_name ||= "dk-config-#{self.object_id}-file" end
dk_logger_stdout_output_name()
click to toggle source
private - intended for internal use only
# File lib/dk/config.rb, line 163 def dk_logger_stdout_output_name # include the object id to ensure the output is unique to the instance @dk_logger_stdout_output_name ||= "dk-config-#{self.object_id}-stdout" end
init()
click to toggle source
# File lib/dk/config.rb, line 55 def init self.init_procs.each{ |block| self.instance_eval(&block) } end
log_file(value = nil)
click to toggle source
# File lib/dk/config.rb, line 127 def log_file(value = nil) @log_file = value if !value.nil? @log_file end
log_file_pattern(value = nil)
click to toggle source
# File lib/dk/config.rb, line 132 def log_file_pattern(value = nil) @log_file_pattern = value if !value.nil? @log_file_pattern end
log_pattern(value = nil)
click to toggle source
# File lib/dk/config.rb, line 122 def log_pattern(value = nil) @log_pattern = value if !value.nil? @log_pattern end
prepend_after(subject_task_class, callback_task_class, params = nil)
click to toggle source
# File lib/dk/config.rb, line 84 def prepend_after(subject_task_class, callback_task_class, params = nil) self.prepend_after_callbacks[subject_task_class].unshift(Task::Callback.new( callback_task_class, params )) end
prepend_after_callback_task_classes(for_task_class)
click to toggle source
# File lib/dk/config.rb, line 103 def prepend_after_callback_task_classes(for_task_class) self.prepend_after_callbacks[for_task_class].map(&:task_class) end
prepend_before(subject_task_class, callback_task_class, params = nil)
click to toggle source
# File lib/dk/config.rb, line 70 def prepend_before(subject_task_class, callback_task_class, params = nil) self.prepend_before_callbacks[subject_task_class].unshift(Task::Callback.new( callback_task_class, params )) end
prepend_before_callback_task_classes(for_task_class)
click to toggle source
# File lib/dk/config.rb, line 95 def prepend_before_callback_task_classes(for_task_class) self.prepend_before_callbacks[for_task_class].map(&:task_class) end
set_param(key, value)
click to toggle source
# File lib/dk/config.rb, line 59 def set_param(key, value) self.params.merge!(dk_normalize_params(key => value)) end
stdout_log_level(value = nil)
click to toggle source
# File lib/dk/config.rb, line 117 def stdout_log_level(value = nil) @stdout_log_level = value if !value.nil? @stdout_log_level end
stub_dry_tree_cmd(cmd_str, args = nil, &block)
click to toggle source
# File lib/dk/config.rb, line 137 def stub_dry_tree_cmd(cmd_str, args = nil, &block) args ||= {} cmd_str_proc = get_cmd_ssh_proc(cmd_str) input_proc = get_cmd_ssh_proc(args[:input]) given_opts_proc = get_cmd_ssh_proc(args[:opts]) @dry_tree_cmd_stubs.unshift( DryTreeStub.new(cmd_str_proc, input_proc, given_opts_proc, block) ) end
stub_dry_tree_ssh(cmd_str, args = nil, &block)
click to toggle source
# File lib/dk/config.rb, line 149 def stub_dry_tree_ssh(cmd_str, args = nil, &block) args ||= {} cmd_str_proc = get_cmd_ssh_proc(cmd_str) input_proc = get_cmd_ssh_proc(args[:input]) given_opts_proc = get_cmd_ssh_proc(args[:opts]) @dry_tree_ssh_stubs.unshift( DryTreeStub.new(cmd_str_proc, input_proc, given_opts_proc, block) ) end
task(name, task_class = nil)
click to toggle source
# File lib/dk/config.rb, line 107 def task(name, task_class = nil) if !task_class.nil? if !task_class.kind_of?(Class) || !task_class.include?(Dk::Task) raise ArgumentError, "#{task_class.inspect} is not a Dk::Task" end @tasks[name.to_s] = task_class end @tasks[name.to_s] end
Private Instance Methods
get_cmd_ssh_proc(obj)
click to toggle source
# File lib/dk/config.rb, line 179 def get_cmd_ssh_proc(obj) obj.kind_of?(::Proc) ? obj : proc{ obj } end