enlight 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +141 -0
- data/.travis.yml +5 -0
- data/Gemfile +6 -0
- data/Gemfile.lock +71 -0
- data/Guardfile +22 -0
- data/README.md +35 -0
- data/Rakefile +10 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/enlight.gemspec +29 -0
- data/get_club_membership_pool.rb +6 -0
- data/lib/enlight.rb +25 -0
- data/lib/enlight/models.rb +10 -0
- data/lib/enlight/models/activity_type.rb +9 -0
- data/lib/enlight/models/announcement.rb +12 -0
- data/lib/enlight/models/class.rb +67 -0
- data/lib/enlight/models/class_enrollment.rb +18 -0
- data/lib/enlight/models/club.rb +16 -0
- data/lib/enlight/models/club_associated_course.rb +11 -0
- data/lib/enlight/models/club_membership.rb +12 -0
- data/lib/enlight/models/club_membership_pool.rb +16 -0
- data/lib/enlight/models/company.rb +26 -0
- data/lib/enlight/models/completion_status.rb +8 -0
- data/lib/enlight/models/course.rb +38 -0
- data/lib/enlight/models/course_activity.rb +25 -0
- data/lib/enlight/models/course_assignment.rb +27 -0
- data/lib/enlight/models/course_catalog_search_history.rb +26 -0
- data/lib/enlight/models/course_external_activity_launch.rb +17 -0
- data/lib/enlight/models/course_feedback.rb +20 -0
- data/lib/enlight/models/course_tag_group.rb +17 -0
- data/lib/enlight/models/custom_field.rb +7 -0
- data/lib/enlight/models/enrollment_status.rb +9 -0
- data/lib/enlight/models/lab_instance.rb +22 -0
- data/lib/enlight/models/location_type.rb +6 -0
- data/lib/enlight/models/model.rb +11 -0
- data/lib/enlight/models/organization.rb +16 -0
- data/lib/enlight/models/public_class.rb +18 -0
- data/lib/enlight/models/question_and_response.rb +7 -0
- data/lib/enlight/models/session_time.rb +7 -0
- data/lib/enlight/models/sign_in_history.rb +16 -0
- data/lib/enlight/models/survey_response.rb +25 -0
- data/lib/enlight/models/tag.rb +7 -0
- data/lib/enlight/models/user.rb +29 -0
- data/lib/enlight/models/user_activity.rb +24 -0
- data/lib/enlight/requests.rb +13 -0
- data/lib/enlight/requests/add_organization_management_to_user.rb +8 -0
- data/lib/enlight/requests/add_user_to_role.rb +8 -0
- data/lib/enlight/requests/create_club_membership.rb +13 -0
- data/lib/enlight/requests/create_club_membership_pool.rb +16 -0
- data/lib/enlight/requests/create_company.rb +26 -0
- data/lib/enlight/requests/create_course_assignment.rb +14 -0
- data/lib/enlight/requests/create_organization.rb +14 -0
- data/lib/enlight/requests/create_user.rb +31 -0
- data/lib/enlight/requests/delete_class_enrollment.rb +6 -0
- data/lib/enlight/requests/delete_club_membership.rb +6 -0
- data/lib/enlight/requests/delete_club_membership_pool.rb +6 -0
- data/lib/enlight/requests/delete_company.rb +6 -0
- data/lib/enlight/requests/delete_course_assignment.rb +6 -0
- data/lib/enlight/requests/delete_organization.rb +6 -0
- data/lib/enlight/requests/delete_user.rb +6 -0
- data/lib/enlight/requests/export_survey_responses.rb +6 -0
- data/lib/enlight/requests/get_active_system_announcements.rb +7 -0
- data/lib/enlight/requests/get_class.rb +6 -0
- data/lib/enlight/requests/get_class_by_class_training_key.rb +6 -0
- data/lib/enlight/requests/get_class_enrollment.rb +17 -0
- data/lib/enlight/requests/get_class_enrollment_by_class_and_user.rb +8 -0
- data/lib/enlight/requests/get_class_enrollment_by_external_id.rb +7 -0
- data/lib/enlight/requests/get_club_membership.rb +6 -0
- data/lib/enlight/requests/get_club_membership_by_external_id.rb +6 -0
- data/lib/enlight/requests/get_company.rb +6 -0
- data/lib/enlight/requests/get_course.rb +6 -0
- data/lib/enlight/requests/get_course_assignment.rb +6 -0
- data/lib/enlight/requests/get_course_assignment_by_external_id.rb +6 -0
- data/lib/enlight/requests/get_organization.rb +6 -0
- data/lib/enlight/requests/get_organization_by_external_id.rb +6 -0
- data/lib/enlight/requests/get_sso_redirect_url.rb +8 -0
- data/lib/enlight/requests/get_user.rb +6 -0
- data/lib/enlight/requests/get_user_by_email.rb +7 -0
- data/lib/enlight/requests/get_user_by_external_id.rb +6 -0
- data/lib/enlight/requests/get_user_roles.rb +6 -0
- data/lib/enlight/requests/remove_organization_management_from_user.rb +8 -0
- data/lib/enlight/requests/remove_user_from_role.rb +8 -0
- data/lib/enlight/requests/request.rb +51 -0
- data/lib/enlight/requests/search_class_enrollments.rb +12 -0
- data/lib/enlight/requests/search_classes.rb +15 -0
- data/lib/enlight/requests/search_club_membership_pools.rb +17 -0
- data/lib/enlight/requests/search_clubs.rb +12 -0
- data/lib/enlight/requests/search_course_assignments.rb +20 -0
- data/lib/enlight/requests/search_course_catalog_search_history.rb +12 -0
- data/lib/enlight/requests/search_course_external_activity_launches.rb +14 -0
- data/lib/enlight/requests/search_course_feedback.rb +12 -0
- data/lib/enlight/requests/search_course_tag_groups.rb +9 -0
- data/lib/enlight/requests/search_courses.rb +17 -0
- data/lib/enlight/requests/search_lab_instances.rb +17 -0
- data/lib/enlight/requests/search_public_class_schedule.rb +11 -0
- data/lib/enlight/requests/search_sign_in_history.rb +12 -0
- data/lib/enlight/requests/search_user_activity.rb +12 -0
- data/lib/enlight/requests/searchable.rb +10 -0
- data/lib/enlight/requests/update_class_enrollment.rb +17 -0
- data/lib/enlight/requests/update_club_membership.rb +13 -0
- data/lib/enlight/requests/update_club_membership_pool.rb +16 -0
- data/lib/enlight/requests/update_company.rb +26 -0
- data/lib/enlight/requests/update_course_assignment.rb +14 -0
- data/lib/enlight/requests/update_organization.rb +14 -0
- data/lib/enlight/requests/update_user.rb +31 -0
- data/lib/enlight/requests/update_user_password.rb +9 -0
- data/lib/enlight/responses.rb +15 -0
- data/lib/enlight/responses/add_organization_management_to_user.rb +6 -0
- data/lib/enlight/responses/add_user_to_role.rb +6 -0
- data/lib/enlight/responses/class_attributable.rb +15 -0
- data/lib/enlight/responses/class_enrollment_attributable.rb +15 -0
- data/lib/enlight/responses/club_membership_attributable.rb +15 -0
- data/lib/enlight/responses/club_membership_pool_attributable.rb +15 -0
- data/lib/enlight/responses/company_attributable.rb +15 -0
- data/lib/enlight/responses/course_assignment_attributable.rb +15 -0
- data/lib/enlight/responses/course_attributable.rb +15 -0
- data/lib/enlight/responses/create_class_enrollment.rb +7 -0
- data/lib/enlight/responses/create_club_membership.rb +7 -0
- data/lib/enlight/responses/create_club_membership_pool.rb +8 -0
- data/lib/enlight/responses/create_company.rb +7 -0
- data/lib/enlight/responses/create_course_assignment.rb +7 -0
- data/lib/enlight/responses/create_organization.rb +7 -0
- data/lib/enlight/responses/create_user.rb +7 -0
- data/lib/enlight/responses/delete_class_enrollment.rb +6 -0
- data/lib/enlight/responses/delete_club_membership.rb +6 -0
- data/lib/enlight/responses/delete_club_membership_pool.rb +6 -0
- data/lib/enlight/responses/delete_company.rb +6 -0
- data/lib/enlight/responses/delete_course_assignment.rb +6 -0
- data/lib/enlight/responses/delete_organization.rb +6 -0
- data/lib/enlight/responses/delete_user.rb +6 -0
- data/lib/enlight/responses/export_survey_responses.rb +19 -0
- data/lib/enlight/responses/get_active_system_announcements.rb +7 -0
- data/lib/enlight/responses/get_class.rb +7 -0
- data/lib/enlight/responses/get_class_by_class_training_key.rb +7 -0
- data/lib/enlight/responses/get_class_enrollment.rb +7 -0
- data/lib/enlight/responses/get_class_enrollment_by_class_and_user.rb +7 -0
- data/lib/enlight/responses/get_class_enrollment_by_external_id.rb +7 -0
- data/lib/enlight/responses/get_club_membership.rb +7 -0
- data/lib/enlight/responses/get_club_membership_by_external_id.rb +7 -0
- data/lib/enlight/responses/get_club_membership_pool.rb +7 -0
- data/lib/enlight/responses/get_company.rb +7 -0
- data/lib/enlight/responses/get_course.rb +7 -0
- data/lib/enlight/responses/get_course_assignment.rb +7 -0
- data/lib/enlight/responses/get_course_assignment_by_external_id.rb +7 -0
- data/lib/enlight/responses/get_organization.rb +7 -0
- data/lib/enlight/responses/get_organization_by_external_id.rb +7 -0
- data/lib/enlight/responses/get_sso_redirect_url.rb +7 -0
- data/lib/enlight/responses/get_user.rb +11 -0
- data/lib/enlight/responses/get_user_by_email.rb +11 -0
- data/lib/enlight/responses/get_user_by_external_id.rb +10 -0
- data/lib/enlight/responses/get_user_roles.rb +7 -0
- data/lib/enlight/responses/organization_attributable.rb +15 -0
- data/lib/enlight/responses/pageable.rb +13 -0
- data/lib/enlight/responses/remove_organization_management_from_user.rb +6 -0
- data/lib/enlight/responses/remove_user_from_role.rb +6 -0
- data/lib/enlight/responses/response.rb +17 -0
- data/lib/enlight/responses/search_class_enrollments.rb +21 -0
- data/lib/enlight/responses/search_classes.rb +16 -0
- data/lib/enlight/responses/search_club_membership_pools.rb +16 -0
- data/lib/enlight/responses/search_clubs.rb +16 -0
- data/lib/enlight/responses/search_course_assignments.rb +16 -0
- data/lib/enlight/responses/search_course_catalog_search_history.rb +16 -0
- data/lib/enlight/responses/search_course_external_activity_launches.rb +16 -0
- data/lib/enlight/responses/search_course_feedback.rb +16 -0
- data/lib/enlight/responses/search_course_tag_groups.rb +16 -0
- data/lib/enlight/responses/search_courses.rb +16 -0
- data/lib/enlight/responses/search_lab_instances.rb +16 -0
- data/lib/enlight/responses/search_public_class_schedule.rb +6 -0
- data/lib/enlight/responses/search_sign_in_history.rb +16 -0
- data/lib/enlight/responses/search_user_activity.rb +16 -0
- data/lib/enlight/responses/status.rb +10 -0
- data/lib/enlight/responses/update_class_enrollment.rb +6 -0
- data/lib/enlight/responses/update_club_membership.rb +6 -0
- data/lib/enlight/responses/update_club_membership_pool.rb +6 -0
- data/lib/enlight/responses/update_company.rb +6 -0
- data/lib/enlight/responses/update_course_assignment.rb +6 -0
- data/lib/enlight/responses/update_organization.rb +6 -0
- data/lib/enlight/responses/update_user.rb +6 -0
- data/lib/enlight/responses/update_user_password.rb +6 -0
- data/lib/enlight/responses/user_attributable.rb +15 -0
- data/lib/enlight/version.rb +3 -0
- metadata +312 -0
@@ -0,0 +1,51 @@
|
|
1
|
+
require 'net/http'
|
2
|
+
require 'active_support/all'
|
3
|
+
|
4
|
+
module Enlight
|
5
|
+
module Requests
|
6
|
+
class Request
|
7
|
+
attr_accessor :id
|
8
|
+
|
9
|
+
def initialize(attributes={})
|
10
|
+
attributes.each {|k,v| send("#{k}=", v)}
|
11
|
+
end
|
12
|
+
|
13
|
+
def fetch
|
14
|
+
data = JSON.parse(Net::HTTP.get(build_uri))
|
15
|
+
|
16
|
+
"Enlight::Responses::#{resource}".constantize.new(data)
|
17
|
+
end
|
18
|
+
|
19
|
+
def resource
|
20
|
+
self.class.to_s.split("::").last
|
21
|
+
end
|
22
|
+
|
23
|
+
def build_uri
|
24
|
+
query_params = {}
|
25
|
+
resource_id = nil
|
26
|
+
|
27
|
+
instance_variables.each do |v|
|
28
|
+
var = v.to_s.delete('@')
|
29
|
+
|
30
|
+
if var == 'id'
|
31
|
+
resource_id = instance_variable_get(v) if var == 'id'
|
32
|
+
else
|
33
|
+
query_params[var.classify] = instance_variable_get(v)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
uri = "#{base_uri}/#{resource}"
|
38
|
+
uri += "/#{resource_id}" if resource_id
|
39
|
+
uri += "?#{query_params.to_query}" if query_params.any?
|
40
|
+
|
41
|
+
URI(uri)
|
42
|
+
end
|
43
|
+
|
44
|
+
private
|
45
|
+
|
46
|
+
def base_uri
|
47
|
+
URI("#{Enlight.configuration.url}/#{Enlight.configuration.integration_key}")
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module Enlight
|
2
|
+
module Requests
|
3
|
+
class SearchClassEnrollments < Enlight::Requests::Request
|
4
|
+
include Enlight::Requests::Searchable
|
5
|
+
|
6
|
+
attr_accessor :class_name
|
7
|
+
attr_accessor :student_id
|
8
|
+
attr_accessor :created_after
|
9
|
+
attr_accessor :created_before
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Enlight
|
2
|
+
module Requests
|
3
|
+
class SearchClasses < Enlight::Requests::Request
|
4
|
+
include Enlight::Requests::Searchable
|
5
|
+
|
6
|
+
attr_accessor :course_id
|
7
|
+
attr_accessor :starts_after
|
8
|
+
attr_accessor :starts_before
|
9
|
+
attr_accessor :ends_after
|
10
|
+
attr_accessor :ends_before
|
11
|
+
attr_accessor :has_labs
|
12
|
+
attr_accessor :available_online
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Enlight
|
2
|
+
module Requests
|
3
|
+
class SearchClubMembershipPools < Enlight::Requests::Request
|
4
|
+
include Enlight::Requests::Searchable
|
5
|
+
|
6
|
+
attr_accessor :name
|
7
|
+
attr_accessor :club_id
|
8
|
+
attr_accessor :owner_id
|
9
|
+
attr_accessor :starts_after
|
10
|
+
attr_accessor :starts_before
|
11
|
+
attr_accessor :expires_after
|
12
|
+
attr_accessor :expires_before
|
13
|
+
attr_accessor :created_after
|
14
|
+
attr_accessor :created_before
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Enlight
|
2
|
+
module Requests
|
3
|
+
class SearchCourseAssignments < Enlight::Requests::Request
|
4
|
+
include Enlight::Requests::Searchable
|
5
|
+
|
6
|
+
attr_accessor :user_id
|
7
|
+
attr_accessor :user_external_id
|
8
|
+
attr_accessor :course_id
|
9
|
+
attr_accessor :completion_status
|
10
|
+
attr_accessor :created_after
|
11
|
+
attr_accessor :created_before
|
12
|
+
attr_accessor :expires_after
|
13
|
+
attr_accessor :expires_before
|
14
|
+
attr_accessor :started_after
|
15
|
+
attr_accessor :started_before
|
16
|
+
attr_accessor :completed_after
|
17
|
+
attr_accessor :completed_before
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module Enlight
|
2
|
+
module Requests
|
3
|
+
class SearchCourseCatalogSearchHistory < Enlight::Requests::Request
|
4
|
+
include Enlight::Requests::Searchable
|
5
|
+
|
6
|
+
attr_accessor :user_id
|
7
|
+
attr_accessor :user_external_id
|
8
|
+
attr_accessor :searched_after
|
9
|
+
attr_accessor :searched_before
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module Enlight
|
2
|
+
module Requests
|
3
|
+
class SearchCourseExternalActivityLaunches < Enlight::Requests::Request
|
4
|
+
include Enlight::Requests::Searchable
|
5
|
+
|
6
|
+
attr_accessor :user_id
|
7
|
+
attr_accessor :user_external_id
|
8
|
+
attr_accessor :course_id
|
9
|
+
attr_accessor :activity_type
|
10
|
+
attr_accessor :launched_after
|
11
|
+
attr_accessor :launched_before
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module Enlight
|
2
|
+
module Requests
|
3
|
+
class SearchCourseFeedback < Enlight::Requests::Request
|
4
|
+
include Enlight::Requests::Searchable
|
5
|
+
|
6
|
+
attr_accessor :course_id
|
7
|
+
attr_accessor :name
|
8
|
+
attr_accessor :created_after
|
9
|
+
attr_accessor :created_before
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Enlight
|
2
|
+
module Requests
|
3
|
+
class SearchCourses < Enlight::Requests::Request
|
4
|
+
include Enlight::Requests::Searchable
|
5
|
+
|
6
|
+
attr_accessor :name
|
7
|
+
attr_accessor :external_id
|
8
|
+
attr_accessor :has_labs
|
9
|
+
attr_accessor :created_after
|
10
|
+
attr_accessor :created_before
|
11
|
+
attr_accessor :last_modified_after
|
12
|
+
attr_accessor :last_modified_before
|
13
|
+
attr_accessor :available_instructor_led
|
14
|
+
attr_accessor :available_self_paced
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Enlight
|
2
|
+
module Requests
|
3
|
+
class SearchLabInstances < Enlight::Requests::Request
|
4
|
+
include Enlight::Requests::Searchable
|
5
|
+
|
6
|
+
attr_accessor :user_id
|
7
|
+
attr_accessor :user_external_id
|
8
|
+
attr_accessor :lab_id
|
9
|
+
attr_accessor :course_id
|
10
|
+
attr_accessor :completion_status
|
11
|
+
attr_accessor :started_after
|
12
|
+
attr_accessor :started_before
|
13
|
+
attr_accessor :ended_after
|
14
|
+
attr_accessor :ended_before
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module Enlight
|
2
|
+
module Requests
|
3
|
+
class SearchSignInHistory < Enlight::Requests::Request
|
4
|
+
include Enlight::Requests::Searchable
|
5
|
+
|
6
|
+
attr_accessor :user_id
|
7
|
+
attr_accessor :user_external_id
|
8
|
+
attr_accessor :after
|
9
|
+
attr_accessor :before
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module Enlight
|
2
|
+
module Requests
|
3
|
+
class SearchUserActivity < Enlight::Requests::Request
|
4
|
+
include Enlight::Requests::Searchable
|
5
|
+
|
6
|
+
attr_accessor :user_id
|
7
|
+
attr_accessor :user_external_id
|
8
|
+
attr_accessor :activity_after
|
9
|
+
attr_accessor :activity_before
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Enlight
|
2
|
+
module Requests
|
3
|
+
class UpdateClassEnrollment < Enlight::Requests::Request
|
4
|
+
attr_accessor :external_id
|
5
|
+
attr_accessor :class_id
|
6
|
+
attr_accessor :user_id
|
7
|
+
attr_accessor :enrollment_status_id
|
8
|
+
attr_accessor :completion_status_id
|
9
|
+
attr_accessor :late_cancel
|
10
|
+
attr_accessor :retake
|
11
|
+
attr_accessor :location_type_id
|
12
|
+
attr_accessor :classroom_id
|
13
|
+
attr_accessor :hours_spent
|
14
|
+
attr_accessor :grade
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module Enlight
|
2
|
+
module Requests
|
3
|
+
class UpdateClubMembership < Enlight::Requests::Request
|
4
|
+
attr_accessor :external_id
|
5
|
+
attr_accessor :club_id
|
6
|
+
attr_accessor :user_id
|
7
|
+
attr_accessor :club_membership_pool_id
|
8
|
+
attr_accessor :starts
|
9
|
+
attr_accessor :expires
|
10
|
+
attr_accessor :target_completion
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Enlight
|
2
|
+
module Requests
|
3
|
+
class UpdateClubMembershipPool < Enlight::Requests::Request
|
4
|
+
attr_accessor :name
|
5
|
+
attr_accessor :size
|
6
|
+
attr_accessor :starts
|
7
|
+
attr_accessor :expires
|
8
|
+
attr_accessor :club_id
|
9
|
+
attr_accessor :company_id
|
10
|
+
attr_accessor :invoice_detail_id
|
11
|
+
attr_accessor :credit_pool_id
|
12
|
+
attr_accessor :credit_cost
|
13
|
+
attr_accessor :credit_list_price
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Enlight
|
2
|
+
module Requests
|
3
|
+
class UpdateCompany < Enlight::Requests::Request
|
4
|
+
attr_accessor :name
|
5
|
+
attr_accessor :external_id
|
6
|
+
attr_accessor :description
|
7
|
+
attr_accessor :organization_id
|
8
|
+
attr_accessor :owning_user_id
|
9
|
+
attr_accessor :assignable_to_users
|
10
|
+
attr_accessor :theme
|
11
|
+
attr_accessor :address1
|
12
|
+
attr_accessor :address2
|
13
|
+
attr_accessor :city
|
14
|
+
attr_accessor :state
|
15
|
+
attr_accessor :zip
|
16
|
+
attr_accessor :country
|
17
|
+
attr_accessor :email
|
18
|
+
attr_accessor :phone
|
19
|
+
attr_accessor :phone2
|
20
|
+
attr_accessor :fax
|
21
|
+
attr_accessor :web_site_url
|
22
|
+
attr_accessor :custom_dropdown1
|
23
|
+
attr_accessor :custom_dropdown2
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module Enlight
|
2
|
+
module Requests
|
3
|
+
class UpdateCourseAssignment < Enlight::Requests::Request
|
4
|
+
attr_accessor :external_id
|
5
|
+
attr_accessor :course_id
|
6
|
+
attr_accessor :user_id
|
7
|
+
attr_accessor :club_membership_id
|
8
|
+
attr_accessor :started
|
9
|
+
attr_accessor :expires
|
10
|
+
attr_accessor :target_completion
|
11
|
+
attr_accessor :completed
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|