Module: ProcessMetrics::Timer

Defined in:
lib/process_metrics/timer.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



78
79
80
# File 'lib/process_metrics/timer.rb', line 78

def self.included(base)
  base.extend ProcessMetrics::ClassMethods
end

Instance Method Details

#extract_option(options, option_name) ⇒ Object



82
83
84
85
86
87
88
89
90
91
92
93
94
95
# File 'lib/process_metrics/timer.rb', line 82

def extract_option(options, option_name)
  return unless options && options[option_name]

  if options[option_name].respond_to?(:call)
    # It's a proc. parent_uuid is the return value
    options[option_name].call(self)
  elsif options[option_name].is_a?(Symbol)
    # It's a symbol. Call method on object and parent_uuid is its result.
    send(options[option_name])
  else
    # It's something static. Just call #to_s
    options[option_name].to_s
  end
end