aspose_tasks_cloud 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +22 -0
  3. data/README.md +49 -0
  4. data/aspose_tasks_cloud.gemspec +26 -0
  5. data/lib/aspose_tasks_cloud.rb +92 -0
  6. data/lib/aspose_tasks_cloud/api/tasks_api.rb +2585 -0
  7. data/lib/aspose_tasks_cloud/api_client.rb +335 -0
  8. data/lib/aspose_tasks_cloud/api_error.rb +24 -0
  9. data/lib/aspose_tasks_cloud/configuration.rb +166 -0
  10. data/lib/aspose_tasks_cloud/models/assignment_item.rb +61 -0
  11. data/lib/aspose_tasks_cloud/models/assignment_item_response.rb +61 -0
  12. data/lib/aspose_tasks_cloud/models/assignment_items.rb +47 -0
  13. data/lib/aspose_tasks_cloud/models/assignment_items_response.rb +61 -0
  14. data/lib/aspose_tasks_cloud/models/assignment_response.rb +61 -0
  15. data/lib/aspose_tasks_cloud/models/assignments_response.rb +61 -0
  16. data/lib/aspose_tasks_cloud/models/base_object.rb +86 -0
  17. data/lib/aspose_tasks_cloud/models/base_response.rb +53 -0
  18. data/lib/aspose_tasks_cloud/models/calendar.rb +89 -0
  19. data/lib/aspose_tasks_cloud/models/calendar_exception.rb +145 -0
  20. data/lib/aspose_tasks_cloud/models/calendar_exceptions_response.rb +63 -0
  21. data/lib/aspose_tasks_cloud/models/calendar_item.rb +53 -0
  22. data/lib/aspose_tasks_cloud/models/calendar_item_response.rb +61 -0
  23. data/lib/aspose_tasks_cloud/models/calendar_items.rb +47 -0
  24. data/lib/aspose_tasks_cloud/models/calendar_items_response.rb +61 -0
  25. data/lib/aspose_tasks_cloud/models/calendar_response.rb +61 -0
  26. data/lib/aspose_tasks_cloud/models/document_properties.rb +47 -0
  27. data/lib/aspose_tasks_cloud/models/document_properties_response.rb +61 -0
  28. data/lib/aspose_tasks_cloud/models/document_property.rb +53 -0
  29. data/lib/aspose_tasks_cloud/models/document_property_response.rb +61 -0
  30. data/lib/aspose_tasks_cloud/models/extended_attribute.rb +61 -0
  31. data/lib/aspose_tasks_cloud/models/extended_attribute_definition.rb +207 -0
  32. data/lib/aspose_tasks_cloud/models/extended_attribute_item.rb +53 -0
  33. data/lib/aspose_tasks_cloud/models/extended_attribute_items.rb +47 -0
  34. data/lib/aspose_tasks_cloud/models/extended_attribute_items_response.rb +61 -0
  35. data/lib/aspose_tasks_cloud/models/extended_attribute_response.rb +61 -0
  36. data/lib/aspose_tasks_cloud/models/link.rb +61 -0
  37. data/lib/aspose_tasks_cloud/models/outline_code.rb +53 -0
  38. data/lib/aspose_tasks_cloud/models/outline_code_definition.rb +145 -0
  39. data/lib/aspose_tasks_cloud/models/outline_code_item.rb +45 -0
  40. data/lib/aspose_tasks_cloud/models/outline_code_items.rb +47 -0
  41. data/lib/aspose_tasks_cloud/models/outline_code_items_response.rb +61 -0
  42. data/lib/aspose_tasks_cloud/models/outline_code_response.rb +61 -0
  43. data/lib/aspose_tasks_cloud/models/outline_mask.rb +61 -0
  44. data/lib/aspose_tasks_cloud/models/outline_value.rb +85 -0
  45. data/lib/aspose_tasks_cloud/models/recurring_info.rb +197 -0
  46. data/lib/aspose_tasks_cloud/models/recurring_info_response.rb +61 -0
  47. data/lib/aspose_tasks_cloud/models/resource.rb +945 -0
  48. data/lib/aspose_tasks_cloud/models/resource_assignment.rb +1063 -0
  49. data/lib/aspose_tasks_cloud/models/resource_assignments.rb +47 -0
  50. data/lib/aspose_tasks_cloud/models/resource_item.rb +61 -0
  51. data/lib/aspose_tasks_cloud/models/resource_item_response.rb +61 -0
  52. data/lib/aspose_tasks_cloud/models/resource_items.rb +47 -0
  53. data/lib/aspose_tasks_cloud/models/resource_items_response.rb +61 -0
  54. data/lib/aspose_tasks_cloud/models/resource_response.rb +61 -0
  55. data/lib/aspose_tasks_cloud/models/task.rb +1595 -0
  56. data/lib/aspose_tasks_cloud/models/task_document.rb +63 -0
  57. data/lib/aspose_tasks_cloud/models/task_document_response.rb +61 -0
  58. data/lib/aspose_tasks_cloud/models/task_item.rb +85 -0
  59. data/lib/aspose_tasks_cloud/models/task_item_response.rb +61 -0
  60. data/lib/aspose_tasks_cloud/models/task_items.rb +47 -0
  61. data/lib/aspose_tasks_cloud/models/task_items_response.rb +61 -0
  62. data/lib/aspose_tasks_cloud/models/task_link.rb +85 -0
  63. data/lib/aspose_tasks_cloud/models/task_link_response.rb +61 -0
  64. data/lib/aspose_tasks_cloud/models/task_links_response.rb +63 -0
  65. data/lib/aspose_tasks_cloud/models/task_response.rb +61 -0
  66. data/lib/aspose_tasks_cloud/models/value.rb +61 -0
  67. data/lib/aspose_tasks_cloud/models/wbs_code_mask.rb +61 -0
  68. data/lib/aspose_tasks_cloud/models/wbs_definition.rb +63 -0
  69. data/lib/aspose_tasks_cloud/models/wbs_definition_response.rb +61 -0
  70. data/lib/aspose_tasks_cloud/models/week_day.rb +71 -0
  71. data/lib/aspose_tasks_cloud/models/working_time.rb +45 -0
  72. data/lib/aspose_tasks_cloud/version.rb +3 -0
  73. data/test/data/ExtendedAttribute.mpp +0 -0
  74. data/test/data/Outlinecode.mpp +0 -0
  75. data/test/data/ResourceWithExtAttribs.xml +345 -0
  76. data/test/data/sample-project-2.mpp +0 -0
  77. data/test/data/sample-project.mpp +0 -0
  78. data/test/tasks_tests.rb +430 -0
  79. metadata +207 -0
