Sha256: 7158f4af1b86ba34d011b26012e4b115bbf127ab9f10262d6f38c9dc28e4597e
Contents?: true
Size: 740 Bytes
Versions: 4
Compression:
Stored size: 740 Bytes
Contents
class Module private # Creates a new method for a pre-existing method. # # If _aka_ is given, then the method being redefined will # first be aliased to this name. # # class Greeter # def hello ; "Hello" ; end # end # # Greeter.new.hello #=> "Hello" # # class Greeter # redefine_method( :hello, :hi ) do # hi + ", friend!" # end # end # # Greeter.new.hello #=> "Hello, friend!" # # CREDIT: Trans def redefine_method(sym, aka=nil, &blk) raise ArgumentError, "method does not exist" unless method_defined?( sym ) alias_method( aka, sym ) if aka undef_method( sym ) define_method( sym, &blk ) end alias_method :redef, :redefine_method end
Version data entries
4 entries across 4 versions & 2 rubygems