Sha256: d1db1a8a1084959adeaed140f6892af18f36036127afc9b92128f0a494d6408c

Contents?: true

Size: 600 Bytes

Versions: 1

Compression:

Stored size: 600 Bytes

Contents

module AuthAssistant           
  module RoleStrategy
    module RolesField
      
      def roles=(*roles)        
        self.roles = roles.split(',').reject{|e| (e =~ /^\w+$/) == nil}
      end

      def roles
        roles.split(',')
      end
      
      def role?(role)
        roles.include? role.to_s
      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/roles_field.rb