pandarus 0.4.9 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. checksums.yaml +7 -0
  2. data/lib/pandarus/model_base.rb +18 -73
  3. data/lib/pandarus/models.rb +13 -2
  4. data/lib/pandarus/models/account.rb +16 -21
  5. data/lib/pandarus/models/account_authorization_config.rb +23 -28
  6. data/lib/pandarus/models/admin.rb +8 -13
  7. data/lib/pandarus/models/answer.rb +18 -23
  8. data/lib/pandarus/models/assignment.rb +54 -58
  9. data/lib/pandarus/models/assignment_date.rb +10 -15
  10. data/lib/pandarus/models/assignment_group.rb +10 -15
  11. data/lib/pandarus/models/assignment_override.rb +15 -20
  12. data/lib/pandarus/models/avatar.rb +12 -17
  13. data/lib/pandarus/models/calendar_event.rb +33 -38
  14. data/lib/pandarus/models/calendar_link.rb +5 -10
  15. data/lib/pandarus/models/collaborator.rb +7 -12
  16. data/lib/pandarus/models/column_datum.rb +6 -11
  17. data/lib/pandarus/models/comm_message.rb +14 -19
  18. data/lib/pandarus/models/communication_channel.rb +10 -15
  19. data/lib/pandarus/models/completion_requirement.rb +7 -12
  20. data/lib/pandarus/models/conference.rb +18 -23
  21. data/lib/pandarus/models/conference_recording.rb +9 -14
  22. data/lib/pandarus/models/content_details.rb +11 -16
  23. data/lib/pandarus/models/content_export.rb +11 -16
  24. data/lib/pandarus/models/content_migration.rb +15 -20
  25. data/lib/pandarus/models/conversation.rb +20 -25
  26. data/lib/pandarus/models/course.rb +37 -40
  27. data/lib/pandarus/models/course_event.rb +10 -15
  28. data/lib/pandarus/models/course_event_link.rb +10 -15
  29. data/lib/pandarus/models/course_progress.rb +8 -13
  30. data/lib/pandarus/models/custom_column.rb +7 -12
  31. data/lib/pandarus/models/day.rb +6 -11
  32. data/lib/pandarus/models/discovery_url.rb +5 -10
  33. data/lib/pandarus/models/discussion_topic.rb +41 -0
  34. data/lib/pandarus/models/enrollment.rb +27 -32
  35. data/lib/pandarus/models/enrollment_term.rb +10 -15
  36. data/lib/pandarus/models/external_feed.rb +10 -15
  37. data/lib/pandarus/models/external_tool_tag_attributes.rb +7 -12
  38. data/lib/pandarus/models/favorite.rb +6 -11
  39. data/lib/pandarus/models/feature.rb +13 -18
  40. data/lib/pandarus/models/feature_flag.rb +10 -15
  41. data/lib/pandarus/models/file.rb +21 -25
  42. data/lib/pandarus/models/file_attachment.rb +15 -0
  43. data/lib/pandarus/models/folder.rb +23 -28
  44. data/lib/pandarus/models/grade.rb +9 -14
  45. data/lib/pandarus/models/grade_change_event.rb +12 -17
  46. data/lib/pandarus/models/grade_change_event_links.rb +9 -14
  47. data/lib/pandarus/models/grader.rb +7 -12
  48. data/lib/pandarus/models/grading_rules.rb +7 -12
  49. data/lib/pandarus/models/grading_scheme_entry.rb +6 -11
  50. data/lib/pandarus/models/grading_standard.rb +9 -14
  51. data/lib/pandarus/models/group.rb +20 -25
  52. data/lib/pandarus/models/group_category.rb +13 -18
  53. data/lib/pandarus/models/group_membership.rb +11 -16
  54. data/lib/pandarus/models/lock_info.rb +9 -14
  55. data/lib/pandarus/models/media_comment.rb +16 -0
  56. data/lib/pandarus/models/migration_issue.rb +14 -19
  57. data/lib/pandarus/models/migrator.rb +8 -13
  58. data/lib/pandarus/models/module.rb +17 -22
  59. data/lib/pandarus/models/module_item.rb +18 -23
  60. data/lib/pandarus/models/module_item_sequence.rb +6 -11
  61. data/lib/pandarus/models/needs_grading_count.rb +13 -0
  62. data/lib/pandarus/models/notification_preference.rb +8 -13
  63. data/lib/pandarus/models/outcome.rb +16 -21
  64. data/lib/pandarus/models/outcome_group.rb +16 -21
  65. data/lib/pandarus/models/outcome_link.rb +9 -14
  66. data/lib/pandarus/models/page.rb +17 -22
  67. data/lib/pandarus/models/page_revision.rb +11 -16
  68. data/lib/pandarus/models/page_view.rb +20 -25
  69. data/lib/pandarus/models/page_view_links.rb +9 -14
  70. data/lib/pandarus/models/profile.rb +18 -23
  71. data/lib/pandarus/models/progress.rb +15 -20
  72. data/lib/pandarus/models/quiz.rb +39 -44
  73. data/lib/pandarus/models/quiz_assignment_override.rb +17 -0
  74. data/lib/pandarus/models/quiz_assignment_override_set.rb +14 -0
  75. data/lib/pandarus/models/quiz_assignment_override_set_container.rb +12 -0
  76. data/lib/pandarus/models/quiz_permissions.rb +11 -16
  77. data/lib/pandarus/models/quiz_question.rb +15 -20
  78. data/lib/pandarus/models/quiz_report.rb +17 -22
  79. data/lib/pandarus/models/quiz_submission_question.rb +14 -0
  80. data/lib/pandarus/models/report.rb +10 -15
  81. data/lib/pandarus/models/report_parameters.rb +22 -27
  82. data/lib/pandarus/models/role.rb +9 -14
  83. data/lib/pandarus/models/rubric_criteria.rb +8 -13
  84. data/lib/pandarus/models/rubric_rating.rb +7 -12
  85. data/lib/pandarus/models/section.rb +14 -19
  86. data/lib/pandarus/models/sis_import.rb +18 -18
  87. data/lib/pandarus/models/sis_import_counts.rb +15 -20
  88. data/lib/pandarus/models/sis_import_data.rb +7 -12
  89. data/lib/pandarus/models/submission.rb +29 -0
  90. data/lib/pandarus/models/submission_comment.rb +17 -0
  91. data/lib/pandarus/models/submission_history.rb +6 -11
  92. data/lib/pandarus/models/submission_version.rb +27 -32
  93. data/lib/pandarus/models/tab.rb +11 -16
  94. data/lib/pandarus/models/term.rb +8 -13
  95. data/lib/pandarus/models/turnitin_settings.rb +12 -17
  96. data/lib/pandarus/models/user.rb +18 -23
  97. data/lib/pandarus/v1_api.rb +3863 -3483
  98. data/lib/pandarus/version.rb +1 -1
  99. data/pandarus.gemspec +2 -0
  100. data/spec/model_base_spec.rb +4 -7
  101. data/spec/user_spec.rb +2 -6
  102. metadata +60 -38
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: a0e31cee916d90794168ab36f9aacdfbbe6439ec
4
+ data.tar.gz: 132801e9f46e9384b94be14fb582a95266839f54
5
+ SHA512:
6
+ metadata.gz: 2477741b2c6501f1438e0b41736646d26f95c0a2fbc00afcd10a61d81f20349ce6355dc8adc4c96ae31d70c306cd415dc3e5fd9de654536ca15aa5f337faef54
7
+ data.tar.gz: e3084d6934c97c1a523664f9a166faf2fb7e0f6bf6eea8efd3acae336aa4bcf5d6f2cce1d1fc08ac2940412fde6fcda146f8361d08afae68acab9bb8e8776fe3
@@ -1,83 +1,28 @@
1
1
  require 'active_support'
