From: MikkelFJ Date: 2003-05-27T02:00:26+09:00 Subject: Re: Web Services and Ruby "Richard Kilmer" wrote in message news:604BD5FC-8F8D-11D7-837D-000A95765742@infoether.com... > What is the 'type' of first and last or the return type of get_name? > These are likely Strings so the type of "xsd:string" but where do you > place this metadata to allow the generation of a WSDL definition from > an instance of Person? This may be the only good argument for Hungarian naming convention: class Person def set_name(first, last) @strFirst = first @strLast = last nil end You could use this idea with a different naming convention: @first_xsd_str > def_types :set_name, :first=>'xsd:string', :last=>'xsd:string' This will eventually get out of sync (Don't Repeat Yourself), but it does make it easy to carry type information around. Thus you could have xsd interface as a ruby module you included. The you are not using the class as a definition, but simply exposing a known interface, which is not a repeat yourself issue but rather a lack of interface compliance if something goes wrong (as if we care why the program breaks down...). Mikkel