Sha256: 3163c0997ab5a72ef1dc61a881183893dd469eb84cef1d3e977c2028ef7c343f
Contents?: true
Size: 923 Bytes
Versions: 3
Compression:
Stored size: 923 Bytes
Contents
module Roles::Base def valid_roles_are(*role_list) strategy_class.valid_roles = role_list.to_symbols if role_class_name role_list.each do |name| role_class_name.new(name) end end end end class Role attr_accessor :name def self.find_role role_name role_name = Roles::Generic::RoleUtil.extract_role(role_name) roles.to_a.select do |r| r.name.to_sym == role_name.to_sym end.first end def self.find_roles *role_names result = Set.new role_names.to_symbols.each do |role_name| found_role = find_role(role_name) result << found_role if found_role end result end class << self attr_accessor :roles def all roles.to_a end def names roles.map(&:name) end end def initialize name @name = name self.class.roles ||= Set.new self.class.roles << self end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
roles_generic-0.3.5 | lib/roles_generic/role.rb |
roles_generic-0.3.4 | lib/roles_generic/role.rb |
roles_generic-0.3.3 | lib/roles_generic/role.rb |