2
2
  require 'active_support/inflector'
3
3
  require 'date'
4
-
4
+
5
5
  module Pandarus
6
6
  class ModelBase
7
- def initialize(attributes = {})
8
- return if attributes.empty?
9
- attributes.each_pair do |name, value|
10
- assign(name, value)
11
- end
12
- end
13
-
14
- def attr(name)
15
- self.class.attribute_map[name.to_sym]
16
- end
17
-
18
- def has_attr?(name)
19
- self.class.attribute_map.has_key? name.to_sym
20
- end
21
-
22
- def to_hash
23
- Hash[
24
- self.class.attribute_map.keys.map do |key|
25
- [key, instance_variable_get("@#{key}")]
26
- end
27
- ]
28
- end
29
-
30
- def inspect
31
- to_hash.inspect.sub(/^\{/,"<#{self.class} ").sub(/\}$/,'>')
32
- end
7
+ BUILTIN_TYPES = %w(
8
+ Float
9
+ Integer
10
+ String
11
+ Date
12
+ DateTime
13
+ Hash
14
+ Array
15
+ )
33
16
 
34
- def vivify(constant_name, value)
35
- klass = begin
36
- # Try Ruby built-in constants first
37
- constant_name.constantize
38
- rescue NameError
39
- # Pandarus models second
40
- "Pandarus::#{constant_name}".constantize
41
- end
42
- begin
43
- # Check if the constant is a method, e.g. Integer(), Float()
44
- send(constant_name, value)
45
- rescue NoMethodError
46
- # Otherwise, it's probably a class
47
- if klass.respond_to?(:parse)
48
- # Some classes convert strings with "parse", e.g. DateTime
49
- klass.parse(value)
50
- else
51
- # Most classes just need to be passed the value
52
- klass.new(value)
53
- end
54
- end
55
- end
56
-
57
- def assign(attr_name, value)
58
- props = attr(attr_name)
59
- return if props.nil?
60
-
61
- if props[:type]
62
- if props[:container]
63
- value = value.map{ |v| vivify(props[:type], v) }
64
- elsif !value.nil?
65
- value = vivify(props[:type], value)
66
- end
67
- end
68
- instance_variable_set("@#{attr_name}", value)
69
- rescue TypeError => e
70
- raise e, e.to_s + " (#{self.class}, #{props.inspect})"
71
- end
72
-
73
- def to_body
74
- body = {}
75
- self.class.attribute_map.each_pair do |key, props|
76
- unless (value = self.send(key).nil?)
77
- body[props[:external]] = value
78
- end
17
+ def self.resolve_type type_name, opts = {}
18
+ qualified_type = BUILTIN_TYPES.include?(type_name) ? type_name : "Pandarus::#{type_name}"
19
+ if type_name == "Map" || type_name.nil?
20
+ return "String"
21
+ elsif opts[:collection]
22
+ return Array[qualified_type]
23
+ else
24
+ return qualified_type
79
25
  end
