I still prefer the "full on type ducking" with a readable comment in the 
file. As for the exception that occurs once a month, I get the same 
thing in statically compiled language!  Sure I am guaranteed that the 
method exists due to my compiler bulking at the ommission of my method 
definition but since it will only get exercized once a month, I probably 
won't see the error till the runtime hits it anyway.  (and yes, I have 
had yearly bugs pop up on new years day..)  The answer is proper test 
cases that detect these things early.  A compiler making sure your 
method exists is not a proper test of the monthly condition that may 
occur.

As an aside, I should state that all my Ruby is on peripheral projects 
assisting my main enterprise development project. The complexity of my 
Ruby projects has not reached 10k LoC so I should make that caveat 
clear. :)

ilan

unknown wrote:

> 
> i disagree strongly here.  check out these two snippets that i am 
> working on
> as we speak:
> 
>      def will_process_holding *a, &b
>        raise NotImplementedError
>      end
>      def process_holding *a, &b
>        raise NotImplementedError
>      end
>      def will_process_incoming(*a, &b)
>        raise NotImplementedError
>      end
>      def process_incoming(*a, &b)
>        raise NotImplementedError
>      end
> 
> vs
> 
>      abstract_method "will_process_holding"
>      abstract_method "process_holding"
>      abstract_method "will_process_incoming"
>      abstract_method "process_incoming"
> 
> 





-- 
Posted via http://www.ruby-forum.com/.