module ProcessMetrics::Timer

Public Class Methods

included(base) click to toggle source
# File lib/process_metrics/timer.rb, line 78
def self.included(base)
  base.extend ProcessMetrics::ClassMethods
end

Public Instance Methods

extract_option(options, option_name) click to toggle source
# 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