80
- body
81
26
  end
82
27
  end
83
28
  end
@@ -1,15 +1,19 @@
1
- # This is an autogenerated file. See readme.md.
1
+ # This is an autogenerated file. See readme.md har har.
2
+ require 'inflecto'
3
+ require 'virtus'
2
4
  require 'pandarus/models/sis_import_counts'
3
5
  require 'pandarus/models/report_parameters'
4
6
  require 'pandarus/models/term'
5
7
  require 'pandarus/models/content_export'
6
8
  require 'pandarus/models/tab'
9
+ require 'pandarus/models/quiz_assignment_override_set'
7
10
  require 'pandarus/models/conversation'
8
11
  require 'pandarus/models/admin'
9
12
  require 'pandarus/models/conference_recording'
10
13
  require 'pandarus/models/account_authorization_config'
11
14
  require 'pandarus/models/role'
12
15
  require 'pandarus/models/content_details'
16
+ require 'pandarus/models/quiz_submission_question'
13
17
  require 'pandarus/models/assignment_group'
14
18
  require 'pandarus/models/group_category'
15
19
  require 'pandarus/models/custom_column'
@@ -25,9 +29,11 @@ require 'pandarus/models/rubric_rating'
25
29
  require 'pandarus/models/grading_standard'
26
30
  require 'pandarus/models/calendar_link'
27
31
  require 'pandarus/models/module_item_sequence'
32
+ require 'pandarus/models/submission'
28
33
  require 'pandarus/models/quiz'
29
34
  require 'pandarus/models/comm_message'
30
35
  require 'pandarus/models/assignment_override'
36
+ require 'pandarus/models/submission_comment'
31
37
  require 'pandarus/models/enrollment_term'
