我在Rails应用程序的Ruby对象中有两个非常相似的方法。我知道它们可以合并,但我不知道如何做。 (如果您能找到处理可能为空值的更美观方式而不使用#try
,将获得额外的分数。)
def is_portal_admin?(resource)
return unless resource.user && resource.user.clinic_memberships.any?
memberships = resource.user.clinic_memberships.collect { |membership| membership.portal_admin? }
memberships.include?(true)
end
def is_staff_admin?(resource)
return unless resource.user && resource.user.clinic_memberships.any?
memberships = resource.user.clinic_memberships.collect { |membership| membership.staff_admin? }
memberships.include?(true)
end