Sha256: 4d3982e53916225e4e933e1a9e51b53c722b7e66f8d5b5adfcbc15fc4d8e12a3

Contents?: true

Size: 598 Bytes

Versions: 1

Compression:

Stored size: 598 Bytes

Contents

module AuthAssistant          
  module RoleStrategy
    module RoleField
      
      def roles=(*roles)
        new_role = roles.first.to_s
        self.role = new_role if CanCan.available_roles.include? new_role
      end

      def roles
        [role]
      end

      def role?(_role)
        roles.include? _role
      end  

      module ClassMethods
        def set_scope
          scope :with_role, lambda { |role| 
            where("role?(#{role})")
          }
        end
      end
      
      def self.included(base)  
        base.extend(ClassMethods)
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
auth-assistant-0.4.0 lib/auth_assistant/role_strategies/role_field.rb