Sha256: 43307eb23b1c82c4f8a85afe21234e436fd55398e9d55473145b28416e6db337

Contents?: true

Size: 662 Bytes

Versions: 1

Compression:

Stored size: 662 Bytes

Contents

#
# @author Kristian Mandrup
# 
# Trole operations object API, for performing operations on #roles
#
# Usage:
#   - user.roles + :admin
#   - user.roles.clear!
#
module Trole
  class Operations
    autoload_modules :Read, :Write

    include Read
    include Write

    include Enumerable

    attr_reader :role_subject

    # constructor
    # @param [Object] the role subject, fx a User or UserAccount
    def initialize role_subject
      @role_subject = role_subject
    end

    # required method to act as enumerable
    # iterates and yields all roles in the role list (Symbols)
    def each
      list.each { |role| yield role }
    end       
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
troles-0.6.1 lib/trole/operations.rb