@@ -0,0 +1,61 @@
1
+ module AsposeTasksCloud
2
+ #
3
+ class AssignmentItem < BaseObject
4
+ attr_accessor :link, :uid, :task_uid, :resource_uid
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ #
10
+ :'link' => :'Link',
11
+
12
+ #
13
+ :'uid' => :'Uid',
14
+
15
+ #
16
+ :'task_uid' => :'TaskUid',
17
+
18
+ #
19
+ :'resource_uid' => :'ResourceUid'
20
+
21
+ }
22
+ end
23
+
24
+ # attribute type
25
+ def self.swagger_types
26
+ {
27
+ :'link' => :'Link',
28
+ :'uid' => :'Integer',
29
+ :'task_uid' => :'Integer',
30
+ :'resource_uid' => :'Integer'
31
+
32
+ }
33
+ end
34
+
35
+ def initialize(attributes = {})
36
+ return if !attributes.is_a?(Hash) || attributes.empty?
37
+
38
+ # convert string to symbol for hash key
39
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
40
+
41
+
42
+ if attributes[:'Link']
43
+ self.link = attributes[:'Link']
44
+ end
45
+
46
+ if attributes[:'Uid']
47
+ self.uid = attributes[:'Uid']
48
+ end
49
+
50
+ if attributes[:'TaskUid']
51
+ self.task_uid = attributes[:'TaskUid']
52
+ end
53
+
54
+ if attributes[:'ResourceUid']
55
+ self.resource_uid = attributes[:'ResourceUid']
56
+ end
57
+
58
+ end
59
+
60
+ end
61
+ end
@@ -0,0 +1,61 @@
1
+ module AsposeTasksCloud
2
+ #
3
+ class AssignmentItemResponse < BaseObject
4
+ attr_accessor :assignment_item, :status, :code
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ #
10
+ :'assignment_item' => :'AssignmentItem',
11
+
12
+ #
13
+ :'status' => :'Status',
14
+
15
+ #
16
+ :'code' => :'Code'
17
+
18
+ }
19
+ end
20
+
21
+ # attribute type
22
+ def self.swagger_types
23
+ {
24
+ :'assignment_item' => :'AssignmentItem',
25
+ :'status' => :'String',
26
+ :'code' => :'String'
27
+
28
+ }
29
+ end
30
+
31
+ def initialize(attributes = {})
32
+ return if !attributes.is_a?(Hash) || attributes.empty?
33
+
34
+ # convert string to symbol for hash key
35
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
36
+
37
+
38
+ if attributes[:'AssignmentItem']
39
+ self.assignment_item = attributes[:'AssignmentItem']
40
+ end
41
+
42
+ if attributes[:'Status']
43
+ self.status = attributes[:'Status']
44
+ end
45
+
46
+ if attributes[:'Code']
47
+ self.code = attributes[:'Code']
48
+ end
49
+
50
+ end
51
+
52
+ def status=(status)
53
+ allowed_values = ["Continue", "SwitchingProtocols", "OK", "Created", "Accepted", "NonAuthoritativeInformation", "NoContent", "ResetContent", "PartialContent", "MultipleChoices", "Ambiguous", "MovedPermanently", "Moved", "Found", "Redirect", "SeeOther", "RedirectMethod", "NotModified", "UseProxy", "Unused", "TemporaryRedirect", "RedirectKeepVerb", "BadRequest", "Unauthorized", "PaymentRequired", "Forbidden", "NotFound", "MethodNotAllowed", "NotAcceptable", "ProxyAuthenticationRequired", "RequestTimeout", "Conflict", "Gone", "LengthRequired", "PreconditionFailed", "RequestEntityTooLarge", "RequestUriTooLong", "UnsupportedMediaType", "RequestedRangeNotSatisfiable", "ExpectationFailed", "UpgradeRequired", "InternalServerError", "NotImplemented", "BadGateway", "ServiceUnavailable", "GatewayTimeout", "HttpVersionNotSupported"]
54
+ if status && !allowed_values.include?(status)
55
+ fail "invalid value for 'status', must be one of #{allowed_values}"
56
+ end
57
+ @status = status
58
+ end
59
+
60
+ end
61
+ end
@@ -0,0 +1,47 @@
1
+ module AsposeTasksCloud
2
+ #
3
+ class AssignmentItems < BaseObject
4
+ attr_accessor :assignment_item, :link
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ #
10
+ :'assignment_item' => :'AssignmentItem',
11
+
12
+ #
13
+ :'link' => :'link'
14
+
15
+ }
16
+ end
17
+
18
+ # attribute type
19
+ def self.swagger_types
20
+ {
21
+ :'assignment_item' => :'Array<AssignmentItem>',
22
+ :'link' => :'Link'
23
+
24
+ }
25
+ end
26
+
27
+ def initialize(attributes = {})
28
+ return if !attributes.is_a?(Hash) || attributes.empty?
29
+
30
+ # convert string to symbol for hash key
31
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
32
+
33
+
34
+ if attributes[:'AssignmentItem']
35
+ if (value = attributes[:'AssignmentItem']).is_a?(Array)
36
+ self.assignment_item = value
37
+ end
38
+ end
39
+
40
+ if attributes[:'link']
41
+ self.link = attributes[:'link']
42
+ end
43
+
44
+ end
45
+
46
+ end
47
+ end
@@ -0,0 +1,61 @@
1
+ module AsposeTasksCloud
2
+ #
3
+ class AssignmentItemsResponse < BaseObject
4
+ attr_accessor :assignments, :status, :code
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ #
10
+ :'assignments' => :'Assignments',
11
+
12
+ #
13
+ :'status' => :'Status',
14
+
15
+ #
16
+ :'code' => :'Code'
17
+
18
+ }
19
+ end
20
+
21
+ # attribute type
22
+ def self.swagger_types
23
+ {
24
+ :'assignments' => :'AssignmentItems',
25
+ :'status' => :'String',
26
+ :'code' => :'String'
27
+
28
+ }
29
+ end
30
+
31
+ def initialize(attributes = {})
32
+ return if !attributes.is_a?(Hash) || attributes.empty?
33
+
34
+ # convert string to symbol for hash key
35
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
36
+
37
+
38
+ if attributes[:'Assignments']
39
+ self.assignments = attributes[:'Assignments']
40
+ end
41
+
42
+ if attributes[:'Status']
43
+ self.status = attributes[:'Status']
44
+ end
45
+
46
+ if attributes[:'Code']
47
+ self.code = attributes[:'Code']
48
+ end
49
+
50
+ end
51
+
52
+ def status=(status)
53
+ allowed_values = ["Continue", "SwitchingProtocols", "OK", "Created", "Accepted", "NonAuthoritativeInformation", "NoContent", "ResetContent", "PartialContent", "MultipleChoices", "Ambiguous", "MovedPermanently", "Moved", "Found", "Redirect", "SeeOther", "RedirectMethod", "NotModified", "UseProxy", "Unused", "TemporaryRedirect", "RedirectKeepVerb", "BadRequest", "Unauthorized", "PaymentRequired", "Forbidden", "NotFound", "MethodNotAllowed", "NotAcceptable", "ProxyAuthenticationRequired", "RequestTimeout", "Conflict", "Gone", "LengthRequired", "PreconditionFailed", "RequestEntityTooLarge", "RequestUriTooLong", "UnsupportedMediaType", "RequestedRangeNotSatisfiable", "ExpectationFailed", "UpgradeRequired", "InternalServerError", "NotImplemented", "BadGateway", "ServiceUnavailable", "GatewayTimeout", "HttpVersionNotSupported"]
54
+ if status && !allowed_values.include?(status)
55
+ fail "invalid value for 'status', must be one of #{allowed_values}"
56
+ end
57
+ @status = status
58
+ end
59
+
60
+ end
61
+ end
@@ -0,0 +1,61 @@
1
+ module AsposeTasksCloud
2
+ #
3
+ class AssignmentResponse < BaseObject
4
+ attr_accessor :assignment, :status, :code
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ #
10
+ :'assignment' => :'Assignment',
11
+
12
+ #
13
+ :'status' => :'Status',
14
+
15
+ #
16
+ :'code' => :'Code'
17
+
18
+ }
19
+ end
20
+
21
+ # attribute type
22
+ def self.swagger_types
23
+ {
24
+ :'assignment' => :'ResourceAssignment',
25
+ :'status' => :'String',
26
+ :'code' => :'String'
27
+
28
+ }
29
+ end
30
+
31
+ def initialize(attributes = {})
32
+ return if !attributes.is_a?(Hash) || attributes.empty?
33
+
34
+ # convert string to symbol for hash key
35
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
36
+
37
+
38
+ if attributes[:'Assignment']
39
+ self.assignment = attributes[:'Assignment']
40
+ end
41
+
42
+ if attributes[:'Status']
43
+ self.status = attributes[:'Status']
44
+ end
45
+
46
+ if attributes[:'Code']
47
+ self.code = attributes[:'Code']
48
+ end
49
+
50
+ end
51
+
52
+ def status=(status)
53
+ allowed_values = ["Continue", "SwitchingProtocols", "OK", "Created", "Accepted", "NonAuthoritativeInformation", "NoContent", "ResetContent", "PartialContent", "MultipleChoices", "Ambiguous", "MovedPermanently", "Moved", "Found", "Redirect", "SeeOther", "RedirectMethod", "NotModified", "UseProxy", "Unused", "TemporaryRedirect", "RedirectKeepVerb", "BadRequest", "Unauthorized", "PaymentRequired", "Forbidden", "NotFound", "MethodNotAllowed", "NotAcceptable", "ProxyAuthenticationRequired", "RequestTimeout", "Conflict", "Gone", "LengthRequired", "PreconditionFailed", "RequestEntityTooLarge", "RequestUriTooLong", "UnsupportedMediaType", "RequestedRangeNotSatisfiable", "ExpectationFailed", "UpgradeRequired", "InternalServerError", "NotImplemented", "BadGateway", "ServiceUnavailable", "GatewayTimeout", "HttpVersionNotSupported"]
54
+ if status && !allowed_values.include?(status)
55
+ fail "invalid value for 'status', must be one of #{allowed_values}"
56
+ end
57
+ @status = status
58
+ end
59
+
60
+ end
61
+ end
@@ -0,0 +1,61 @@
1
+ module AsposeTasksCloud
2
+ #
3
+ class AssignmentsResponse < BaseObject
4
+ attr_accessor :assignments, :status, :code
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ #
10
+ :'assignments' => :'Assignments',
11
+
12
+ #
13
+ :'status' => :'Status',
14
+
15
+ #
16
+ :'code' => :'Code'
17
+
18
+ }
19
+ end
20
+
21
+ # attribute type
22
+ def self.swagger_types
23
+ {
24
+ :'assignments' => :'ResourceAssignments',
25
+ :'status' => :'String',
26
+ :'code' => :'String'
27
+
28
+ }
29
+ end
30
+
31
+ def initialize(attributes = {})
32
+ return if !attributes.is_a?(Hash) || attributes.empty?
33
+
34
+ # convert string to symbol for hash key
35
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
36
+
37
+
38
+ if attributes[:'Assignments']
39
+ self.assignments = attributes[:'Assignments']
40
+ end
41
+
42
+ if attributes[:'Status']
43
+ self.status = attributes[:'Status']
44
+ end
45
+
46
+ if attributes[:'Code']
47
+ self.code = attributes[:'Code']
48
+ end
49
+
50
+ end
51
+
52
+ def status=(status)
53
+ allowed_values = ["Continue", "SwitchingProtocols", "OK", "Created", "Accepted", "NonAuthoritativeInformation", "NoContent", "ResetContent", "PartialContent", "MultipleChoices", "Ambiguous", "MovedPermanently", "Moved", "Found", "Redirect", "SeeOther", "RedirectMethod", "NotModified", "UseProxy", "Unused", "TemporaryRedirect", "RedirectKeepVerb", "BadRequest", "Unauthorized", "PaymentRequired", "Forbidden", "NotFound", "MethodNotAllowed", "NotAcceptable", "ProxyAuthenticationRequired", "RequestTimeout", "Conflict", "Gone", "LengthRequired", "PreconditionFailed", "RequestEntityTooLarge", "RequestUriTooLong", "UnsupportedMediaType", "RequestedRangeNotSatisfiable", "ExpectationFailed", "UpgradeRequired", "InternalServerError", "NotImplemented", "BadGateway", "ServiceUnavailable", "GatewayTimeout", "HttpVersionNotSupported"]
54
+ if status && !allowed_values.include?(status)
55
+ fail "invalid value for 'status', must be one of #{allowed_values}"
56
+ end
57
+ @status = status
58
+ end
59
+
60
+ end
61
+ end
@@ -0,0 +1,86 @@
1
+ require 'date'
2
+
3
+ module AsposeTasksCloud
4
+ # base class containing fundamental method such as to_hash, build_from_hash and more
5
+ class BaseObject
6
+
7
+ # build the object from hash
8
+ def build_from_hash(attributes)
9
+ return nil unless attributes.is_a?(Hash)
10
+ self.class.swagger_types.each_pair do |key, type|
11
+ if type =~ /^Array<(.*)>/i
12
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
13
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
14
+ else
15
+ #TODO show warning in debug mode
16
+ end
17
+ elsif !attributes[self.class.attribute_map[key]].nil?
18
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
19
+ else
20
+ # data not found in attributes(hash), not an issue as the data can be optional
21
+ end
22
+ end
23
+
24
+ self
25
+ end
26
+
27
+ def _deserialize(type, value)
28
+ case type.to_sym
29
+ when :DateTime
30
+ DateTime.parse(value)
31
+ when :Date
32
+ Date.parse(value)
33
+ when :String
34
+ value.to_s
35
+ when :Integer
36
+ value.to_i
37
+ when :Float
38
+ value.to_f
39
+ when :BOOLEAN
40
+ if value =~ /^(true|t|yes|y|1)$/i
41
+ true
42
+ else
43
+ false
44
+ end
45
+ else # model
46
+ _model = AsposeTasksCloud.const_get(type).new
47
+ _model.build_from_hash(value)
48
+ end
49
+ end
50
+
51
+ def to_s
52
+ to_hash.to_s
53
+ end
54
+
55
+ # to_body is an alias to to_body (backward compatibility))
56
+ def to_body
57
+ to_hash
58
+ end
59
+
60
+ # return the object in the form of hash
61
+ def to_hash
62
+ hash = {}
63
+ self.class.attribute_map.each_pair do |attr, param|
64
+ value = self.send(attr)
65
+ next if value.nil?
66
+ if value.is_a?(Array)
67
+ hash[param] = value.compact.map{ |v| _to_hash(v) }
68
+ else
69
+ hash[param] = _to_hash(value)
70
+ end
71
+ end
72
+ hash
73
+ end
74
+
75
+ # Method to output non-array value in the form of hash
76
+ # For object, use to_hash. Otherwise, just return the value
77
+ def _to_hash(value)
78
+ if value.respond_to? :to_hash
79
+ value.to_hash
80
+ else
81
+ value
82
+ end
83
+ end
84
+
85
+ end
86
+ end
@@ -0,0 +1,53 @@
1
+ module AsposeTasksCloud
2
+ #
3
+ class BaseResponse < BaseObject
4
+ attr_accessor :status, :code
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ #
10
+ :'status' => :'Status',
11
+
12
+ #
13
+ :'code' => :'Code'
14
+
15
+ }
16
+ end
17
+
18
+ # attribute type
19
+ def self.swagger_types
20
+ {
21
+ :'status' => :'String',
22
+ :'code' => :'String'
23
+
24
+ }
25
+ end
26
+
27
+ def initialize(attributes = {})
28
+ return if !attributes.is_a?(Hash) || attributes.empty?
29
+
30
+ # convert string to symbol for hash key
31
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
32
+
33
+
34
+ if attributes[:'Status']
35
+ self.status = attributes[:'Status']
36
+ end
37
+
38
+ if attributes[:'Code']
39
+ self.code = attributes[:'Code']
40
+ end
41
+
42
+ end
43
+
44
+ def status=(status)
45
+ allowed_values = ["Continue", "SwitchingProtocols", "OK", "Created", "Accepted", "NonAuthoritativeInformation", "NoContent", "ResetContent", "PartialContent", "MultipleChoices", "Ambiguous", "MovedPermanently", "Moved", "Found", "Redirect", "SeeOther", "RedirectMethod", "NotModified", "UseProxy", "Unused", "TemporaryRedirect", "RedirectKeepVerb", "BadRequest", "Unauthorized", "PaymentRequired", "Forbidden", "NotFound", "MethodNotAllowed", "NotAcceptable", "ProxyAuthenticationRequired", "RequestTimeout", "Conflict", "Gone", "LengthRequired", "PreconditionFailed", "RequestEntityTooLarge", "RequestUriTooLong", "UnsupportedMediaType", "RequestedRangeNotSatisfiable", "ExpectationFailed", "UpgradeRequired", "InternalServerError", "NotImplemented", "BadGateway", "ServiceUnavailable", "GatewayTimeout", "HttpVersionNotSupported"]
46
+ if status && !allowed_values.include?(status)
47
+ fail "invalid value for 'status', must be one of #{allowed_values}"
48
+ end
49
+ @status = status
50
+ end
51
+
52
+ end
53
+ end