Sha256: 437f3b007a67263532ea2c70170bd85abef69fd1b46acaa18321eb14c18af8e2

Contents?: true

Size: 832 Bytes

Versions: 15

Compression:

Stored size: 832 Bytes

Contents

require 'spec_helper'

require_all File.dirname(__FILE__) + '/models/all_models'

RSpec.configure do |config|
  config.mock_with :mocha
end

module Permits::Roles
  def self.available
    User.roles
  end
end

class Guest
  class << self
    attr_accessor :id_counter

    def next_id
      @id_counter += 1      
    end
      
    def create
      User.new next_id, :guest, 'Guest'
    end
  end
end

class User
  attr_accessor :id, :role, :name

  def self.roles
    [:guest, :admin, :editor, :super_admin]
  end    

  def initialize id, role, name = nil
    self.id = id    
    raise ArgumentError, "Role #{role} is not in list of available roles: #{self.class.roles}" if !self.class.roles.include? role
    self.role = role
    self.name = name || role.to_s
  end
  
  def has_role? role
    self.role == role
  end     
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
cancan-permits-0.3.12 spec/generic/spec_helper.rb
cancan-permits-0.3.11 spec/generic/spec_helper.rb
cancan-permits-0.3.10 spec/generic/spec_helper.rb
cancan-permits-0.3.9 spec/generic/spec_helper.rb
cancan-permits-0.3.8 spec/generic/spec_helper.rb
cancan-permits-0.3.7 spec/generic/spec_helper.rb
cancan-permits-0.3.6 spec/generic/spec_helper.rb
cancan-permits-0.3.5 spec/generic/spec_helper.rb
cancan-permits-0.3.4 spec/generic/spec_helper.rb
cancan-permits-0.3.2 spec/generic/spec_helper.rb
cancan-permits-0.3.1 spec/generic/spec_helper.rb
cancan-permits-0.3.0 spec/generic/spec_helper.rb
cancan-permits-0.2.9 spec/generic/spec_helper.rb
cancan-permits-0.2.8 spec/generic/spec_helper.rb
cancan-permits-0.2.7 spec/generic/spec_helper.rb