Class: CanvasSync::Concerns::AbilityHelper::RoleStore

Inherits:
Object
  • Object
show all
Defined in:
lib/canvas_sync/concerns/ability_helper.rb

Constant Summary collapse

ContextTypeURN =
'urn:lti:context-type:ims/lis/'.freeze
ROLE_TYPES =
[
  { type: "system", urn: "urn:lti:sysrole:ims/lis/", url: "http://purl.imsglobal.org/vocab/lis/v2/system/person#" },
  { type: "institution", urn: "urn:lti:instrole:ims/lis/", url: "http://purl.imsglobal.org/vocab/lis/v2/institution/person#" },
  { type: "context", urn: "urn:lti:role:ims/lis/", url: "http://purl.imsglobal.org/vocab/lis/v2/membership#" },
]

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(roles = '') ⇒ RoleStore

Returns a new instance of RoleStore.



57
58
59
60
61
62
63
64
65
66
# File 'lib/canvas_sync/concerns/ability_helper.rb', line 57

def initialize(roles = '')
  roles = roles.split(',') if roles.is_a?(String)
  @roles = roles || []

  @context_types = []
  @other_roles = []
  @parsed_roles = HashWithIndifferentAccess.new

  map_roles
end

Instance Attribute Details

#context_typesObject

Returns the value of attribute context_types.



55
56
57
# File 'lib/canvas_sync/concerns/ability_helper.rb', line 55

def context_types
  @context_types
end

#other_rolesObject

Returns the value of attribute other_roles.



55
56
57
# File 'lib/canvas_sync/concerns/ability_helper.rb', line 55

def other_roles
  @other_roles
end

#rolesObject

Returns the value of attribute roles.



55
56
57
# File 'lib/canvas_sync/concerns/ability_helper.rb', line 55

def roles
  @roles
end

Instance Method Details

#context_rolesObject



70
# File 'lib/canvas_sync/concerns/ability_helper.rb', line 70

def context_roles; @parsed_roles[:context] || []; end

#institution_rolesObject



69
# File 'lib/canvas_sync/concerns/ability_helper.rb', line 69

def institution_roles; @parsed_roles[:institution] || []; end

#system_rolesObject



68
# File 'lib/canvas_sync/concerns/ability_helper.rb', line 68

def system_roles; @parsed_roles[:system] || []; end

#to_hObject



72
73
74
75
76
77
78
79
80
# File 'lib/canvas_sync/concerns/ability_helper.rb', line 72

def to_h
  {
    'roles' => roles,
    'context_type' => context_types,
    'system_roles' => system_roles,
    'institution_roles' => institution_roles,
    'context_roles' => context_roles
  }
end