对于 Rails 应用程序,我的 Ruby 对象中有两个极其相似的方法。我知道它们可以组合,我只是不知道如何。(如果你能找到一种更漂亮的方法来处理可能的 nils return unless
,而不是使用 ,则加分#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