Sarebbe stato molto più semplice, a mio avviso, ma non voglio rompere le app esistenti . Lascia all’utente la generazione dell’istanza SSO.
# frozen_string_literal: true
module DiscourseApi
module API
module SSO
def sync_sso(sso)
post("/admin/users/sync_sso", sso.payload)
end
end
end
end
Forse domani farò qualcosa di simile (ma più pulito)
# frozen_string_literal: true
module DiscourseApi
module API
module SSO
def sync_sso(params)
if params.instance_of?(DiscourseApi::SingleSignOn)
post("/admin/users/sync_sso", sso.payload)
elsif params.instance_of?(Hash)
.... stesso comportamento attuale
end
end
end
end
end
Cosa ne pensate? La mia app avrà idealmente una singola funzione che genera DiscourseApi::SingleSignOn, e così potrò passarla a sso_login o sync_sso.