Nando Sanchez wrote:
> Clement:
> 
> I think you have 2 different errors in your script:
> 
> 1. The error already highlighted by other forum members.
> 2. You are creating a class named "Test" and a method for it, and later 
> on you try to call this method inside an object that belongs to a 
> totally different class (Date class). If you want to add the new method 
> to the Date class you only need to write:
> 
> class Date
>   def toDDMMYYYY(sep)
>     strftime("%d#{sep}%m#{sep}%Y")
>   end
> end
> 
> In this way the new method will be available in any date object. You 
> need to modify your main code too:
> 
> class MainLogic
>   def show_date
>     d = Date.today
>     d.toDDMMYYYY("-")
>   end
> end
> 
> Rgd,
> 
> Nando

Thanks for the replies, it makes Ruby learning so much easier! =)

It does work however if i change the class name to Date instead of test 
too. But what if my class is an inherited class? Maybe an example might 
explain clearer.

Assuming I have 2 classes:

class MadDate < Date
    def toDDMMYYYY(sep = "/")
      strftime(%d%m%Y")
     end
    end

class Main
    def self.show
      d = Date.today
      d.toDDMMYYYY("-")
    end
  end

And when i call, Main.show, it gives the same error "undefined method 
toDDMMYYYY". Is there then a way of working around inherited classes?
-- 
Posted via http://www.ruby-forum.com/.