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]

Kirim email ke