Class: Enlight::Requests::Request
- Inherits:
-
Object
- Object
- Enlight::Requests::Request
show all
- Defined in:
- lib/enlight/requests/request.rb
Direct Known Subclasses
AddOrganizationManagementToUser, AddUserToRole, CreateClubMembership, CreateClubMembershipPool, CreateCompany, CreateCourseAssignment, CreateOrganization, CreateUser, DeleteClassEnrollment, DeleteClubMembership, DeleteClubMembershipPool, DeleteCompany, DeleteCourseAssignment, DeleteOrganization, DeleteUser, ExportSurveyResponses, GetActiveSystemAnnouncements, GetClass, GetClassByClassTrainingKey, GetClassEnrollment, GetClassEnrollmentByClassAndUser, GetClassEnrollmentByExternalId, GetClubMembership, GetClubMembershipByExternalId, GetClubMembershipPool, GetCompany, GetCourse, GetCourseAssignment, GetCourseAssignmentByExternalId, GetOrganization, GetOrganizationByExternalId, GetSsoRedirectUrl, GetUser, GetUserByEmail, GetUserByExternalId, GetUserRoles, RemoveOrganizationManagementFromUser, RemoveUserFromRole, SearchClassEnrollments, SearchClasses, SearchClubMembershipPools, SearchClubs, SearchCourseAssignments, SearchCourseCatalogSearchHistory, SearchCourseExternalActivityLaunches, SearchCourseFeedback, SearchCourseTagGroups, SearchCourses, SearchLabInstances, SearchPublicClassSchedule, SearchSignInHistory, SearchUserActivity, UpdateClassEnrollment, UpdateClubMembership, UpdateClubMembershipPool, UpdateCompany, UpdateCourseAssignment, UpdateOrganization, UpdateUser, UpdateUserPassword
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(attributes = {}) ⇒ Request
9
10
11
|
# File 'lib/enlight/requests/request.rb', line 9
def initialize(attributes = {})
attributes.each {|k,v| send("#{k}=", v) if respond_to?(k)}
end
|
Instance Attribute Details
#id ⇒ Object
Returns the value of attribute id.
7
8
9
|
# File 'lib/enlight/requests/request.rb', line 7
def id
@id
end
|
Instance Method Details
#build_uri ⇒ Object
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# File 'lib/enlight/requests/request.rb', line 23
def build_uri
query_params = {}
resource_id = nil
instance_variables.each do |v|
var = v.to_s.delete('@')
if var == 'id'
resource_id = instance_variable_get(v) if var == 'id'
else
query_params[var.camelcase] = instance_variable_get(v)
end
end
uri = "#{base_uri}/#{resource}"
uri += "/#{resource_id}" if resource_id
uri += "?#{query_params.to_query}" if query_params.any?
URI(uri)
end
|
#fetch ⇒ Object
13
14
15
16
17
|
# File 'lib/enlight/requests/request.rb', line 13
def fetch
data = JSON.parse(Net::HTTP.get(build_uri))
"Enlight::Responses::#{resource}".constantize.new(data)
end
|
#resource ⇒ Object
19
20
21
|
# File 'lib/enlight/requests/request.rb', line 19
def resource
self.class.to_s.split("::").last
end
|