IMO로는 이게 훨씬 더 간단했을 텐데, 기존 앱들이 깨지는 건 원치 않아서 . 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
내일쯤은 이런 식으로(하지만 더 깔끔하게) 해볼까 해
# 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)
.... 현재와 동일
end
end
end
end
end
생각은 어때? 내 앱은 이상적으로는 DiscourseApi::SingleSignOn을 생성하는 단일 함수를 가질 거고, 그걸 sso_login이나 sync_sso에 전달할 수 있게 되는 거야.