Replaces use of role.respond_to?(:each) with role.is_a?(Set) in mask_for.

This commit is contained in:
James McCarthy 2011-09-05 19:34:32 +01:00 committed by Martin Rehfeld
parent 3cefbf35da
commit 565e919863

View file

@ -19,10 +19,7 @@ module RoleModel
end
def mask_for(*roles)
sanitized_roles = roles.map { |role|
role.respond_to?(:each) ? role.to_a : role
}.flatten.map(&:to_sym)
sanitized_roles = roles.map { |role| role.is_a?(Set) ? role.to_a : role }.flatten.map(&:to_sym)
(valid_roles & sanitized_roles).inject(0) { |sum, role| sum + 2**valid_roles.index(role) }
end