mux_ruby 1.0.0 → 1.5.1

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 (103) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile +2 -1
  3. data/Gemfile.lock +37 -35
  4. data/README.md +5 -0
  5. data/docs/Asset.md +2 -1
  6. data/docs/AssetsApi.md +157 -0
  7. data/docs/CreateAssetRequest.md +3 -1
  8. data/docs/CreateLiveStreamRequest.md +4 -0
  9. data/docs/CreateSimulcastTargetRequest.md +10 -0
  10. data/docs/CreateTrackRequest.md +14 -0
  11. data/docs/CreateTrackResponse.md +8 -0
  12. data/docs/CreateUploadRequest.md +1 -0
  13. data/docs/DeliveryReport.md +14 -0
  14. data/docs/DeliveryUsageApi.md +68 -0
  15. data/docs/GetMetricTimeseriesDataResponse.md +1 -1
  16. data/docs/GetOverallValuesResponse.md +1 -1
  17. data/docs/InputSettings.md +6 -1
  18. data/docs/InputTrack.md +0 -2
  19. data/docs/Insight.md +2 -2
  20. data/docs/ListAllMetricValuesResponse.md +1 -1
  21. data/docs/ListBreakdownValuesResponse.md +1 -1
  22. data/docs/ListDeliveryUsageResponse.md +11 -0
  23. data/docs/ListErrorsResponse.md +1 -1
  24. data/docs/ListExportsResponse.md +1 -1
  25. data/docs/ListFilterValuesResponse.md +1 -1
  26. data/docs/ListFiltersResponse.md +1 -1
  27. data/docs/ListInsightsResponse.md +1 -1
  28. data/docs/ListVideoViewsResponse.md +1 -1
  29. data/docs/LiveStream.md +3 -0
  30. data/docs/LiveStreamsApi.md +161 -0
  31. data/docs/SigningKeyResponse.md +1 -1
  32. data/docs/SimulcastTarget.md +12 -0
  33. data/docs/SimulcastTargetResponse.md +8 -0
  34. data/docs/Track.md +5 -2
  35. data/docs/UpdateAssetMasterAccessRequest.md +8 -0
  36. data/docs/Upload.md +1 -0
  37. data/docs/VideoViewResponse.md +1 -1
  38. data/examples/data/exercise-errors.rb +1 -1
  39. data/examples/data/exercise-metrics.rb +0 -7
  40. data/examples/video/exercise-assets.rb +27 -1
  41. data/examples/video/exercise-delivery-usage.rb +23 -0
  42. data/examples/video/exercise-live-streams.rb +28 -1
  43. data/lib/mux_ruby.rb +9 -0
  44. data/lib/mux_ruby/api/assets_api.rb +174 -0
  45. data/lib/mux_ruby/api/delivery_usage_api.rb +75 -0
  46. data/lib/mux_ruby/api/live_streams_api.rb +176 -0
  47. data/lib/mux_ruby/api_client.rb +7 -2
  48. data/lib/mux_ruby/api_error.rb +3 -0
  49. data/lib/mux_ruby/configuration.rb +1 -4
  50. data/lib/mux_ruby/models/asset.rb +24 -13
  51. data/lib/mux_ruby/models/create_asset_request.rb +46 -13
  52. data/lib/mux_ruby/models/create_live_stream_request.rb +66 -4
  53. data/lib/mux_ruby/models/create_simulcast_target_request.rb +210 -0
  54. data/lib/mux_ruby/models/create_track_request.rb +304 -0
  55. data/lib/mux_ruby/models/create_track_response.rb +184 -0
  56. data/lib/mux_ruby/models/create_upload_request.rb +13 -4
  57. data/lib/mux_ruby/models/delivery_report.rb +238 -0
  58. data/lib/mux_ruby/models/get_metric_timeseries_data_response.rb +1 -1
  59. data/lib/mux_ruby/models/get_overall_values_response.rb +1 -1
  60. data/lib/mux_ruby/models/input_settings.rb +104 -13
  61. data/lib/mux_ruby/models/input_settings_overlay_settings.rb +46 -0
  62. data/lib/mux_ruby/models/input_track.rb +4 -22
  63. data/lib/mux_ruby/models/insight.rb +2 -2
  64. data/lib/mux_ruby/models/list_all_metric_values_response.rb +1 -1
  65. data/lib/mux_ruby/models/list_breakdown_values_response.rb +1 -1
  66. data/lib/mux_ruby/models/list_delivery_usage_response.rb +216 -0
  67. data/lib/mux_ruby/models/list_errors_response.rb +1 -1
  68. data/lib/mux_ruby/models/list_exports_response.rb +1 -1
  69. data/lib/mux_ruby/models/list_filter_values_response.rb +1 -1
  70. data/lib/mux_ruby/models/list_filters_response.rb +1 -1
  71. data/lib/mux_ruby/models/list_insights_response.rb +1 -1
  72. data/lib/mux_ruby/models/list_video_views_response.rb +1 -1
  73. data/lib/mux_ruby/models/live_stream.rb +33 -4
  74. data/lib/mux_ruby/models/simulcast_target.rb +259 -0
  75. data/lib/mux_ruby/models/simulcast_target_response.rb +184 -0
  76. data/lib/mux_ruby/models/track.rb +86 -13
  77. data/lib/mux_ruby/models/update_asset_master_access_request.rb +219 -0
  78. data/lib/mux_ruby/models/upload.rb +13 -4
  79. data/lib/mux_ruby/models/video_view_response.rb +1 -1
  80. data/lib/mux_ruby/version.rb +1 -1
  81. data/spec/api/assets_api_spec.rb +37 -0
  82. data/spec/api/delivery_usage_api_spec.rb +43 -0
  83. data/spec/api/live_streams_api_spec.rb +39 -0
  84. data/spec/models/asset_spec.rb +12 -6
  85. data/spec/models/create_asset_request_spec.rb +22 -6
  86. data/spec/models/create_live_stream_request_spec.rb +24 -0
  87. data/spec/models/create_simulcast_target_request_spec.rb +46 -0
  88. data/spec/models/create_track_request_spec.rb +78 -0
  89. data/spec/models/create_track_response_spec.rb +34 -0
  90. data/spec/models/create_upload_request_spec.rb +6 -0
  91. data/spec/models/delivery_report_spec.rb +70 -0
  92. data/spec/models/input_settings_overlay_settings_spec.rb +8 -0
  93. data/spec/models/input_settings_spec.rb +40 -2
  94. data/spec/models/input_track_spec.rb +0 -12
  95. data/spec/models/list_delivery_usage_response_spec.rb +52 -0
  96. data/spec/models/live_stream_spec.rb +18 -0
  97. data/spec/models/simulcast_target_response_spec.rb +34 -0
  98. data/spec/models/simulcast_target_spec.rb +62 -0
  99. data/spec/models/track_spec.rb +28 -2
  100. data/spec/models/update_asset_master_access_request_spec.rb +38 -0
  101. data/spec/models/upload_spec.rb +6 -0
  102. data/test.sh +28 -0
  103. metadata +91 -54