32
38
  require 'pandarus/models/course_progress'
33
39
  require 'pandarus/models/page_view'
@@ -43,6 +49,8 @@ require 'pandarus/models/profile'
43
49
  require 'pandarus/models/column_datum'
44
50
  require 'pandarus/models/file'
45
51
  require 'pandarus/models/grading_scheme_entry'
52
+ require 'pandarus/models/media_comment'
53
+ require 'pandarus/models/discussion_topic'
46
54
  require 'pandarus/models/page'
47
55
  require 'pandarus/models/turnitin_settings'
48
56
  require 'pandarus/models/assignment_date'
@@ -67,10 +75,12 @@ require 'pandarus/models/module_item'
67
75
  require 'pandarus/models/grading_rules'
68
76
  require 'pandarus/models/outcome'
69
77
  require 'pandarus/models/external_feed'
78
+ require 'pandarus/models/quiz_assignment_override'
70
79
  require 'pandarus/models/feature'
71
80
  require 'pandarus/models/communication_channel'
72
81
  require 'pandarus/models/quiz_question'
73
82
  require 'pandarus/models/progress'
83
+ require 'pandarus/models/needs_grading_count'
74
84
  require 'pandarus/models/avatar'
75
85
  require 'pandarus/models/quiz_permissions'
76
86
  require 'pandarus/models/lock_info'
@@ -80,6 +90,7 @@ require 'pandarus/models/conference'
80
90
  require 'pandarus/models/external_tool_tag_attributes'
81
91
  require 'pandarus/models/group_membership'
82
92
  require 'pandarus/models/quiz_report'
93
+ require 'pandarus/models/file_attachment'
83
94
  require 'pandarus/models/answer'
84
95
  require 'pandarus/models/account'
85
-
96
+ Virtus.finalize
@@ -1,28 +1,23 @@
1
- require "pandarus/model_base"
2
-
3
1
  # This is an autogenerated file. See readme.md.
2
+ require 'pandarus/model_base'
3
+
4
4
  module Pandarus
5
5
  class Account < ModelBase
6
- attr_accessor :id, :name, :parent_account_id, :root_account_id, :default_storage_quota_mb, :default_user_storage_quota_mb, :default_group_storage_quota_mb, :default_time_zone, :sis_account_id, :integration_id, :sis_import_id, :workflow_state
7
-
8
-
9
- def self.attribute_map
10
- {
11
- :id => {:external => "id", :container => false, :type => "Integer"},
12
- :name => {:external => "name", :container => false, :type => "String"},
13
- :parent_account_id => {:external => "parent_account_id", :container => false, :type => "Integer"},
14
- :root_account_id => {:external => "root_account_id", :container => false, :type => "Integer"},
15
- :default_storage_quota_mb => {:external => "default_storage_quota_mb", :container => false, :type => "Integer"},
16
- :default_user_storage_quota_mb => {:external => "default_user_storage_quota_mb", :container => false, :type => "Integer"},
17
- :default_group_storage_quota_mb => {:external => "default_group_storage_quota_mb", :container => false, :type => "Integer"},
18
- :default_time_zone => {:external => "default_time_zone", :container => false, :type => "String"},
19
- :sis_account_id => {:external => "sis_account_id", :container => false, :type => "String"},
20
- :integration_id => {:external => "integration_id", :container => false, :type => "String"},
21
- :sis_import_id => {:external => "sis_import_id", :container => false, :type => "Integer"},
22
- :workflow_state => {:external => "workflow_state", :container => false, :type => "String"}
6
+ include Virtus.model(finalize: false)
23
7
 
24
- }
25
- end
8
+ attribute :id, resolve_type("Integer")
9
+ attribute :name, resolve_type("String")
10
+ attribute :parent_account_id, resolve_type("Integer")
11
+ attribute :root_account_id, resolve_type("Integer")
12
+ attribute :default_storage_quota_mb, resolve_type("Integer")
13
+ attribute :default_user_storage_quota_mb, resolve_type("Integer")
14
+ attribute :default_group_storage_quota_mb, resolve_type("Integer")
15
+ attribute :default_time_zone, resolve_type("String")
16
+ attribute :sis_account_id, resolve_type("String")
17
+ attribute :integration_id, resolve_type("String")
18
+ attribute :sis_import_id, resolve_type("Integer")
19
+ attribute :workflow_state, resolve_type("String")
20
+
26
21
  end
