Sha256: 32a53aa392a7cf7c823508345a2ba4072bb823399b11d8c23a655edcc3772050

Contents?: true

Size: 701 Bytes

Versions: 18

Compression:

Stored size: 701 Bytes

Contents

h2. Example : one_role

Creates and uses a single relation to a Role model for each user

<pre>
  class Role
    attr_accessor :name

    def self.find_role role_name    
      roles.to_a.select{|r| r.name == role_name}.first
    end  

    class << self
      attr_accessor :roles
    end    

    def initialize name
      @name = name
      self.class.roles ||= Set.new
      self.class.roles << self
    end

  end

  class User
    include RoleModels::Generic 
    role_strategy :one_role, :default

    role_class :role   

    attr_accessor :name, :one_role

    roles :admin, :user 

    def initialize name, *new_roles
      self.name = name
      self.roles = new_roles
    end 
  end
</pre>

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
roles_generic-0.5.0 wiki/strategies/one_role.textile
roles_generic-0.3.9 wiki/strategies/one_role.textile
roles_generic-0.3.8 wiki/strategies/one_role.textile
roles_generic-0.3.7.2 wiki/strategies/one_role.textile
roles_generic-0.3.7.1 wiki/strategies/one_role.textile
roles_generic-0.3.7 wiki/strategies/one_role.textile
roles_generic-0.3.6 wiki/strategies/one_role.textile
roles_generic-0.3.5 wiki/strategies/one_role.textile
roles_generic-0.3.4 wiki/strategies/one_role.textile
roles_generic-0.3.3 wiki/strategies/one_role.textile
roles_generic-0.2.7 wiki/strategies/one_role.textile
roles_generic-0.2.6 wiki/strategies/one_role.textile
roles_generic-0.2.5 wiki/strategies/one_role.textile
roles_generic-0.2.4 wiki/strategies/one_role.textile
roles_generic-0.2.3 wiki/strategies/one_role.textile
roles_generic-0.2.2 wiki/strategies/one_role.textile
roles_generic-0.2.1 wiki/strategies/one_role.textile
roles_generic-0.2.0 wiki/strategies/one_role.textile