C'est possible :)
Il suffit de changer la définition
def ldap_get ( base_dn, filter, scope=LDAP::LDAP_SCOPE_SUBTREE, attrs=nil )
pour
def ldap_get ( base_dn, filter, *param_array, attrs=nil )
scope = param_array.first || LDAP::LDAP_SCOPE_SUBTREE
le champ d'application serait maintenant dans le tableau sur la première place.
Lorsque vous fournissez des 3 arguments, alors vous aurez attribué base_dn, filtre et attrs et param_array sera []
Quand 4 et plus d'arguments alors param_array sera [argument1, or_more, and_more]
La baisse est... il est difficile de solution, vraiment moche. C'est pour répondre à ce qu'il est possible d'omettre l'argument dans le milieu de la fonction d'appel en ruby :)
Une autre chose que vous avez à faire est de réécrire la valeur par défaut du champ.