Sha256: 3c1174330c2873dbd8fc8288d564634a4af9786a46198e81d1083509310c8d68

Contents?: true

Size: 430 Bytes

Versions: 28

Compression:

Stored size: 430 Bytes

Contents

class Module
  # Encapsulates the common pattern of:
  #
  #   alias_method :foo_without_feature, :foo
  #   alias_method :foo, :foo_with_feature
  #
  # With this, you simply do:
  #
  #   alias_method_chain :foo, :feature
  #
  # And both aliases are set up for you.
  def alias_method_chain(target, feature)
    alias_method "#{target}_without_#{feature}", target
    alias_method target, "#{target}_with_#{feature}"
  end
end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
gamebox-0.0.8 lib/gamebox/lib/aliasing.rb
gamebox-0.0.7 lib/gamebox/lib/aliasing.rb
gamebox-0.0.1 lib/gamebox/aliasing.rb
gamebox-0.0.2 lib/gamebox/aliasing.rb
gamebox-0.0.3 lib/gamebox/aliasing.rb
gamebox-0.0.4 lib/gamebox/aliasing.rb
gamebox-0.0.5 lib/gamebox/aliasing.rb
gamebox-0.0.6 lib/gamebox/aliasing.rb