Sha256: 79c7516793c3657e74372aa2d9e41df70db8170a6d6bd21e848a678ea8a94eb6

Contents?: true

Size: 900 Bytes

Versions: 24

Compression:

Stored size: 900 Bytes

Contents

class Module

  # Custom alias_method_chain that won't cause inifinite recursion if
  # called twice.
  # Calling alias_method_chain on alias_method_chain
  # was just way to confusing, so I copied it :-/
  def alias_method_chain(target, feature)
    # Strip out punctuation on predicates or bang methods since
    # e.g. target?_without_feature is not a valid method name.
    aliased_target, punctuation = target.to_s.sub(/([?!=])$/, ''), $1
    yield(aliased_target, punctuation) if block_given?
    without = "#{aliased_target}_without_#{feature}#{punctuation}"
    unless method_defined?(without)
      alias_method without, target
      alias_method target, "#{aliased_target}_with_#{feature}#{punctuation}"
    end
  end

  # we used to have a delegate in here that didn't go bang if 'to' is
  # nil.  If you relied on it, use the new :allow_nil option with
  # active_support's delegate

end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
hobo_support-2.1.0 lib/hobo_support/fixes/module.rb
hobo_support-2.1.0.pre4 lib/hobo_support/fixes/module.rb
hobo_support-2.1.0.pre3 lib/hobo_support/fixes/module.rb
hobo_support-2.1.0.pre2 lib/hobo_support/fixes/module.rb
hobo_support-2.1.0.pre1 lib/hobo_support/fixes/module.rb
hobo_support-2.0.1 lib/hobo_support/fixes/module.rb
hobo_support-2.0.0 lib/hobo_support/fixes/module.rb
hobo_support-2.0.0.pre10 lib/hobo_support/fixes/module.rb
hobo_support-2.0.0.pre9 lib/hobo_support/fixes/module.rb
hobo_support-2.0.0.pre8 lib/hobo_support/fixes/module.rb
hobo_support-2.0.0.pre7 lib/hobo_support/fixes/module.rb
hobo_support-2.0.0.pre6 lib/hobo_support/fixes/module.rb
hobo_support-2.0.0.pre5 lib/hobo_support/fixes/module.rb
hobo_support-2.0.0.pre4 lib/hobo_support/fixes/module.rb
hobo_support-2.0.0.pre3 lib/hobo_support/fixes/module.rb
hobo_support-2.0.0.pre2 lib/hobo_support/fixes/module.rb
hobo_support-2.0.0.pre1 lib/hobo_support/fixes/module.rb
hobo_support-1.4.0.pre8 lib/hobo_support/fixes/module.rb
hobo_support-1.4.0.pre7 lib/hobo_support/fixes/module.rb
hobo_support-1.4.0.pre6 lib/hobo_support/fixes/module.rb