# Dynamic alias

**URL:** <https://www.ruby-forum.com/t/dynamic-alias/111389>\
**Category:** Ruby\
**Created:** [August 6, 2007, 7:55pm UTC](https://www.ruby-forum.com/t/dynamic-alias/111389 "2007-08-06T19:55:59Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Trans](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/dfb087/32.png) [@Trans](https://www.ruby-forum.com/u/Trans)\
**Post date:** [August 6, 2007, 7:55pm UTC](https://www.ruby-forum.com/t/dynamic-alias/111389/1 "2007-08-06T19:55:59Z")

</div>

Honestly, alias bugs me to know end. When meta-programming, alias is  
notorious for causing problems. Not only is it a keyword (yuk), but it  
is inherently static.

Well, it doesn’t fix everything of course, but here’s a little snip  
that came to me today to take some of the static edge off:

class Module  
alias \_alias\_method alias\_method

```
def alias_method(name,target)
  begin
    _alias_method(name,target)
  rescue
    module_eval %{
      def #{name}(*a,&b)
        #{target}(*a,*b)
      end
    }
  end
end

```

end

Now it’s possible to alias a method that’s hasn’t been defined yet.

T.

---

<div class="post-metadata">

**Author:** ![Trans](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/dfb087/32.png) [@Trans](https://www.ruby-forum.com/u/Trans)\
**Post date:** [August 6, 2007, 8:16pm UTC](https://www.ruby-forum.com/t/dynamic-alias/111389/2 "2007-08-06T20:16:04Z")

</div>

On Aug 6, 10:54 am, Trans [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Honestly, alias bugs me to know end.

Oops! Maybe I meant “To no known end” 😉

T.

---

<div class="post-metadata">

**Author:** ![Trans](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/dfb087/32.png) [@Trans](https://www.ruby-forum.com/u/Trans)\
**Post date:** [August 6, 2007, 8:26pm UTC](https://www.ruby-forum.com/t/dynamic-alias/111389/3 "2007-08-06T20:26:05Z")

</div>

On 06.08.2007 20:14, Trans wrote:

> On Aug 6, 10:54 am, Trans [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:
> 
> > Honestly, alias bugs me to know end.
> 
> Oops! Maybe I meant “To no known end” 😉

Oh, and I thought you meant “to no end”. 🙂

robert
