Sha256: a55e8bfe5a222fd04ee391259c7cad568a86e527a9b7552433848efb888781a3

Contents?: true

Size: 715 Bytes

Versions: 3

Compression:

Stored size: 715 Bytes

Contents

module Roles::ActiveRecord
  module Strategy
    module Shared
      def set_role role
        update_attributes(role_attribute => new_role(role))
      end
      alias_method :set_roles, :set_role

      def remove_all_roles!
        set_empty_role        
      end

      def has_no_roles?
        get_role.empty?
      end

      def has_any_roles?
        !has_no_roles?
      end

      def get_role
        r = self.send(role_attribute)
      end
      alias_method :get_roles, :get_role

      def select_valid_roles *roles
        roles.flat_uniq.select{|role| valid_role? role }
        has_role_class? ? role_class.find_roles(roles).to_a.flat_uniq : roles.flat_uniq
      end           
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
roles_active_record-0.4.8 lib/roles_active_record/strategy/shared.rb
roles_active_record-0.4.7 lib/roles_active_record/strategy/shared.rb
roles_active_record-0.4.6.4 lib/roles_active_record/strategy/shared.rb