Sha256: ce1b7392cff04fb139df0a78713bee6a657af8d8aaa938ecba7798936c25a6fa

Contents?: true

Size: 748 Bytes

Versions: 3

Compression:

Stored size: 748 Bytes

Contents

######################################################################
# my extensions to Module. (taken from rake, named changed to not clash
# when rake is used)
#
class Module
  # Check for an existing method in the current class before extending.  If
  # the method already exists, then a warning is printed and the extension is
  # not added.  Otherwise the block is yielded and any definitions in the
  # block will take effect.
  #
  # Usage:
  #
  #   class String
  #     rake_extension("xyz") do
  #       def xyz
  #         ...
  #       end
  #     end
  #   end
  #
  def my_extension(method)
    unless instance_methods.include?(method.to_s) || instance_methods.include?(method.to_sym)
      yield
    end
  end
end # module Module

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
royw-roys_extensions-0.0.2 lib/module_extensions.rb
royw-roys_extensions-0.0.3 lib/module_extensions.rb
royw-roys_extensions-0.0.4 lib/module_extensions.rb