bandwidth-sdk 0.1.0 → 1.0.0.pre
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.
- checksums.yaml +5 -5
- data/LICENSE +27 -27
- data/README.md +115 -1
- data/lib/bandwidth.rb +39 -37
- data/lib/bandwidth/api_helper.rb +280 -280
- data/lib/bandwidth/client.rb +41 -32
- data/lib/bandwidth/configuration.rb +130 -111
- data/lib/bandwidth/exceptions/api_exception.rb +20 -20
- data/lib/bandwidth/http/api_response.rb +36 -36
- data/lib/bandwidth/http/auth/messaging_basic_auth.rb +22 -0
- data/lib/bandwidth/http/auth/voice_basic_auth.rb +22 -22
- data/lib/bandwidth/http/faraday_client.rb +64 -64
- data/lib/bandwidth/http/http_call_back.rb +24 -24
- data/lib/bandwidth/http/http_client.rb +104 -104
- data/lib/bandwidth/http/http_method_enum.rb +13 -13
- data/lib/bandwidth/http/http_request.rb +50 -50
- data/lib/bandwidth/http/http_response.rb +29 -29
- data/lib/bandwidth/messaging_lib/messaging.rb +23 -0
- data/lib/bandwidth/messaging_lib/messaging/client.rb +40 -0
- data/lib/bandwidth/messaging_lib/messaging/controllers/api_controller.rb +406 -0
- data/lib/bandwidth/messaging_lib/messaging/controllers/base_controller.rb +49 -0
- data/lib/bandwidth/messaging_lib/messaging/exceptions/generic_client_exception.rb +46 -0
- data/lib/bandwidth/messaging_lib/messaging/exceptions/path_client_exception.rb +49 -0
- data/lib/bandwidth/messaging_lib/messaging/models/bandwidth_callback_message.rb +80 -0
- data/lib/bandwidth/messaging_lib/messaging/models/bandwidth_message.rb +125 -0
- data/lib/bandwidth/messaging_lib/messaging/models/deferred_result.rb +44 -0
- data/lib/bandwidth/messaging_lib/messaging/models/field_error.rb +44 -0
- data/lib/bandwidth/messaging_lib/messaging/models/media.rb +123 -0
- data/lib/bandwidth/messaging_lib/messaging/models/message_request.rb +80 -0
- data/lib/bandwidth/messaging_lib/messaging/models/tag.rb +44 -0
- data/lib/bandwidth/models/base_model.rb +36 -36
- data/lib/bandwidth/voice_lib/bxml/bxml.rb +40 -0
- data/lib/bandwidth/voice_lib/bxml/verbs/forward.rb +19 -0
- data/lib/bandwidth/voice_lib/bxml/verbs/gather.rb +38 -0
- data/lib/bandwidth/voice_lib/bxml/verbs/hangup.rb +15 -0
- data/lib/bandwidth/voice_lib/bxml/verbs/pause.rb +16 -0
- data/lib/bandwidth/voice_lib/bxml/verbs/phone_number.rb +19 -0
- data/lib/bandwidth/voice_lib/bxml/verbs/play_audio.rb +18 -0
- data/lib/bandwidth/voice_lib/bxml/verbs/redirect.rb +21 -0
- data/lib/bandwidth/voice_lib/bxml/verbs/send_dtmf.rb +14 -0
- data/lib/bandwidth/voice_lib/bxml/verbs/speak_sentence.rb +19 -0
- data/lib/bandwidth/voice_lib/bxml/verbs/transfer.rb +38 -0
- data/lib/bandwidth/voice_lib/bxml/verbs/xml_verb.rb +27 -0
- data/lib/bandwidth/voice_lib/voice.rb +27 -23
- data/lib/bandwidth/voice_lib/voice/client.rb +40 -36
- data/lib/bandwidth/voice_lib/voice/controllers/api_controller.rb +184 -0
- data/lib/bandwidth/voice_lib/voice/controllers/base_controller.rb +49 -49
- data/lib/bandwidth/voice_lib/voice/exceptions/bandwidth_exception.rb +51 -0
- data/lib/bandwidth/voice_lib/voice/exceptions/bandwidth_not_found_exception.rb +49 -0
- data/lib/bandwidth/voice_lib/voice/exceptions/bandwidth_rate_limit_error_exception.rb +56 -0
- data/lib/bandwidth/voice_lib/voice/models/answer_method_enum.rb +35 -35
- data/lib/bandwidth/voice_lib/voice/models/api_call_response.rb +116 -116
- data/lib/bandwidth/voice_lib/voice/models/api_create_call_request.rb +125 -125
- data/lib/bandwidth/voice_lib/voice/models/api_modify_call_request.rb +80 -80
- data/lib/bandwidth/voice_lib/voice/models/bandwidth_callback_message_voice.rb +98 -98
- data/lib/bandwidth/voice_lib/voice/models/disconnect_method_enum.rb +35 -35
- data/lib/bandwidth/voice_lib/voice/models/field_error.rb +44 -0
- data/lib/bandwidth/voice_lib/voice/models/redirect_method_enum.rb +35 -35
- data/lib/bandwidth/voice_lib/voice/models/state_enum.rb +17 -17
- metadata +36 -47
- data/lib/bandwidth/voice_lib/voice/bxml/bxml.rb +0 -36
- data/lib/bandwidth/voice_lib/voice/bxml/verbs/forward.rb +0 -19
- data/lib/bandwidth/voice_lib/voice/bxml/verbs/gather.rb +0 -37
- data/lib/bandwidth/voice_lib/voice/bxml/verbs/hangup.rb +0 -14
- data/lib/bandwidth/voice_lib/voice/bxml/verbs/pause.rb +0 -15
- data/lib/bandwidth/voice_lib/voice/bxml/verbs/phone_number.rb +0 -18
- data/lib/bandwidth/voice_lib/voice/bxml/verbs/play_audio.rb +0 -17
- data/lib/bandwidth/voice_lib/voice/bxml/verbs/redirect.rb +0 -20
- data/lib/bandwidth/voice_lib/voice/bxml/verbs/send_dtmf.rb +0 -12
- data/lib/bandwidth/voice_lib/voice/bxml/verbs/speak_sentence.rb +0 -18
- data/lib/bandwidth/voice_lib/voice/bxml/verbs/transfer.rb +0 -37
- data/lib/bandwidth/voice_lib/voice/bxml/verbs/xml_verb.rb +0 -26
- data/lib/bandwidth/voice_lib/voice/controllers/calls_controller.rb +0 -88
@@ -0,0 +1,49 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module Bandwidth
|
7
|
+
# BaseController.
|
8
|
+
class BaseController
|
9
|
+
attr_accessor :config, :http_call_back
|
10
|
+
|
11
|
+
def initialize(config, http_call_back: nil)
|
12
|
+
@config = config
|
13
|
+
@http_call_back = http_call_back
|
14
|
+
|
15
|
+
@global_headers = {
|
16
|
+
'user-agent' => 'APIMATIC 2.0'
|
17
|
+
}
|
18
|
+
end
|
19
|
+
|
20
|
+
def validate_parameters(args)
|
21
|
+
args.each do |_name, value|
|
22
|
+
if value.nil?
|
23
|
+
raise ArgumentError, "Required parameter #{_name} cannot be nil."
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def execute_request(request, binary: false)
|
29
|
+
@http_call_back.on_before_request(request) if @http_call_back
|
30
|
+
|
31
|
+
APIHelper.clean_hash(request.headers)
|
32
|
+
request.headers = @global_headers.clone.merge(request.headers)
|
33
|
+
|
34
|
+
response = if binary
|
35
|
+
config.http_client.execute_as_binary(request)
|
36
|
+
else
|
37
|
+
config.http_client.execute_as_string(request)
|
38
|
+
end
|
39
|
+
@http_call_back.on_after_response(response) if @http_call_back
|
40
|
+
|
41
|
+
response
|
42
|
+
end
|
43
|
+
|
44
|
+
def validate_response(response)
|
45
|
+
raise APIException.new 'HTTP Response Not OK', response unless
|
46
|
+
response.status_code.between?(200, 208) # [200,208] = HTTP OK
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module Bandwidth
|
7
|
+
# GenericClientException class.
|
8
|
+
class GenericClientException < APIException
|
9
|
+
# TODO: Write general description for this method
|
10
|
+
# @return [String]
|
11
|
+
attr_accessor :type
|
12
|
+
|
13
|
+
# TODO: Write general description for this method
|
14
|
+
# @return [String]
|
15
|
+
attr_accessor :description
|
16
|
+
|
17
|
+
# TODO: Write general description for this method
|
18
|
+
# @return [List of FieldError]
|
19
|
+
attr_accessor :field_errors
|
20
|
+
|
21
|
+
# The constructor.
|
22
|
+
# @param [String] The reason for raising an exception.
|
23
|
+
# @param [HttpResponse] The HttpReponse of the API call.
|
24
|
+
def initialize(reason, response)
|
25
|
+
super(reason, response)
|
26
|
+
hash = APIHelper.json_deserialize(@response.raw_body)
|
27
|
+
unbox(hash)
|
28
|
+
end
|
29
|
+
|
30
|
+
# Populates this object by extracting properties from a hash.
|
31
|
+
# @param [Hash] The deserialized response sent by the server in the
|
32
|
+
# response body.
|
33
|
+
def unbox(hash)
|
34
|
+
@type = hash['type']
|
35
|
+
@description = hash['description']
|
36
|
+
# Parameter is an array, so we need to iterate through it
|
37
|
+
@field_errors = nil
|
38
|
+
unless hash['fieldErrors'].nil?
|
39
|
+
@field_errors = []
|
40
|
+
hash['fieldErrors'].each do |structure|
|
41
|
+
@field_errors << (FieldError.from_hash(structure) if structure)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module Bandwidth
|
7
|
+
# PathClientException class.
|
8
|
+
class PathClientException < APIException
|
9
|
+
# TODO: Write general description for this method
|
10
|
+
# @return [String]
|
11
|
+
attr_accessor :timestamp
|
12
|
+
|
13
|
+
# TODO: Write general description for this method
|
14
|
+
# @return [Integer]
|
15
|
+
attr_accessor :status
|
16
|
+
|
17
|
+
# TODO: Write general description for this method
|
18
|
+
# @return [String]
|
19
|
+
attr_accessor :error
|
20
|
+
|
21
|
+
# TODO: Write general description for this method
|
22
|
+
# @return [String]
|
23
|
+
attr_accessor :message
|
24
|
+
|
25
|
+
# TODO: Write general description for this method
|
26
|
+
# @return [String]
|
27
|
+
attr_accessor :path
|
28
|
+
|
29
|
+
# The constructor.
|
30
|
+
# @param [String] The reason for raising an exception.
|
31
|
+
# @param [HttpResponse] The HttpReponse of the API call.
|
32
|
+
def initialize(reason, response)
|
33
|
+
super(reason, response)
|
34
|
+
hash = APIHelper.json_deserialize(@response.raw_body)
|
35
|
+
unbox(hash)
|
36
|
+
end
|
37
|
+
|
38
|
+
# Populates this object by extracting properties from a hash.
|
39
|
+
# @param [Hash] The deserialized response sent by the server in the
|
40
|
+
# response body.
|
41
|
+
def unbox(hash)
|
42
|
+
@timestamp = hash['timestamp']
|
43
|
+
@status = hash['status']
|
44
|
+
@error = hash['error']
|
45
|
+
@message = hash['message']
|
46
|
+
@path = hash['path']
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,80 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module Bandwidth
|
7
|
+
# BandwidthCallbackMessage Model.
|
8
|
+
class BandwidthCallbackMessage < BaseModel
|
9
|
+
# TODO: Write general description for this method
|
10
|
+
# @return [String]
|
11
|
+
attr_accessor :time
|
12
|
+
|
13
|
+
# TODO: Write general description for this method
|
14
|
+
# @return [String]
|
15
|
+
attr_accessor :type
|
16
|
+
|
17
|
+
# TODO: Write general description for this method
|
18
|
+
# @return [String]
|
19
|
+
attr_accessor :to
|
20
|
+
|
21
|
+
# TODO: Write general description for this method
|
22
|
+
# @return [String]
|
23
|
+
attr_accessor :error_code
|
24
|
+
|
25
|
+
# TODO: Write general description for this method
|
26
|
+
# @return [String]
|
27
|
+
attr_accessor :description
|
28
|
+
|
29
|
+
# TODO: Write general description for this method
|
30
|
+
# @return [BandwidthMessage]
|
31
|
+
attr_accessor :message
|
32
|
+
|
33
|
+
# A mapping from model property names to API property names.
|
34
|
+
def self.names
|
35
|
+
@_hash = {} if @_hash.nil?
|
36
|
+
@_hash['time'] = 'time'
|
37
|
+
@_hash['type'] = 'type'
|
38
|
+
@_hash['to'] = 'to'
|
39
|
+
@_hash['error_code'] = 'errorCode'
|
40
|
+
@_hash['description'] = 'description'
|
41
|
+
@_hash['message'] = 'message'
|
42
|
+
@_hash
|
43
|
+
end
|
44
|
+
|
45
|
+
def initialize(time = nil,
|
46
|
+
type = nil,
|
47
|
+
to = nil,
|
48
|
+
error_code = nil,
|
49
|
+
description = nil,
|
50
|
+
message = nil)
|
51
|
+
@time = time
|
52
|
+
@type = type
|
53
|
+
@to = to
|
54
|
+
@error_code = error_code
|
55
|
+
@description = description
|
56
|
+
@message = message
|
57
|
+
end
|
58
|
+
|
59
|
+
# Creates an instance of the object from a hash.
|
60
|
+
def self.from_hash(hash)
|
61
|
+
return nil unless hash
|
62
|
+
|
63
|
+
# Extract variables from the hash.
|
64
|
+
time = hash['time']
|
65
|
+
type = hash['type']
|
66
|
+
to = hash['to']
|
67
|
+
error_code = hash['errorCode']
|
68
|
+
description = hash['description']
|
69
|
+
message = BandwidthMessage.from_hash(hash['message']) if hash['message']
|
70
|
+
|
71
|
+
# Create object from extracted values.
|
72
|
+
BandwidthCallbackMessage.new(time,
|
73
|
+
type,
|
74
|
+
to,
|
75
|
+
error_code,
|
76
|
+
description,
|
77
|
+
message)
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
@@ -0,0 +1,125 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module Bandwidth
|
7
|
+
# BandwidthMessage Model.
|
8
|
+
class BandwidthMessage < BaseModel
|
9
|
+
# TODO: Write general description for this method
|
10
|
+
# @return [String]
|
11
|
+
attr_accessor :id
|
12
|
+
|
13
|
+
# TODO: Write general description for this method
|
14
|
+
# @return [String]
|
15
|
+
attr_accessor :owner
|
16
|
+
|
17
|
+
# TODO: Write general description for this method
|
18
|
+
# @return [String]
|
19
|
+
attr_accessor :application_id
|
20
|
+
|
21
|
+
# TODO: Write general description for this method
|
22
|
+
# @return [String]
|
23
|
+
attr_accessor :time
|
24
|
+
|
25
|
+
# TODO: Write general description for this method
|
26
|
+
# @return [String]
|
27
|
+
attr_accessor :segment_count
|
28
|
+
|
29
|
+
# TODO: Write general description for this method
|
30
|
+
# @return [String]
|
31
|
+
attr_accessor :direction
|
32
|
+
|
33
|
+
# TODO: Write general description for this method
|
34
|
+
# @return [List of String]
|
35
|
+
attr_accessor :to
|
36
|
+
|
37
|
+
# TODO: Write general description for this method
|
38
|
+
# @return [String]
|
39
|
+
attr_accessor :from
|
40
|
+
|
41
|
+
# TODO: Write general description for this method
|
42
|
+
# @return [List of String]
|
43
|
+
attr_accessor :media
|
44
|
+
|
45
|
+
# TODO: Write general description for this method
|
46
|
+
# @return [String]
|
47
|
+
attr_accessor :text
|
48
|
+
|
49
|
+
# TODO: Write general description for this method
|
50
|
+
# @return [String]
|
51
|
+
attr_accessor :tag
|
52
|
+
|
53
|
+
# A mapping from model property names to API property names.
|
54
|
+
def self.names
|
55
|
+
@_hash = {} if @_hash.nil?
|
56
|
+
@_hash['id'] = 'id'
|
57
|
+
@_hash['owner'] = 'owner'
|
58
|
+
@_hash['application_id'] = 'applicationId'
|
59
|
+
@_hash['time'] = 'time'
|
60
|
+
@_hash['segment_count'] = 'segmentCount'
|
61
|
+
@_hash['direction'] = 'direction'
|
62
|
+
@_hash['to'] = 'to'
|
63
|
+
@_hash['from'] = 'from'
|
64
|
+
@_hash['media'] = 'media'
|
65
|
+
@_hash['text'] = 'text'
|
66
|
+
@_hash['tag'] = 'tag'
|
67
|
+
@_hash
|
68
|
+
end
|
69
|
+
|
70
|
+
def initialize(id = nil,
|
71
|
+
owner = nil,
|
72
|
+
application_id = nil,
|
73
|
+
time = nil,
|
74
|
+
segment_count = nil,
|
75
|
+
direction = nil,
|
76
|
+
to = nil,
|
77
|
+
from = nil,
|
78
|
+
media = nil,
|
79
|
+
text = nil,
|
80
|
+
tag = nil)
|
81
|
+
@id = id
|
82
|
+
@owner = owner
|
83
|
+
@application_id = application_id
|
84
|
+
@time = time
|
85
|
+
@segment_count = segment_count
|
86
|
+
@direction = direction
|
87
|
+
@to = to
|
88
|
+
@from = from
|
89
|
+
@media = media
|
90
|
+
@text = text
|
91
|
+
@tag = tag
|
92
|
+
end
|
93
|
+
|
94
|
+
# Creates an instance of the object from a hash.
|
95
|
+
def self.from_hash(hash)
|
96
|
+
return nil unless hash
|
97
|
+
|
98
|
+
# Extract variables from the hash.
|
99
|
+
id = hash['id']
|
100
|
+
owner = hash['owner']
|
101
|
+
application_id = hash['applicationId']
|
102
|
+
time = hash['time']
|
103
|
+
segment_count = hash['segmentCount']
|
104
|
+
direction = hash['direction']
|
105
|
+
to = hash['to']
|
106
|
+
from = hash['from']
|
107
|
+
media = hash['media']
|
108
|
+
text = hash['text']
|
109
|
+
tag = hash['tag']
|
110
|
+
|
111
|
+
# Create object from extracted values.
|
112
|
+
BandwidthMessage.new(id,
|
113
|
+
owner,
|
114
|
+
application_id,
|
115
|
+
time,
|
116
|
+
segment_count,
|
117
|
+
direction,
|
118
|
+
to,
|
119
|
+
from,
|
120
|
+
media,
|
121
|
+
text,
|
122
|
+
tag)
|
123
|
+
end
|
124
|
+
end
|
125
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module Bandwidth
|
7
|
+
# DeferredResult Model.
|
8
|
+
class DeferredResult < BaseModel
|
9
|
+
# TODO: Write general description for this method
|
10
|
+
# @return [Object]
|
11
|
+
attr_accessor :result
|
12
|
+
|
13
|
+
# TODO: Write general description for this method
|
14
|
+
# @return [Boolean]
|
15
|
+
attr_accessor :set_or_expired
|
16
|
+
|
17
|
+
# A mapping from model property names to API property names.
|
18
|
+
def self.names
|
19
|
+
@_hash = {} if @_hash.nil?
|
20
|
+
@_hash['result'] = 'result'
|
21
|
+
@_hash['set_or_expired'] = 'setOrExpired'
|
22
|
+
@_hash
|
23
|
+
end
|
24
|
+
|
25
|
+
def initialize(result = nil,
|
26
|
+
set_or_expired = nil)
|
27
|
+
@result = result
|
28
|
+
@set_or_expired = set_or_expired
|
29
|
+
end
|
30
|
+
|
31
|
+
# Creates an instance of the object from a hash.
|
32
|
+
def self.from_hash(hash)
|
33
|
+
return nil unless hash
|
34
|
+
|
35
|
+
# Extract variables from the hash.
|
36
|
+
result = hash['result']
|
37
|
+
set_or_expired = hash['setOrExpired']
|
38
|
+
|
39
|
+
# Create object from extracted values.
|
40
|
+
DeferredResult.new(result,
|
41
|
+
set_or_expired)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module Bandwidth
|
7
|
+
# FieldError Model.
|
8
|
+
class FieldError < BaseModel
|
9
|
+
# TODO: Write general description for this method
|
10
|
+
# @return [String]
|
11
|
+
attr_accessor :field_name
|
12
|
+
|
13
|
+
# TODO: Write general description for this method
|
14
|
+
# @return [String]
|
15
|
+
attr_accessor :description
|
16
|
+
|
17
|
+
# A mapping from model property names to API property names.
|
18
|
+
def self.names
|
19
|
+
@_hash = {} if @_hash.nil?
|
20
|
+
@_hash['field_name'] = 'fieldName'
|
21
|
+
@_hash['description'] = 'description'
|
22
|
+
@_hash
|
23
|
+
end
|
24
|
+
|
25
|
+
def initialize(field_name = nil,
|
26
|
+
description = nil)
|
27
|
+
@field_name = field_name
|
28
|
+
@description = description
|
29
|
+
end
|
30
|
+
|
31
|
+
# Creates an instance of the object from a hash.
|
32
|
+
def self.from_hash(hash)
|
33
|
+
return nil unless hash
|
34
|
+
|
35
|
+
# Extract variables from the hash.
|
36
|
+
field_name = hash['fieldName']
|
37
|
+
description = hash['description']
|
38
|
+
|
39
|
+
# Create object from extracted values.
|
40
|
+
FieldError.new(field_name,
|
41
|
+
description)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,123 @@
|
|
1
|
+
# bandwidth
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module Bandwidth
|
7
|
+
# Media Model.
|
8
|
+
class Media < BaseModel
|
9
|
+
# TODO: Write general description for this method
|
10
|
+
# @return [Object]
|
11
|
+
attr_accessor :input_stream
|
12
|
+
|
13
|
+
# TODO: Write general description for this method
|
14
|
+
# @return [String]
|
15
|
+
attr_accessor :content
|
16
|
+
|
17
|
+
# TODO: Write general description for this method
|
18
|
+
# @return [String]
|
19
|
+
attr_accessor :url
|
20
|
+
|
21
|
+
# TODO: Write general description for this method
|
22
|
+
# @return [String]
|
23
|
+
attr_accessor :content_length
|
24
|
+
|
25
|
+
# TODO: Write general description for this method
|
26
|
+
# @return [String]
|
27
|
+
attr_accessor :content_type
|
28
|
+
|
29
|
+
# TODO: Write general description for this method
|
30
|
+
# @return [List of Tag]
|
31
|
+
attr_accessor :tags
|
32
|
+
|
33
|
+
# TODO: Write general description for this method
|
34
|
+
# @return [String]
|
35
|
+
attr_accessor :user_id
|
36
|
+
|
37
|
+
# TODO: Write general description for this method
|
38
|
+
# @return [String]
|
39
|
+
attr_accessor :media_name
|
40
|
+
|
41
|
+
# TODO: Write general description for this method
|
42
|
+
# @return [String]
|
43
|
+
attr_accessor :media_id
|
44
|
+
|
45
|
+
# TODO: Write general description for this method
|
46
|
+
# @return [String]
|
47
|
+
attr_accessor :cache_control
|
48
|
+
|
49
|
+
# A mapping from model property names to API property names.
|
50
|
+
def self.names
|
51
|
+
@_hash = {} if @_hash.nil?
|
52
|
+
@_hash['input_stream'] = 'inputStream'
|
53
|
+
@_hash['content'] = 'content'
|
54
|
+
@_hash['url'] = 'url'
|
55
|
+
@_hash['content_length'] = 'contentLength'
|
56
|
+
@_hash['content_type'] = 'contentType'
|
57
|
+
@_hash['tags'] = 'tags'
|
58
|
+
@_hash['user_id'] = 'userId'
|
59
|
+
@_hash['media_name'] = 'mediaName'
|
60
|
+
@_hash['media_id'] = 'mediaId'
|
61
|
+
@_hash['cache_control'] = 'cacheControl'
|
62
|
+
@_hash
|
63
|
+
end
|
64
|
+
|
65
|
+
def initialize(input_stream = nil,
|
66
|
+
content = nil,
|
67
|
+
url = nil,
|
68
|
+
content_length = nil,
|
69
|
+
content_type = nil,
|
70
|
+
tags = nil,
|
71
|
+
user_id = nil,
|
72
|
+
media_name = nil,
|
73
|
+
media_id = nil,
|
74
|
+
cache_control = nil)
|
75
|
+
@input_stream = input_stream
|
76
|
+
@content = content
|
77
|
+
@url = url
|
78
|
+
@content_length = content_length
|
79
|
+
@content_type = content_type
|
80
|
+
@tags = tags
|
81
|
+
@user_id = user_id
|
82
|
+
@media_name = media_name
|
83
|
+
@media_id = media_id
|
84
|
+
@cache_control = cache_control
|
85
|
+
end
|
86
|
+
|
87
|
+
# Creates an instance of the object from a hash.
|
88
|
+
def self.from_hash(hash)
|
89
|
+
return nil unless hash
|
90
|
+
|
91
|
+
# Extract variables from the hash.
|
92
|
+
input_stream = hash['inputStream']
|
93
|
+
content = hash['content']
|
94
|
+
url = hash['url']
|
95
|
+
content_length = hash['contentLength']
|
96
|
+
content_type = hash['contentType']
|
97
|
+
# Parameter is an array, so we need to iterate through it
|
98
|
+
tags = nil
|
99
|
+
unless hash['tags'].nil?
|
100
|
+
tags = []
|
101
|
+
hash['tags'].each do |structure|
|
102
|
+
tags << (Tag.from_hash(structure) if structure)
|
103
|
+
end
|
104
|
+
end
|
105
|
+
user_id = hash['userId']
|
106
|
+
media_name = hash['mediaName']
|
107
|
+
media_id = hash['mediaId']
|
108
|
+
cache_control = hash['cacheControl']
|
109
|
+
|
110
|
+
# Create object from extracted values.
|
111
|
+
Media.new(input_stream,
|
112
|
+
content,
|
113
|
+
url,
|
114
|
+
content_length,
|
115
|
+
content_type,
|
116
|
+
tags,
|
117
|
+
user_id,
|
118
|
+
media_name,
|
119
|
+
media_id,
|
120
|
+
cache_control)
|
121
|
+
end
|
122
|
+
end
|
123
|
+
end
|