Class: SakaiInfo::SiteMembership
Instance Attribute Summary collapse
Attributes inherited from SakaiObject
#id
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from SakaiObject
all_serializations, #dbrow_only_serialization, #dbrow_serialization, #object_type_serialization, #serialize, #to_json, #to_yaml
Constructor Details
#initialize(site_id, user_id, role) ⇒ SiteMembership
Returns a new instance of SiteMembership.
430
431
432
433
434
|
# File 'lib/sakai-info/site.rb', line 430
def initialize(site_id, user_id, role)
@site = Site.find(site_id)
@user = User.find(user_id)
@role = AuthzRole.find(role)
end
|
Instance Attribute Details
#role ⇒ Object
Returns the value of attribute role.
428
429
430
|
# File 'lib/sakai-info/site.rb', line 428
def role
@role
end
|
#site ⇒ Object
Returns the value of attribute site.
428
429
430
|
# File 'lib/sakai-info/site.rb', line 428
def site
@site
end
|
#user ⇒ Object
Returns the value of attribute user.
428
429
430
|
# File 'lib/sakai-info/site.rb', line 428
def user
@user
end
|
Class Method Details
.find_by_site_id(site_id) ⇒ Object
436
437
438
439
440
441
442
443
444
445
446
|
# File 'lib/sakai-info/site.rb', line 436
def self.find_by_site_id(site_id)
results = []
DB.connect.fetch("select srrg.user_id, srr.role_name " +
"from sakai_realm_rl_gr srrg, sakai_realm_role srr, sakai_realm sr " +
"where srrg.role_key = srr.role_key " +
"and srrg.realm_key = sr.realm_key " +
"and sr.realm_id = '/site/' || ? ", site_id) do |row|
results << SiteMembership.new(site_id, row[:user_id], row[:role_name])
end
results
end
|
.find_by_user_id(user_id) ⇒ Object
448
449
450
451
452
453
454
455
456
457
458
459
460
|
# File 'lib/sakai-info/site.rb', line 448
def self.find_by_user_id(user_id)
results = []
DB.connect.fetch("select substr(sr.realm_id,7) as site_id, srr.role_name as role_name " +
"from sakai_realm_rl_gr srrg, sakai_realm_role srr, sakai_realm sr " +
"where srrg.role_key = srr.role_key " +
"and srrg.realm_key = sr.realm_key " +
"and srrg.user_id = ? " +
"and sr.realm_id like '/site/%' " +
"and sr.realm_id not like '%/group/%'", user_id) do |row|
results << SiteMembership.new(row[:site_id], user_id, row[:role_name])
end
results
end
|
Instance Method Details
#default_serialization ⇒ Object
462
463
464
465
466
467
468
|
# File 'lib/sakai-info/site.rb', line 462
def default_serialization
{
"site" => self.site.serialize(:summary),
"user" => self.user.serialize(:summary),
"role" => self.role.name
}
end
|
#site_summary_serialization ⇒ Object
489
490
491
492
493
494
495
496
|
# File 'lib/sakai-info/site.rb', line 489
def site_summary_serialization
{
"user_id" => self.user.id,
"user_eid" => self.user.eid,
"user_type" => self.user.type,
"role" => self.role.name
}
end
|
#summary_serialization ⇒ Object
470
471
472
473
474
475
476
477
478
479
|
# File 'lib/sakai-info/site.rb', line 470
def summary_serialization
{
"site_id" => self.site.id,
"site_title" => self.site.title,
"user_id" => self.user.id,
"user_eid" => self.user.eid,
"user_type" => self.user.type,
"role" => self.role.name
}
end
|
#user_summary_serialization ⇒ Object
481
482
483
484
485
486
487
|
# File 'lib/sakai-info/site.rb', line 481
def user_summary_serialization
{
"site_id" => self.site.id,
"site_title" => self.site.title,
"role" => self.role.name
}
end
|