Aldric Giacomoni wrote:
> I'm trying to retrieve some data from Active Directory
> (operatingsystem and operatingsystemservicepack). It so occurs that
> -sometimes- that data is nonexistent (Linux box, maybe)... I don't
> know how to catch that error (it gives me a method_missing when it
> fails) and make it fail gracefully, returning an empty string instead.
> What I've done so far is just copy the method_missing from the ldap.rb
> to my source code and added an if statement to return '' if the
> argument is one of the two mentioned above.. Is there a more elegant
> way?

Well, if nothing else, instead of copy-pasting the method_missing from 
another class, try delegating to that class:

class MyClass
  def method_missing(meth, *args)
    case meth
    when 'operatingsystem': return ''
    # any other special handling
    end

    object_you_originally_pasted_from.send(meth, args)
  end
end
-- 
Posted via http://www.ruby-forum.com/.