@@ -21,6 +21,28 @@ module MuxRuby
21
21
 
22
22
  attr_accessor :opacity
23
23
 
24
+ class EnumAttributeValidator
25
+ attr_reader :datatype
26
+ attr_reader :allowable_values
27
+
28
+ def initialize(datatype, allowable_values)
29
+ @allowable_values = allowable_values.map do |value|
30
+ case datatype.to_s
31
+ when /Integer/i
32
+ value.to_i
33
+ when /Float/i
34
+ value.to_f
35
+ else
36
+ value
37
+ end
38
+ end
39
+ end
40
+
41
+ def valid?(value)
42
+ !value || allowable_values.include?(value)
43
+ end
44
+ end
45
+
24
46
  # Attribute mapping from ruby-style variable name to JSON key.
25
47
  def self.attribute_map
26
48
  {
@@ -94,9 +116,33 @@ module MuxRuby
94
116
  # Check to see if the all the properties in the model are valid
95
117
  # @return true if the model is valid
96
118
  def valid?
119
+ vertical_align_validator = EnumAttributeValidator.new('String', ['top', 'middle', 'bottom'])
120
+ return false unless vertical_align_validator.valid?(@vertical_align)
121
+ horizontal_align_validator = EnumAttributeValidator.new('String', ['left', 'center', 'right'])
122
+ return false unless horizontal_align_validator.valid?(@horizontal_align)
97
123
  true
98
124
  end
99
125
 
126
+ # Custom attribute writer method checking allowed values (enum).
127
+ # @param [Object] vertical_align Object to be assigned
128
+ def vertical_align=(vertical_align)
129
+ validator = EnumAttributeValidator.new('String', ['top', 'middle', 'bottom'])
130
+ unless validator.valid?(vertical_align)
131
+ fail ArgumentError, 'invalid value for "vertical_align", must be one of #{validator.allowable_values}.'
132
+ end
133
+ @vertical_align = vertical_align
134
+ end
135
+
136
+ # Custom attribute writer method checking allowed values (enum).
137
+ # @param [Object] horizontal_align Object to be assigned
138
+ def horizontal_align=(horizontal_align)
139
+ validator = EnumAttributeValidator.new('String', ['left', 'center', 'right'])
140
+ unless validator.valid?(horizontal_align)
141
+ fail ArgumentError, 'invalid value for "horizontal_align", must be one of #{validator.allowable_values}.'
142
+ end
143
+ @horizontal_align = horizontal_align
144
+ end
145
+
100
146
  # Checks equality by comparing each attribute.
101
147
  # @param [Object] Object to be compared
102
148
  def ==(o)
@@ -25,10 +25,6 @@ module MuxRuby
25
25
 
26
26
  attr_accessor :channels
27
27
 
28
- attr_accessor :text_track_type
29
-
30
- attr_accessor :language
31
-
32
28
  # Attribute mapping from ruby-style variable name to JSON key.
33
29
  def self.attribute_map
34
30
  {
@@ -40,9 +36,7 @@ module MuxRuby
40
36
  :'frame_rate' => :'frame_rate',
41
37
  :'sample_rate' => :'sample_rate',
42
38
  :'sample_size' => :'sample_size',
43
- :'channels' => :'channels',
44
- :'text_track_type' => :'text_track_type',
45
- :'language' => :'language'
39
+ :'channels' => :'channels'
46
40
  }
47
41
  end
48
42
 
@@ -57,9 +51,7 @@ module MuxRuby
57
51
  :'frame_rate' => :'Float',
58
52
  :'sample_rate' => :'Integer',
59
53
  :'sample_size' => :'Integer',
60
- :'channels' => :'Integer',
61
- :'text_track_type' => :'String',
62
- :'language' => :'String'
54
+ :'channels' => :'Integer'
63
55
  }
