Esto habría sido mucho más sencillo, en mi opinión, pero no quiero romper las aplicaciones existentes . Deja que el usuario se encargue de la generación de instancias 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
Quizás mañana haga algo así (pero más limpio)
# 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)
.... igual que actualmente
end
end
end
end
end
¿Qué opinas? Idealmente, mi aplicación tendrá una única función que genere DiscourseApi::SingleSignOn, y luego podré pasarla a sso_login o sync_sso.