Collegamento a un metodo con lo stesso nome in una classe diversa (RDOC)
Domanda
Sto documentando un po 'di codice Ruby in questo momento. Abbiamo due classi che hanno entrambi un metodo chiamato "host".
In una di queste classi il metodo necessita di alcuni commenti speciali. Nell'altra classe vorrei fare riferimento alla prima classe e avere quel riferimento ad essa.
Normalmente in RDOC, digitare il nome di un metodo è sufficiente per generare un collegamento. In questo caso, anche se scrivo Class::SubClass.host
Il collegamento insiste ancora nel puntare al metodo della classe corrente.
Qualche maestro RDOC là fuori sanno come farlo?
Ecco un esempio in FakeTown::Api
dove voglio collegarmi a RealTown::Api
Metodo #host
:
# Returns the host as defined in config.yml under the heading "url".
#
# It appears as though this method is no longer in use, as
# features/support/vcr_config.rb contains its own method
# by the same name which directly references RealTown::Api#url
def host
uri = URI.parse url
uri.host
end
Il collegamento prodotto da RDOC si collega in modo inutilmente indietro al #host
metodo in questo documento.
Grazie!
Soluzione
Probabilmente vuoi collegarti al metodo di istanza, non al metodo di classe. Class::SubClass#host
dovrebbe funzionare.
L'esempio seguente fa, ciò che stai descrivendo.
class A
# first method
def a
end
end
class B
# second method linking to A#a
def a
end
end