Class: Twilio::REST::Insights::V1::CallContext::CallSummaryInstance

Inherits:
Twilio::REST::InstanceResource show all
Defined in:
lib/twilio-ruby/rest/insights/v1/call/call_summary.rb

Instance Method Summary collapse

Constructor Details

#initialize(version, payload, call_sid: nil) ⇒ CallSummaryInstance

Initialize the CallSummaryInstance

Parameters:

  • version (Version)

    Version that contains the resource

  • payload (Hash)

    payload that contains response from Twilio

  • account_sid (String)

    The SID of the Account that created this CallSummary resource.

  • sid (String)

    The SID of the Call resource to fetch.



132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
# File 'lib/twilio-ruby/rest/insights/v1/call/call_summary.rb', line 132

def initialize(version, payload , call_sid: nil)
    super(version)
    
    # Marshaled Properties
    @properties = { 
        'account_sid' => payload['account_sid'],
        'call_sid' => payload['call_sid'],
        'call_type' => payload['call_type'],
        'call_state' => payload['call_state'],
        'answered_by' => payload['answered_by'],
        'processing_state' => payload['processing_state'],
        'created_time' => Twilio.deserialize_iso8601_datetime(payload['created_time']),
        'start_time' => Twilio.deserialize_iso8601_datetime(payload['start_time']),
        'end_time' => Twilio.deserialize_iso8601_datetime(payload['end_time']),
        'duration' => payload['duration'] == nil ? payload['duration'] : payload['duration'].to_i,
        'connect_duration' => payload['connect_duration'] == nil ? payload['connect_duration'] : payload['connect_duration'].to_i,
        'from' => payload['from'],
        'to' => payload['to'],
        'carrier_edge' => payload['carrier_edge'],
        'client_edge' => payload['client_edge'],
        'sdk_edge' => payload['sdk_edge'],
        'sip_edge' => payload['sip_edge'],
        'tags' => payload['tags'],
        'url' => payload['url'],
        'attributes' => payload['attributes'],
        'properties' => payload['properties'],
        'trust' => payload['trust'],
        'annotation' => payload['annotation'],
    }

    # Context
    @instance_context = nil
    @params = { 'call_sid' => call_sid  || @properties['call_sid']  , }
end

Instance Method Details

#account_sidString

Returns:

  • (String)


180
181
182
# File 'lib/twilio-ruby/rest/insights/v1/call/call_summary.rb', line 180

def 
    @properties['account_sid']
end

#annotationHash

Returns:

  • (Hash)


312
313
314
# File 'lib/twilio-ruby/rest/insights/v1/call/call_summary.rb', line 312

def annotation
    @properties['annotation']
end

#answered_byAnsweredBy

Returns:

  • (AnsweredBy)


204
205
206
# File 'lib/twilio-ruby/rest/insights/v1/call/call_summary.rb', line 204

def answered_by
    @properties['answered_by']
end

#attributesHash

Returns:

  • (Hash)


294
295
296
# File 'lib/twilio-ruby/rest/insights/v1/call/call_summary.rb', line 294

def attributes
    @properties['attributes']
end

#call_sidString

Returns:

  • (String)


186
187
188
# File 'lib/twilio-ruby/rest/insights/v1/call/call_summary.rb', line 186

def call_sid
    @properties['call_sid']
end

#call_stateCallState

Returns:

  • (CallState)


198
199
200
# File 'lib/twilio-ruby/rest/insights/v1/call/call_summary.rb', line 198

def call_state
    @properties['call_state']
end

#call_typeCallType

Returns:

  • (CallType)


192
193
194
# File 'lib/twilio-ruby/rest/insights/v1/call/call_summary.rb', line 192

def call_type
    @properties['call_type']
end

#carrier_edgeHash

Returns:

  • (Hash)


258
259
260
# File 'lib/twilio-ruby/rest/insights/v1/call/call_summary.rb', line 258

def carrier_edge
    @properties['carrier_edge']
end

#client_edgeHash

Returns:

  • (Hash)


264
265
266
# File 'lib/twilio-ruby/rest/insights/v1/call/call_summary.rb', line 264

def client_edge
    @properties['client_edge']
end

#connect_durationString

Returns:

  • (String)


