module Ddr::Auth class EffectiveRoles def self.call(obj, agents) ( obj.resource_roles | obj.inherited_roles ).select { |r| agents.include?(r.agent) } end end end