class EverydayThorUtil::CommonHelpers

Public Class Methods

call_original_method(args, base, block, method_name, original_method) click to toggle source
# File lib/everyday_thor_util/common.rb, line 49
def call_original_method(args, base, block, method_name, original_method)
  begin
    original_method.bind(base).call(*args, &block)
  rescue ArgumentError => e
    base.class.handle_argument_error(base.class.commands[method_name], e, args, original_method.arity)
  end
end
debug_and_call_original(args, base, env_sym, method_name, option_sym, original_method, &block) click to toggle source
# File lib/everyday_thor_util/common.rb, line 66
def debug_and_call_original(args, base, env_sym, method_name, option_sym, original_method, &block)
  print_debug_if_should(option_sym, env_sym, base, original_method, method_name, args)
  call_original_method(args, base, block, method_name, original_method)
end
define_debug_wrapper(base, env_sym, method_name, option_sym) click to toggle source
# File lib/everyday_thor_util/common.rb, line 57
def define_debug_wrapper(base, env_sym, method_name, option_sym)
  base.class_eval {
    original_method = instance_method(method_name)
    define_non_command(method_name) { |*args, &block|
      EverydayThorUtil::CommonHelpers.debug_and_call_original(args, self, env_sym, method_name, option_sym, original_method, &block)
    }
  }
end
env_val_true(d) click to toggle source
# File lib/everyday_thor_util/common.rb, line 41
def env_val_true(d)
  d == '1' || d == 1 || d == 'true' || d == 't'
end
print_all_debug(args, method, obj, original_method) click to toggle source
print_base_debug(method, obj) click to toggle source
print_debug_if_should(option_sym, env_sym, obj, original_method, method, args) click to toggle source
should_debug?(env_sym, obj, option_sym) click to toggle source
# File lib/everyday_thor_util/common.rb, line 37
def should_debug?(env_sym, obj, option_sym)
  should_use_option_sym?(obj, option_sym) ? obj.options[option_sym.to_sym] : (env_sym && env_val_true(ENV[env_sym.to_s]))
end
should_use_option_sym?(obj, option_sym) click to toggle source
# File lib/everyday_thor_util/common.rb, line 45
def should_use_option_sym?(obj, option_sym)
  option_sym && (obj.options.has_key?(option_sym.to_s) || obj.options.has_key?(option_sym.to_sym))
end