Class: Module

Inherits:
Object
  • Object
show all
Defined in:
lib/core_ext/module/monitor.rb,
lib/core_ext/module/alias_method_chain.rb

Instance Method Summary collapse

Instance Method Details

#_monitor(bucket_name = nil) ⇒ Object



5
6
7
8
9
10
# File 'lib/core_ext/module/monitor.rb', line 5

def _monitor(bucket_name = nil)
  return unless Fozzie.c.sniff?
  self.class_eval { extend Fozzie::Sniff }
  @_monitor_flag = true
  @_bucket_name  = bucket_name
end

#alias_method_chain(target, feature) {|aliased_target, punctuation| ... } ⇒ Object

Yields:

  • (aliased_target, punctuation)


2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/core_ext/module/alias_method_chain.rb', line 2

def alias_method_chain(target, feature)
  aliased_target, punctuation = target.to_s.sub(/([?!=])$/, ''), $1
  yield(aliased_target, punctuation) if block_given?

  with_method, without_method = "#{aliased_target}_with_#{feature}#{punctuation}", "#{aliased_target}_without_#{feature}#{punctuation}"

  alias_method without_method, target
  alias_method target, with_method

  case
    when public_method_defined?(without_method)
      public target
    when protected_method_defined?(without_method)
      protected target
    when private_method_defined?(without_method)
      private target
  end
end