240
241
242
# File 'lib/twilio-ruby/rest/insights/v1/call/call_summary.rb', line 240

def connect_duration
    @properties['connect_duration']
end

#contextCallSummaryContext

Generate an instance context for the instance, the context is capable of performing various actions. All instance actions are proxied to the context

Returns:



171
172
173
174
175
176
# File 'lib/twilio-ruby/rest/insights/v1/call/call_summary.rb', line 171

def context
    unless @instance_context
        @instance_context = CallSummaryContext.new(@version , @params['call_sid'])
    end
    @instance_context
end

#created_timeTime

Returns:

  • (Time)


216
217
218
# File 'lib/twilio-ruby/rest/insights/v1/call/call_summary.rb', line 216

def created_time
    @properties['created_time']
end

#durationString

Returns:

  • (String)


234
235
236
# File 'lib/twilio-ruby/rest/insights/v1/call/call_summary.rb', line 234

def duration
    @properties['duration']
end

#end_timeTime

Returns:

  • (Time)


228
229
230
# File 'lib/twilio-ruby/rest/insights/v1/call/call_summary.rb', line 228

def end_time
    @properties['end_time']
end

#fetch(processing_state: :unset) ⇒ CallSummaryInstance

Fetch the CallSummaryInstance

Parameters:

  • processing_state (ProcessingState) (defaults to: :unset)

Returns:



320
321
322
323
324
325
326
327
# File 'lib/twilio-ruby/rest/insights/v1/call/call_summary.rb', line 320

def fetch(
    processing_state: :unset
)

    context.fetch(
        processing_state: processing_state, 
    )
end

#fromHash

Returns:

  • (Hash)


246
247
248
# File 'lib/twilio-ruby/rest/insights/v1/call/call_summary.rb', line 246

def from
    @properties['from']
end

#inspectObject

Provide a detailed, user friendly representation



338
339
340
341
# File 'lib/twilio-ruby/rest/insights/v1/call/call_summary.rb', line 338

def inspect
    values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
    "<Twilio.Insights.V1.CallSummaryInstance #{values}>"
end

#processing_stateProcessingState

Returns:

  • (ProcessingState)


210
211
212
# File 'lib/twilio-ruby/rest/insights/v1/call/call_summary.rb', line 210

def processing_state
    @properties['processing_state']
end

#propertiesHash

Returns:

  • (Hash)


300
301
302
# File 'lib/twilio-ruby/rest/insights/v1/call/call_summary.rb', line 300

def properties
    @properties['properties']
end

#sdk_edgeHash

Returns:

  • (Hash)


270
271
272
# File 'lib/twilio-ruby/rest/insights/v1/call/call_summary.rb', line 270

def sdk_edge
    @properties['sdk_edge']
end

#sip_edgeHash

Returns:

  • (Hash)


276
277
278
# File 'lib/twilio-ruby/rest/insights/v1/call/call_summary.rb', line 276

def sip_edge
    @properties['sip_edge']
end

#start_timeTime

Returns:

  • (Time)


222
223
224
# File 'lib/twilio-ruby/rest/insights/v1/call/call_summary.rb', line 222

def start_time
    @properties['start_time']
end

#tagsArray<String>

Returns:

  • (Array<String>)


282
283
284
# File 'lib/twilio-ruby/rest/insights/v1/call/call_summary.rb', line 282

def tags
    @properties['tags']
end

#toHash

Returns:

  • (Hash)


252
253
254
# File 'lib/twilio-ruby/rest/insights/v1/call/call_summary.rb', line 252

def to
    @properties['to']
end

#to_sObject

Provide a user friendly representation



331
332
333
334
# File 'lib/twilio-ruby/rest/insights/v1/call/call_summary.rb', line 331

def to_s
    values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
    "<Twilio.Insights.V1.CallSummaryInstance #{values}>"
end

#trustHash

Returns:

  • (Hash)


306
307
308
# File 'lib/twilio-ruby/rest/insights/v1/call/call_summary.rb', line 306

def trust
    @properties['trust']
end

#urlString

Returns:

  • (String)


288
289
290
# File 'lib/twilio-ruby/rest/insights/v1/call/call_summary.rb', line 288

def url
    @properties['url']
end