Sha256: 07645a5e4817cc4d56993b2ef8712dda604ddd2db3361941c3ff8791729de6f1

Contents?: true

Size: 766 Bytes

Versions: 1

Compression:

Stored size: 766 Bytes

Contents

module Roles::ActiveRecord
  module Strategy
    module Shared

      def set_default_role
        add_role default_role
      end

      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

1 entries across 1 versions & 1 rubygems

Version Path
roles_active_record-0.5.1 lib/roles_active_record/strategy/shared.rb