Sto chiedendo aiuto per quanto riguarda un modello di progettazione. Sono molto abituato alle interfacce in java e non so come ottenere un meccanismo simile in ruby. Ciò di cui ha bisogno è un tipo di interfaccia che ha un metodo, ad es. contatti. Per ottenere contatti ho bisogno di fare una chiamata contro un'api, questo potrebbe essere google, linkedid o qualsiasi servizio web. Quindi mi piacerebbe usare un'interfaccia che mi fornisce il metodo dei contatti e non voglio sapere nulla del provider oltre.modello di disegno interfacciale in rubino
Il mio primo tentativo simile a questa (pseudo codice):
Module AbstractContact
def contacts
#do some stuff with @data
@data
end
end
class Impl
include AbstractContact
def build_provider(provider)
if provider == :google
#get the data from google
gdata= api_call
@data = gdata
elsif provider == :linkedin
end
end
end
c=Impl.new
c.build_provider
c.contacts
Ma io non sono proprio sicuro, se questo è il "modo ruby andare".
Aiuto, suggerimenti e consigli sono benvenuti. Best, Phil
Eventuali duplicati: http://stackoverflow.com/questions/ 4437291/what-is-java-interface-equivalent-in-ruby – BentOnCoding
usa l'ereditarietà e fa in modo che la funzione generi un errore nella classe genitore. – oldergod