64
56
  end
65
57
 
@@ -106,14 +98,6 @@ module MuxRuby
106
98
  if attributes.has_key?(:'channels')
107
99
  self.channels = attributes[:'channels']
108
100
  end
109
-
110
- if attributes.has_key?(:'text_track_type')
111
- self.text_track_type = attributes[:'text_track_type']
112
- end
113
-
114
- if attributes.has_key?(:'language')
115
- self.language = attributes[:'language']
116
- end
117
101
  end
118
102
 
119
103
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -142,9 +126,7 @@ module MuxRuby
142
126
  frame_rate == o.frame_rate &&
143
127
  sample_rate == o.sample_rate &&
144
128
  sample_size == o.sample_size &&
145
- channels == o.channels &&
146
- text_track_type == o.text_track_type &&
147
- language == o.language
129
+ channels == o.channels
148
130
  end
149
131
 
150
132
  # @see the `==` method
@@ -156,7 +138,7 @@ module MuxRuby
156
138
  # Calculates hash code according to all attributes.
157
139
  # @return [Fixnum] Hash code
158
140
  def hash
159
- [type, duration, encoding, width, height, frame_rate, sample_rate, sample_size, channels, text_track_type, language].hash
141
+ [type, duration, encoding, width, height, frame_rate, sample_rate, sample_size, channels].hash
160
142
  end
161
143
 
162
144
  # Builds the object from hash
@@ -36,8 +36,8 @@ module MuxRuby
36
36
  {
37
37
  :'total_watch_time' => :'Integer',
38
38
  :'total_views' => :'Integer',
39
- :'negative_impact_score' => :'Integer',
40
- :'metric' => :'Integer',
39
+ :'negative_impact_score' => :'Float',
40
+ :'metric' => :'Float',
41
41
  :'filter_value' => :'String',
42
42
  :'filter_column' => :'String'
43
43
  }
@@ -27,7 +27,7 @@ module MuxRuby
27
27
  {
28
28
  :'data' => :'Array<Score>',
29
29
  :'total_row_count' => :'Integer',
30
- :'timeframe' => :'Array<String>'
30
+ :'timeframe' => :'Array<Integer>'
31
31
  }