27
22
  end
28
23
 
@@ -1,35 +1,30 @@
1
- require "pandarus/model_base"
2
-
3
1
  # This is an autogenerated file. See readme.md.
2
+ require 'pandarus/model_base'
3
+
4
4
  module Pandarus
5
5
  class AccountAuthorizationConfig < ModelBase
6
- attr_accessor :login_handle_name, :identifier_format, :auth_type, :id, :log_out_url, :log_in_url, :certificate_fingerprint, :change_password_url, :requested_authn_context, :auth_host, :auth_filter, :auth_over_tls, :auth_base, :auth_username, :auth_port, :position, :idp_entity_id, :login_attribute, :unknown_user_url
7
-
8
-
9
- def self.attribute_map
10
- {
11
- :login_handle_name => {:external => "login_handle_name", :container => false, :type => "String"},
12
- :identifier_format => {:external => "identifier_format", :container => false, :type => "String"},
13
- :auth_type => {:external => "auth_type", :container => false, :type => "String"},
14
- :id => {:external => "id", :container => false, :type => "Integer"},
15
- :log_out_url => {:external => "log_out_url", :container => false, :type => "String"},
16
- :log_in_url => {:external => "log_in_url", :container => false, :type => "String"},
17
- :certificate_fingerprint => {:external => "certificate_fingerprint", :container => false, :type => "String"},
18
- :change_password_url => {:external => "change_password_url", :container => false, :type => "String"},
19
- :requested_authn_context => {:external => "requested_authn_context", :container => false, :type => "String"},
20
- :auth_host => {:external => "auth_host", :container => false, :type => "String"},
21
- :auth_filter => {:external => "auth_filter", :container => false, :type => "String"},
22
- :auth_over_tls => {:external => "auth_over_tls", :container => false, :type => "Integer"},
23
- :auth_base => {:external => "auth_base", :container => false, :type => "String"},
24
- :auth_username => {:external => "auth_username", :container => false, :type => "String"},
25
- :auth_port => {:external => "auth_port", :container => false, :type => "Integer"},
26
- :position => {:external => "position", :container => false, :type => "Integer"},
27
- :idp_entity_id => {:external => "idp_entity_id", :container => false, :type => "String"},
28
- :login_attribute => {:external => "login_attribute", :container => false, :type => "String"},
29
- :unknown_user_url => {:external => "unknown_user_url", :container => false, :type => "String"}
6
+ include Virtus.model(finalize: false)
30
7
 
31
- }
32
- end
8
+ attribute :login_handle_name, resolve_type("String")
9
+ attribute :identifier_format, resolve_type("String")
10
+ attribute :auth_type, resolve_type("String")
11
+ attribute :id, resolve_type("Integer")
12
+ attribute :log_out_url, resolve_type("String")
13
+ attribute :log_in_url, resolve_type("String")
14
+ attribute :certificate_fingerprint, resolve_type("String")
15
+ attribute :change_password_url, resolve_type("String")
16
+ attribute :requested_authn_context, resolve_type("String")
17
+ attribute :auth_host, resolve_type("String")
18
+ attribute :auth_filter, resolve_type("String")
19
+ attribute :auth_over_tls, resolve_type("Integer")
20
+ attribute :auth_base, resolve_type("String")
21
+ attribute :auth_username, resolve_type("String")
22
+ attribute :auth_port, resolve_type("Integer")
23
+ attribute :position, resolve_type("Integer")
24
+ attribute :idp_entity_id, resolve_type("String")
25
+ attribute :login_attribute, resolve_type("String")
26
+ attribute :unknown_user_url, resolve_type("String")
27
+
33
28
  end
34
29
  end
35
30
 
@@ -1,20 +1,15 @@
1
- require "pandarus/model_base"
2
-
3
1
  # This is an autogenerated file. See readme.md.
2
+ require 'pandarus/model_base'
3
+
4
4
  module Pandarus
5
5
  class Admin < ModelBase
