horee dah bisa, ternyata mesti pake alias_method ^_^
super hanya digunakan untuk override di child Class
class Time
alias_method :old_strftime,:strftime
def self.strftime(tm_string)
if tm_string=="%w"
return ((old_strftime(tm_string).to_i-1)%7).to_s
else
return old_strftime(tm_string)
end
end
end
On Nov 30, 2007 3:40 PM, Aditya Agustyana <[EMAIL PROTECTED]> wrote:
> class Time
>
> def self.strftime(config_time)
> if config_time=="%w"
> rs=super("%w")
> if rs=="0"
> return "6"
> else
> return ( rs.to_i-1).to_s
> end
> else
> return super(config_time)
> end
> end
> end
>
> puts Time.now.strftime("%w")
> puts Time.now.class.to_s
>
> _____
>
> jika kita mengeksekusi Time.now.strftime("%w") pada hari senin akan
> mengeluarkan nilai "1"
> nah sy ingin mengoveride class_method strftime("%w") sehingga jika kode
> tsb dieksekusi pada hari senin akan mengeluarkan nilai "0", selasa="1",
> rabu="2" dst
>
> tapi sepertinya kode sy ada yg salah, entahlah sy ndak tau apa salahnya...
> , ada yg tau cara nge-override existing class method ?
>
> btw, di ruby semua method bisa dioverride kan ?
>
>
> makasih sebelumnya
> --
> blog : http://adityakircon.blogsome.com
> ym : kirconboy
> skype : adit_skype
>
> Freedom is the right of all sentient beings (Optimus Prime)
--
blog : http://adityakircon.blogsome.com
ym : kirconboy
skype : adit_skype
Freedom is the right of all sentient beings (Optimus Prime)
[Non-text portions of this message have been removed]