class LTIRoles::RoleManager
Attributes
context_roles[RW]
context_types[RW]
institution_roles[RW]
other_roles[RW]
roles[RW]
system_roles[RW]
Public Class Methods
new(roles = '')
click to toggle source
# File lib/lti_roles.rb, line 13 def initialize(roles = '') @roles = roles @context_types = [] @system_roles = [] @institution_roles = [] @context_roles = [] @other_roles = [] map_roles end
Public Instance Methods
clean_role(urn_prefix, role)
click to toggle source
# File lib/lti_roles.rb, line 40 def clean_role(urn_prefix, role) role.gsub(/#{Regexp.quote(urn_prefix)}/i, '').gsub('/', '').underscore end
map_roles()
click to toggle source
# File lib/lti_roles.rb, line 23 def map_roles roles.split(',').each do |role| case when role.downcase.include?(ContextTypeURN) context_types << clean_role(ContextTypeURN, role) when role.downcase.include?(SystemRoleURN) system_roles << clean_role(SystemRoleURN, role) when role.downcase.include?(InstitutionRoleURN) institution_roles << clean_role(InstitutionRoleURN, role) when role.downcase.include?(ContextRoleURN) context_roles << clean_role(ContextRoleURN, role) else other_roles << role end end end
to_h()
click to toggle source
# File lib/lti_roles.rb, line 44 def to_h { 'roles' => roles, 'context_type' => context_types, 'system_roles' => system_roles, 'institution_roles' => institution_roles, 'context_roles' => context_roles } end