6
- attr_accessor :id, :role, :user, :status
7
-
8
-
9
- def self.attribute_map
10
- {
11
- :id => {:external => "id", :container => false, :type => "Integer"},
12
- :role => {:external => "role", :container => false, :type => "String"},
13
- :user => {:external => "user", :container => false, :type => "User"},
14
- :status => {:external => "status", :container => false, :type => "String"}
6
+ include Virtus.model(finalize: false)
15
7
 
16
- }
17
- end
8
+ attribute :id, resolve_type("Integer")
9
+ attribute :role, resolve_type("String")
10
+ attribute :user, resolve_type("User")
11
+ attribute :status, resolve_type("String")
12
+
18
13
  end
19
14
  end
20
15
 
@@ -1,30 +1,25 @@
1
- require "pandarus/model_base"
2
-
3
1
  # This is an autogenerated file. See readme.md.
2
+ require 'pandarus/model_base'
3
+
4
4
  module Pandarus
5
5
  class Answer < ModelBase
6
- attr_accessor :id, :answer_text, :answer_weight, :answer_comments, :text_after_answers, :answer_match_left, :answer_match_right, :matching_answer_incorrect_matches, :numerical_answer_type, :exact, :margin, :start, :end, :blank_id
7
-
8
-
9
- def self.attribute_map
10
- {
11
- :id => {:external => "id", :container => false, :type => nil},
12
- :answer_text => {:external => "answer_text", :container => false, :type => "String"},
13
- :answer_weight => {:external => "answer_weight", :container => false, :type => nil},
14
- :answer_comments => {:external => "answer_comments", :container => false, :type => "String"},
15
- :text_after_answers => {:external => "text_after_answers", :container => false, :type => "String"},
16
- :answer_match_left => {:external => "answer_match_left", :container => false, :type => "String"},
17
- :answer_match_right => {:external => "answer_match_right", :container => false, :type => "String"},
18
- :matching_answer_incorrect_matches => {:external => "matching_answer_incorrect_matches", :container => false, :type => "String"},
19
- :numerical_answer_type => {:external => "numerical_answer_type", :container => false, :type => "String"},
20
- :exact => {:external => "exact", :container => false, :type => nil},
21
- :margin => {:external => "margin", :container => false, :type => nil},
22
- :start => {:external => "start", :container => false, :type => nil},
23
- :end => {:external => "end", :container => false, :type => nil},
24
- :blank_id => {:external => "blank_id", :container => false, :type => nil}
6
+ include Virtus.model(finalize: false)
25
7
 
26
- }
27
- end
8
+ attribute :id, resolve_type(nil)
9
+ attribute :answer_text, resolve_type("String")
10
+ attribute :answer_weight, resolve_type(nil)
11
+ attribute :answer_comments, resolve_type("String")
12
+ attribute :text_after_answers, resolve_type("String")
13
+ attribute :answer_match_left, resolve_type("String")
14
+ attribute :answer_match_right, resolve_type("String")
15
+ attribute :matching_answer_incorrect_matches, resolve_type("String")
16
+ attribute :numerical_answer_type, resolve_type("String")
17
+ attribute :exact, resolve_type(nil)
18
+ attribute :margin, resolve_type(nil)
19
+ attribute :start, resolve_type(nil)
20
+ attribute :end, resolve_type(nil)
21
+ attribute :blank_id, resolve_type(nil)
22
+
28
23
  end
29
24
  end
30
25
 
@@ -1,65 +1,61 @@
1
- require "pandarus/model_base"
2
-
3
1
  # This is an autogenerated file. See readme.md.
2
+ require 'pandarus/model_base'
3
+
4
4
  module Pandarus
5
5
  class Assignment < ModelBase