32
32
  end
33
33
 
@@ -27,7 +27,7 @@ module MuxRuby
27
27
  {
28
28
  :'data' => :'Array<BreakdownValue>',
29
29
  :'total_row_count' => :'Integer',
30
- :'timeframe' => :'Array<String>'
30
+ :'timeframe' => :'Array<Integer>'
31
31
  }
32
32
  end
33
33
 
@@ -0,0 +1,216 @@
1
+ =begin
2
+ # Mux Ruby - Copyright 2019 Mux Inc.
3
+ # NOTE: This file is auto generated. Do not edit this file manually.
4
+ =end
5
+
6
+ require 'date'
7
+
8
+ module MuxRuby
9
+ class ListDeliveryUsageResponse
10
+ attr_accessor :data
11
+
12
+ attr_accessor :total_row_count
13
+
14
+ attr_accessor :timeframe
15
+
16
+ # Number of assets returned in this response. Default value is 100.
17
+ attr_accessor :limit
18
+
19
+ # Attribute mapping from ruby-style variable name to JSON key.
20
+ def self.attribute_map
21
+ {
22
+ :'data' => :'data',
23
+ :'total_row_count' => :'total_row_count',
24
+ :'timeframe' => :'timeframe',
25
+ :'limit' => :'limit'
26
+ }
27
+ end
28
+
29
+ # Attribute type mapping.
30
+ def self.openapi_types
31
+ {
32
+ :'data' => :'Array<DeliveryReport>',
33
+ :'total_row_count' => :'Integer',
34
+ :'timeframe' => :'Array<Integer>',
35
+ :'limit' => :'Integer'
36
+ }
37
+ end
38
+
39
+ # Initializes the object
40
+ # @param [Hash] attributes Model attributes in the form of hash
41
+ def initialize(attributes = {})
42
+ return unless attributes.is_a?(Hash)
43
+
44
+ # convert string to symbol for hash key
45
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
46
+
47
+ if attributes.has_key?(:'data')
48
+ if (value = attributes[:'data']).is_a?(Array)
49
+ self.data = value
50
+ end
51
+ end
52
+
53
+ if attributes.has_key?(:'total_row_count')
54
+ self.total_row_count = attributes[:'total_row_count']
55
+ end
56
+
57
+ if attributes.has_key?(:'timeframe')
58
+ if (value = attributes[:'timeframe']).is_a?(Array)
59
+ self.timeframe = value
60
+ end
61
+ end
62
+
63
+ if attributes.has_key?(:'limit')
64
+ self.limit = attributes[:'limit']
65
+ end
66
+ end
67
+
68
+ # Show invalid properties with the reasons. Usually used together with valid?
69
+ # @return Array for valid properties with the reasons
70
+ def list_invalid_properties
71
+ invalid_properties = Array.new
72
+ invalid_properties
73
+ end
74
+
75
+ # Check to see if the all the properties in the model are valid
76
+ # @return true if the model is valid
77
+ def valid?
78
+ true
79
+ end
80
+
81
+ # Checks equality by comparing each attribute.
82
+ # @param [Object] Object to be compared
83
+ def ==(o)
84
+ return true if self.equal?(o)
85
+ self.class == o.class &&
86
+ data == o.data &&
87
+ total_row_count == o.total_row_count &&
88
+ timeframe == o.timeframe &&
89
+ limit == o.limit
90
+ end
91
+
92
+ # @see the `==` method
93
+ # @param [Object] Object to be compared
94
+ def eql?(o)
95
+ self == o
96
+ end
97
+
98
+ # Calculates hash code according to all attributes.
99
+ # @return [Fixnum] Hash code
100
+ def hash
101
+ [data, total_row_count, timeframe, limit].hash
102
+ end
103
+
104
+ # Builds the object from hash
105
+ # @param [Hash] attributes Model attributes in the form of hash
106
+ # @return [Object] Returns the model itself
107
+ def self.build_from_hash(attributes)
108
+ new.build_from_hash(attributes)
109
+ end
110
+
111
+ # Builds the object from hash
112
+ # @param [Hash] attributes Model attributes in the form of hash
113
+ # @return [Object] Returns the model itself
114
+ def build_from_hash(attributes)
115
+ return nil unless attributes.is_a?(Hash)
116
+ self.class.openapi_types.each_pair do |key, type|
117
+ if type =~ /\AArray<(.*)>/i
118
+ # check to ensure the input is an array given that the attribute
119
+ # is documented as an array but the input is not
120
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
121
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
122
+ end
123
+ elsif !attributes[self.class.attribute_map[key]].nil?
124
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
125
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
126
+ end
127
+
128
+ self
129
+ end
130
+
131
+ # Deserializes the data based on type
132
+ # @param string type Data type
133
+ # @param string value Value to be deserialized
134
+ # @return [Object] Deserialized data
135
+ def _deserialize(type, value)
136
+ case type.to_sym
137
+ when :DateTime
138
+ DateTime.parse(value)
139
+ when :Date
140
+ Date.parse(value)
141
+ when :String
142
+ value.to_s
143
+ when :Integer
144
+ value.to_i
145
+ when :Float
146
+ value.to_f
147
+ when :BOOLEAN
148
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
149
+ true
150
+ else
151
+ false
152
+ end
153
+ when :Object
154
+ # generic object (usually a Hash), return directly
155
+ value
156
+ when /\AArray<(?<inner_type>.+)>\z/
157
+ inner_type = Regexp.last_match[:inner_type]
158
+ value.map { |v| _deserialize(inner_type, v) }
159
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
160
+ k_type = Regexp.last_match[:k_type]
161
+ v_type = Regexp.last_match[:v_type]
162
+ {}.tap do |hash|
163
+ value.each do |k, v|
164
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
165
+ end
166
+ end
167
+ else # model
168
+ MuxRuby.const_get(type).build_from_hash(value)
169
+ end
170
+ end
171
+
172
+ # Returns the string representation of the object
173
+ # @return [String] String presentation of the object
174
+ def to_s
175
+ to_hash.to_s
176
+ end
177
+
178
+ # to_body is an alias to to_hash (backward compatibility)
179
+ # @return [Hash] Returns the object in the form of hash
180
+ def to_body
181
+ to_hash
182
+ end
183
+
184
+ # Returns the object in the form of hash
185
+ # @return [Hash] Returns the object in the form of hash
186
+ def to_hash
187
+ hash = {}
188
+ self.class.attribute_map.each_pair do |attr, param|
189
+ value = self.send(attr)
190
+ next if value.nil?
191
+ hash[param] = _to_hash(value)
192
+ end
193
+ hash
194
+ end
195
+
196
+ # Outputs non-array value in the form of hash
197
+ # For object, use to_hash. Otherwise, just return the value
198
+ # @param [Object] value Any valid value
199
+ # @return [Hash] Returns the value in the form of hash
200
+ def _to_hash(value)
201
+ if value.is_a?(Array)
202
+ value.compact.map { |v| _to_hash(v) }
203
+ elsif value.is_a?(Hash)
204
+ {}.tap do |hash|
205
+ value.each { |k, v| hash[k] = _to_hash(v) }
206
+ end
207
+ elsif value.respond_to? :to_hash
208
+ value.to_hash
209
+ else
210
+ value
211
+ end
212
+ end
213
+
214
+ end
215
+
216
+ end
@@ -27,7 +27,7 @@ module MuxRuby
27
27
  {
28
28
  :'data' => :'Array<Error>',
29
29
  :'total_row_count' => :'Integer',
30
- :'timeframe' => :'Array<String>'
30
+ :'timeframe' => :'Array<Integer>'
31
31
  }
