class Object
Public Class Methods
attr_chain(variable_name, *attr_configs)
click to toggle source
Configurable accessor methods @see AttrChain
@return [void]
# File lib/util/attr_chain.rb, line 246 def self.attr_chain(variable_name, *attr_configs) AttrChain.new(self, variable_name, attr_configs) end
const_get_full(full_class_name)
click to toggle source
Resolves fully qualified class named including modules: Ki::KiCommand
# File lib/util/ruby_extensions.rb, line 132 def Object.const_get_full(full_class_name) class_or_module = self full_class_name.split("::").each do |name| class_or_module = class_or_module.const_get(name) end class_or_module end
Public Instance Methods
show_errors(&block)
click to toggle source
if block raises an exception outputs the error message. returns block's exit value or reraises the exception
# File lib/util/ruby_extensions.rb, line 122 def show_errors(&block) begin block.call rescue Exception => e puts "Exception '#{e.message}':\n#{e.backtrace.join("\n")}" raise end end
try(retries, retry_sleep, &block)
click to toggle source
# File lib/util/ruby_extensions.rb, line 140 def try(retries, retry_sleep, &block) c = 0 start = Time.now while c < retries begin return block.call(c+1) rescue Exception => e c += 1 if c < retries sleep retry_sleep else raise e.class, e.message + " (tried #{c} times, waited #{sprintf("%.2f", Time.now - start)} seconds)", e.backtrace end end end end