Sha256: 541cb03ea5c2427ed6e96da45ee846639b990f43265de7d562d9fbd1d192268e

Contents?: true

Size: 321 Bytes

Versions: 23

Compression:

Stored size: 321 Bytes

Contents

module Authorizable
  def roles=(roles)
    self.roles_mask = (roles & Chaltron.roles).map { |r| 2**Chaltron.roles.index(r) }.inject(:+)
  end

  def roles
    Chaltron.roles.reject do |r|
      ((roles_mask || 0) & 2**Chaltron.roles.index(r)).zero?
    end
  end

  def is?(role)
    roles.include?(role.to_s)
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
chaltron-2.0.3 app/models/authorizable.rb
chaltron-2.0.2 app/models/authorizable.rb
chaltron-2.0.1 app/models/authorizable.rb
chaltron-2.0.0 app/models/authorizable.rb
chaltron-1.1.7 app/models/authorizable.rb
chaltron-1.1.6 app/models/authorizable.rb
chaltron-0.3.2 app/models/authorizable.rb
chaltron-1.1.5 app/models/authorizable.rb
chaltron-1.1.4 app/models/authorizable.rb
chaltron-0.3.1 app/models/authorizable.rb
chaltron-1.1.3 app/models/authorizable.rb
chaltron-1.1.2 app/models/authorizable.rb
chaltron-1.1.1 app/models/authorizable.rb
chaltron-0.3.0 app/models/authorizable.rb
chaltron-1.1.0 app/models/authorizable.rb
chaltron-0.2.11 app/models/authorizable.rb
chaltron-1.0.10 app/models/authorizable.rb
chaltron-0.2.10 app/models/authorizable.rb
chaltron-1.0.9 app/models/authorizable.rb
chaltron-1.0.8 app/models/authorizable.rb