How to alias a class method

Ask a Question related to Ruby, Design and Development.

  1. #1

    Default How to alias a class method

    Hi!

    I've run into problem aliasing a class method, i.e.
    I have:
    class Abc
    self.get_abc arg
    ...
    end
    end
    And later I need to this method, with saving of
    original implementation.
    Following code is not working:
    alias rig_get_abc, :get_abc

    --
    sdmitry -=- Dmitry V. Sabanin
    MuraveyLabs.


    Dmitry V. Sabanin Guest

  2. Similar Questions and Discussions

    1. How to Alias a Function name within a Class?
      How can I create within a CLASS aliases of a defined function, that is variables with another name which do the very same identical things of an...
    2. #25580 [WFx]: set_error_handler to a class/method resets class properties when error occurs
      ID: 25580 Updated by: sniper@php.net Reported By: paul dot liversidge at recycledpixels dot com Status: Wont...
    3. #25580 [Opn->WFx]: set_error_handler to a class/method resets class properties when error occurs
      ID: 25580 Updated by: sniper@php.net Reported By: paul dot liversidge at recycledpixels dot com -Status: Open...
    4. #25580 [Opn]: set_error_handler to a class/method resets class properties when error occurs
      ID: 25580 User updated by: paul.liversidge@recycledpixels.com Reported By: paul dot liversidge at recycledpixels dot com...
    5. #25580 [NEW]: set_error_handler to a class/method resets class properties when error occurs
      From: paul dot liversidge at recycledpixels dot com Operating system: Windows XP PHP version: 4.3.2 PHP Bug Type: ...
  3. #2

    Default Re: How to alias a class method

    >>>>> "D" == Dmitry V Sabanin <sdmitry@lrn.ru> writes:

    D> Following code is not working:
    D> alias rig_get_abc, :get_abc

    you need to be in the singleton class to make the alias

    svg% cat b.rb
    #!/usr/bin/ruby
    class Abc
    def self.get_abc arg
    puts "abc"
    end
    class << self
    alias orig_get_abc get_abc
    end
    end

    Abc.orig_get_abc(12)
    svg%

    svg% b.rb
    abc
    svg%



    Guy Decoux

    ts Guest

  4. #3

    Default Re: How to alias a class method

    On Tuesday 16 September 2003 23:43, ts wrote:
    > you need to be in the singleton class to make the alias
    >
    > svg% cat b.rb
    > #!/usr/bin/ruby
    > class Abc
    > def self.get_abc arg
    > puts "abc"
    > end
    > class << self
    > alias orig_get_abc get_abc
    > end
    > end
    >
    > Abc.orig_get_abc(12)
    > svg%
    >
    > svg% b.rb
    > abc
    > svg%
    >
    > Guy Decoux
    Very nice, thank you!
    --
    sdmitry -=- Dmitry V. Sabanin
    MuraveyLabs.


    Dmitry V. Sabanin Guest

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139