32
32
  end
33
33
 
@@ -27,7 +27,7 @@ module MuxRuby
27
27
  {
28
28
  :'data' => :'Array<String>',
29
29
  :'total_row_count' => :'Integer',
30
- :'timeframe' => :'Array<String>'
30
+ :'timeframe' => :'Array<Integer>'
31
31
  }
32
32
  end
33
33
 
@@ -27,7 +27,7 @@ module MuxRuby
27
27
  {
28
28
  :'data' => :'Array<FilterValue>',
29
29
  :'total_row_count' => :'Integer',
30
- :'timeframe' => :'Array<String>'
30
+ :'timeframe' => :'Array<Integer>'
31
31
  }
32
32
  end
33
33
 
@@ -27,7 +27,7 @@ module MuxRuby
27
27
  {
28
28
  :'data' => :'ListFiltersResponseData',
29
29
  :'total_row_count' => :'Integer',
30
- :'timeframe' => :'Array<String>'
30
+ :'timeframe' => :'Array<Integer>'
31
31
  }
32
32
  end
33
33
 
@@ -27,7 +27,7 @@ module MuxRuby
27
27
  {
28
28
  :'data' => :'Array<Insight>',
29
29
  :'total_row_count' => :'Integer',
30
- :'timeframe' => :'Array<String>'
30
+ :'timeframe' => :'Array<Integer>'
31
31
  }
