Sha256: eec993fcc4a6d3dcfec7e99a69c04f0e3990c065bf096f4e6458fa0af4929b23
Contents?: true
Size: 1.25 KB
Versions: 5
Compression:
Stored size: 1.25 KB
Contents
# Copyright (c) 2013 AppNeta, Inc. # All rights reserved. module Oboe module Util class << self ## # oboe_alias # # Centralized utility method to alias a method on an arbitrary # class or module. # def method_alias(cls, method, name=nil) # Attempt to infer a contextual name if not indicated # # For example: # ::ActiveRecord::ConnectionAdapters::AbstractMysqlAdapter.to_s.split(/::/).last # => "AbstractMysqlAdapter" # begin name ||= cls.to_s.split(/::/).last rescue end if cls.method_defined? method.to_sym or cls.private_method_defined? method.to_sym cls.class_eval do alias_method "#{method}_without_oboe", "#{method}" alias_method "#{method}", "#{method}_with_oboe" end else Oboe.logger.warn "[oboe/loading] Couldn't properly instrument #{name}. Partial traces may occur." end end ## # oboe_send_include # # Centralized utility method to send a include call for an # arbitrary class def send_include(target_cls, cls) if defined?(target_cls) target_cls.send(:include, cls) end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
oboe-2.5.0.7 | lib/oboe/util.rb |
oboe-2.4.0.1 | lib/oboe/util.rb |
oboe-2.3.4.1 | lib/oboe/util.rb |
oboe-2.3.3.7 | lib/oboe/util.rb |
oboe-2.3.2 | lib/oboe/util.rb |