6
- attr_accessor :id, :name, :description, :created_at, :updated_at, :due_at, :lock_at, :unlock_at, :all_dates, :course_id, :html_url, :assignment_group_id, :allowed_extensions, :turnitin_enabled, :turnitin_settings, :grade_group_students_individually, :external_tool_tag_attributes, :peer_reviews, :automatic_peer_reviews, :peer_review_count, :peer_reviews_assign_at, :group_category_id, :needs_grading_count, :position, :post_to_sis, :integration_id, :integration_data, :muted, :points_possible, :submission_types, :grading_type, :grading_standard_id, :published, :unpublishable, :only_visible_to_overrides, :locked_for_user, :lock_info, :lock_explanation, :quiz_id, :anonymous_submissions, :discussion_topic, :freeze_on_copy, :frozen, :frozen_attributes, :submission, :use_rubric_for_grading, :rubric_settings, :rubric, :assignment_visibility
7
-
8
-
9
- def self.attribute_map
10
- {
11
- :id => {:external => "id", :container => false, :type => "Integer"},
12
- :name => {:external => "name", :container => false, :type => "String"},
13
- :description => {:external => "description", :container => false, :type => "String"},
14
- :created_at => {:external => "created_at", :container => false, :type => "DateTime"},
15
- :updated_at => {:external => "updated_at", :container => false, :type => "DateTime"},
16
- :due_at => {:external => "due_at", :container => false, :type => "DateTime"},
17
- :lock_at => {:external => "lock_at", :container => false, :type => "DateTime"},
18
- :unlock_at => {:external => "unlock_at", :container => false, :type => "DateTime"},
19
- :all_dates => {:external => "all_dates", :container => true, :type => "AssignmentDate"},
20
- :course_id => {:external => "course_id", :container => false, :type => "Integer"},
21
- :html_url => {:external => "html_url", :container => false, :type => "String"},
22
- :assignment_group_id => {:external => "assignment_group_id", :container => false, :type => "Integer"},
23
- :allowed_extensions => {:external => "allowed_extensions", :container => true, :type => "String"},
24
- :turnitin_enabled => {:external => "turnitin_enabled", :container => false, :type => nil},
25
- :turnitin_settings => {:external => "turnitin_settings", :container => false, :type => "TurnitinSettings"},
26
- :grade_group_students_individually => {:external => "grade_group_students_individually", :container => false, :type => nil},
27
- :external_tool_tag_attributes => {:external => "external_tool_tag_attributes", :container => false, :type => "ExternalToolTagAttributes"},
28
- :peer_reviews => {:external => "peer_reviews", :container => false, :type => nil},
29
- :automatic_peer_reviews => {:external => "automatic_peer_reviews", :container => false, :type => nil},
30
- :peer_review_count => {:external => "peer_review_count", :container => false, :type => "Integer"},
31
- :peer_reviews_assign_at => {:external => "peer_reviews_assign_at", :container => false, :type => "DateTime"},
32
- :group_category_id => {:external => "group_category_id", :container => false, :type => "Integer"},
33
- :needs_grading_count => {:external => "needs_grading_count", :container => false, :type => "Integer"},
34
- :position => {:external => "position", :container => false, :type => "Integer"},
35
- :post_to_sis => {:external => "post_to_sis", :container => false, :type => nil},
36
- :integration_id => {:external => "integration_id", :container => false, :type => "String"},
37
- :integration_data => {:external => "integration_data", :container => false, :type => "String"},
38
- :muted => {:external => "muted", :container => false, :type => nil},
39
- :points_possible => {:external => "points_possible", :container => false, :type => "Integer"},
40
- :submission_types => {:external => "submission_types", :container => true, :type => "String"},
41
- :grading_type => {:external => "grading_type", :container => false, :type => "String"},
42
- :grading_standard_id => {:external => "grading_standard_id", :container => false, :type => "Integer"},
43
- :published => {:external => "published", :container => false, :type => nil},
44
- :unpublishable => {:external => "unpublishable", :container => false, :type => nil},
45
- :only_visible_to_overrides => {:external => "only_visible_to_overrides", :container => false, :type => nil},
46
- :locked_for_user => {:external => "locked_for_user", :container => false, :type => nil},
47
- :lock_info => {:external => "lock_info", :container => false, :type => "LockInfo"},
48
- :lock_explanation => {:external => "lock_explanation", :container => false, :type => "String"},
49
- :quiz_id => {:external => "quiz_id", :container => false, :type => "Integer"},
50
- :anonymous_submissions => {:external => "anonymous_submissions", :container => false, :type => nil},
51
- :discussion_topic => {:external => "discussion_topic", :container => false, :type => "DiscussionTopic"},
52
- :freeze_on_copy => {:external => "freeze_on_copy", :container => false, :type => nil},
53
- :frozen => {:external => "frozen", :container => false, :type => nil},
54
- :frozen_attributes => {:external => "frozen_attributes", :container => true, :type => "String"},
55
- :submission => {:external => "submission", :container => false, :type => "Submission"},
56
- :use_rubric_for_grading => {:external => "use_rubric_for_grading", :container => false, :type => nil},
57
- :rubric_settings => {:external => "rubric_settings", :container => false, :type => "String"},
58
- :rubric => {:external => "rubric", :container => false, :type => "RubricCriteria"},
59
- :assignment_visibility => {:external => "assignment_visibility", :container => true, :type => "Integer"}
6
+ include Virtus.model(finalize: false)
60
7
 
61
- }
62
- end
8
+ attribute :id, resolve_type("Integer")
9
+ attribute :name, resolve_type("String")
10
+ attribute :description, resolve_type("String")
11
+ attribute :created_at, resolve_type("DateTime")
12
+ attribute :updated_at, resolve_type("DateTime")
13
+ attribute :due_at, resolve_type("DateTime")
14
+ attribute :lock_at, resolve_type("DateTime")
15
+ attribute :unlock_at, resolve_type("DateTime")
16
+ attribute :all_dates, resolve_type("AssignmentDate", collection: true)
17
+ attribute :course_id, resolve_type("Integer")
18
+ attribute :html_url, resolve_type("String")
19
+ attribute :assignment_group_id, resolve_type("Integer")
20
+ attribute :allowed_extensions, resolve_type("String", collection: true)
21
+ attribute :turnitin_enabled, resolve_type(nil)
22
+ attribute :turnitin_settings, resolve_type("TurnitinSettings")
23
+ attribute :grade_group_students_individually, resolve_type(nil)
24
+ attribute :external_tool_tag_attributes, resolve_type("ExternalToolTagAttributes")
25
+ attribute :peer_reviews, resolve_type(nil)
26
+ attribute :automatic_peer_reviews, resolve_type(nil)
27
+ attribute :peer_review_count, resolve_type("Integer")
28
+ attribute :peer_reviews_assign_at, resolve_type("DateTime")
29
+ attribute :group_category_id, resolve_type("Integer")
30
+ attribute :needs_grading_count, resolve_type("Integer")
31
+ attribute :needs_grading_count_by_section, resolve_type("NeedsGradingCount", collection: true)
32
+ attribute :position, resolve_type("Integer")
33
+ attribute :post_to_sis, resolve_type(nil)
34
+ attribute :integration_id, resolve_type("String")
35
+ attribute :integration_data, resolve_type("String")
36
+ attribute :muted, resolve_type(nil)
37
+ attribute :points_possible, resolve_type("Integer")
38
+ attribute :submission_types, resolve_type("String", collection: true)
39
+ attribute :grading_type, resolve_type("String")
40
+ attribute :grading_standard_id, resolve_type("Integer")
41
+ attribute :published, resolve_type(nil)
42
+ attribute :unpublishable, resolve_type(nil)
43
+ attribute :only_visible_to_overrides, resolve_type(nil)
44
+ attribute :locked_for_user, resolve_type(nil)
45
+ attribute :lock_info, resolve_type("LockInfo")
46
+ attribute :lock_explanation, resolve_type("String")
47
+ attribute :quiz_id, resolve_type("Integer")
48
+ attribute :anonymous_submissions, resolve_type(nil)
49
+ attribute :discussion_topic, resolve_type("DiscussionTopic")
50
+ attribute :freeze_on_copy, resolve_type(nil)
51
+ attribute :frozen, resolve_type(nil)
52
+ attribute :frozen_attributes, resolve_type("String", collection: true)
53
+ attribute :submission, resolve_type("Submission")
54
+ attribute :use_rubric_for_grading, resolve_type(nil)
55
+ attribute :rubric_settings, resolve_type("String")
56
+ attribute :rubric, resolve_type("RubricCriteria")
57
+ attribute :assignment_visibility, resolve_type("Integer", collection: true)
58
+
63
59
  end
64
60
  end
65
61