32
32
  end
33
33
 
@@ -27,7 +27,7 @@ module MuxRuby
27
27
  {
28
28
  :'data' => :'Array<AbridgedVideoView>',
29
29
  :'total_row_count' => :'Integer',
30
- :'timeframe' => :'Array<String>'
30
+ :'timeframe' => :'Array<Integer>'
31
31
  }
32
32
  end
33
33
 
@@ -27,6 +27,12 @@ module MuxRuby
27
27
 
28
28
  attr_accessor :reconnect_window
29
29
 
30
+ attr_accessor :reduced_latency
31
+
32
+ attr_accessor :simulcast_targets
33
+
34
+ attr_accessor :test
35
+
30
36
  # Attribute mapping from ruby-style variable name to JSON key.
31
37
  def self.attribute_map
32
38
  {
@@ -39,7 +45,10 @@ module MuxRuby
39
45
  :'playback_ids' => :'playback_ids',
40
46
  :'new_asset_settings' => :'new_asset_settings',
41
47
  :'passthrough' => :'passthrough',
42
- :'reconnect_window' => :'reconnect_window'
48
+ :'reconnect_window' => :'reconnect_window',
49
+ :'reduced_latency' => :'reduced_latency',
50
+ :'simulcast_targets' => :'simulcast_targets',
51
+ :'test' => :'test'
43
52
  }
44
53
  end
45
54
 
@@ -55,7 +64,10 @@ module MuxRuby
55
64
  :'playback_ids' => :'Array<PlaybackID>',
56
65
  :'new_asset_settings' => :'Asset',
57
66
  :'passthrough' => :'String',
58
- :'reconnect_window' => :'Float'
67
+ :'reconnect_window' => :'Float',
68
+ :'reduced_latency' => :'BOOLEAN',
69
+ :'simulcast_targets' => :'Array<SimulcastTarget>',
70
+ :'test' => :'BOOLEAN'
59
71
  }
60
72
  end
61
73
 
@@ -110,6 +122,20 @@ module MuxRuby
110
122
  if attributes.has_key?(:'reconnect_window')
111
123
  self.reconnect_window = attributes[:'reconnect_window']
112
124
  end
125
+
126
+ if attributes.has_key?(:'reduced_latency')
127
+ self.reduced_latency = attributes[:'reduced_latency']
128
+ end
129
+
130
+ if attributes.has_key?(:'simulcast_targets')
131
+ if (value = attributes[:'simulcast_targets']).is_a?(Array)
132
+ self.simulcast_targets = value
133
+ end
134
+ end
135
+
136
+ if attributes.has_key?(:'test')
137
+ self.test = attributes[:'test']
138
+ end
113
139
  end
114
140
 
115
141
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -139,7 +165,10 @@ module MuxRuby
139
165
  playback_ids == o.playback_ids &&
140
166
  new_asset_settings == o.new_asset_settings &&
141
167
  passthrough == o.passthrough &&
142
- reconnect_window == o.reconnect_window
168
+ reconnect_window == o.reconnect_window &&
169
+ reduced_latency == o.reduced_latency &&
170
+ simulcast_targets == o.simulcast_targets &&
171
+ test == o.test
143
172
  end
144
173
 
145
174
  # @see the `==` method
@@ -151,7 +180,7 @@ module MuxRuby
151
180
  # Calculates hash code according to all attributes.
152
181
  # @return [Fixnum] Hash code
153
182
  def hash
154
- [id, created_at, stream_key, active_asset_id, recent_asset_ids, status, playback_ids, new_asset_settings, passthrough, reconnect_window].hash
183
+ [id, created_at, stream_key, active_asset_id, recent_asset_ids, status, playback_ids, new_asset_settings, passthrough, reconnect_window, reduced_latency, simulcast_targets, test].hash
155
184
  end
156
185
 
157
186
  # Builds the object from hash