[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

alias throwing exception: undefined method `send_mail' for class `HeartBeat' (NameError

Tristin Davis

6/14/2008 10:01:00 PM

[Note: parts of this message were removed to make it a legal post.]

I'm having a problem with the code below. when I try and alias the
send_mail method, it throws an exception.

undefined method `send_mail' for class `HeartBeat' (NameError)

Any help would be appreciated. :)


class Heartbeat

alias :win_mail :send_mail if RUBY_PLATFORM =~ /mswin32/
alias :unix_mail :send_mail if RUBY_PLATFORM =~ /linux/

#Abstract method
def send_mail
raise RuntimeError, "Could not detect OS"
end

private

# in: hash=> subject, body, recipients
# out: true if successful
def win_mail(opts={})
require 'win32ole'
outlook = WIN32OLE.new('Outlook.Application')
message = outlook.CreateItem(0)
message.Subject = opts[:subject]
message.Body = opts[:body]
message.To = opts[:recipients]
message.Send
end

def unix_mail(opts={})
end

end

1 Answer

Mikael Høilund

6/15/2008 12:37:00 AM

0

On Jun 15, 2008, at 0:00, Tristin Davis wrote:

> I'm having a problem with the code below. when I try and alias the
> send_mail method, it throws an exception.
>
> undefined method `send_mail' for class `HeartBeat' (NameError)
>
> Any help would be appreciated. :)
>
>
> class Heartbeat
>
> alias :win_mail :send_mail if RUBY_PLATFORM =~ /mswin32/
> alias :unix_mail :send_mail if RUBY_PLATFORM =~ /linux/
>
> #Abstract method
> def send_mail
> raise RuntimeError, "Could not detect OS"
> end

The method isn't defined in the class until now. Move the alias lines
to below the def, and it'll work.

--
a,b=%Q=Z,O^NPO\r4_PV\\PI\x15^-\x0\v=,email=%\%%%c\%115%%# Mikael
Hoilund, CTO
okay=%#;hmm=(0...a.size).map{|i|((a[i]-email[i]+2)%128).# of Meta.io
ApS from
chr}.join;!email.gsub!'o',"%c%c"%[3+?0.<<(2),?G.~@];aha=#############
Denmark
hmm.scan(/#{'(.)'*5}/);!puts(email[1..-12]+aha.shift.zip(*aha).join)#
Ruby <3