Class: Twilio::REST::Sync::V1::ServiceContext::DocumentContext

Inherits:
InstanceContext
  • Object
show all
Defined in:
lib/twilio-ruby/rest/sync/v1/service/document.rb,
lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb

Defined Under Namespace

Classes: DocumentPermissionContext, DocumentPermissionInstance, DocumentPermissionInstanceMetadata, DocumentPermissionList, DocumentPermissionListResponse, DocumentPermissionPage, DocumentPermissionPageMetadata

Instance Method Summary collapse

Constructor Details

#initialize(version, service_sid, sid) ⇒ DocumentContext

Initialize the DocumentContext

Parameters:

  • version (Version)

    Version that contains the resource

  • service_sid (String)

    The SID of the [Sync Service](www.twilio.com/docs/sync/api/service) with the Document resource to update.

  • sid (String)

    The SID of the Document resource to update. Can be the Document resource’s sid or its unique_name.



232
233
234
235
236
237
238
239
240
241
242
# File 'lib/twilio-ruby/rest/sync/v1/service/document.rb', line 232

def initialize(version, service_sid, sid)
    super(version)
    

    # Path Solution
    @solution = { service_sid: service_sid, sid: sid,  }
    @uri = "/Services/#{@solution[:service_sid]}/Documents/#{@solution[:sid]}"

    # Dependents
    @document_permissions = nil
end

Instance Method Details

#deleteBoolean

Delete the DocumentInstance

Returns:

  • (Boolean)

    True if delete succeeds, false otherwise



246
247
248
249
250
251
252
253
254
# File 'lib/twilio-ruby/rest/sync/v1/service/document.rb', line 246

def delete

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    
    

    @version.delete('DELETE', @uri, headers: headers)
end

#delete_with_metadataBoolean

Delete the DocumentInstanceMetadata

Returns:

  • (Boolean)

    True if delete succeeds, false otherwise



259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
# File 'lib/twilio-ruby/rest/sync/v1/service/document.rb', line 259

def 

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    
    
      response = @version.('DELETE', @uri, headers: headers)
      document_instance = DocumentInstance.new(
          @version,
          response.body,
          account_sid: @solution[:account_sid],
          sid: @solution[:sid],
      )
      .new(@version, document_instance, response.headers, response.status_code)
end

#document_permissions(identity = :unset) ⇒ DocumentPermissionList, DocumentPermissionContext

Access the document_permissions

Returns:

Raises:

  • (ArgumentError)


395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
# File 'lib/twilio-ruby/rest/sync/v1/service/document.rb', line 395

def document_permissions(identity=:unset)

    raise ArgumentError, 'identity cannot be nil' if identity.nil?

    if identity != :unset
        return DocumentPermissionContext.new(@version, @solution[:service_sid], @solution[:sid],identity )
    end

    unless @document_permissions
        @document_permissions = DocumentPermissionList.new(
            @version, service_sid: @solution[:service_sid], document_sid: @solution[:sid], )
    end

 @document_permissions
end

#fetchDocumentInstance

Fetch the DocumentInstance

Returns:



278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
# File 'lib/twilio-ruby/rest/sync/v1/service/document.rb', line 278

def fetch

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    
    
    
    
    payload = @version.fetch('GET', @uri, headers: headers)
    DocumentInstance.new(
        @version,
        payload,
        service_sid: @solution[:service_sid],
        sid: @solution[:sid],
    )
end

#fetch_with_metadataDocumentInstance

Fetch the DocumentInstanceMetadata

Returns:



298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
# File 'lib/twilio-ruby/rest/sync/v1/service/document.rb', line 298

def 

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    
    
    
    
    response = @version.('GET', @uri, headers: headers)
    document_instance = DocumentInstance.new(
        @version,
        response.body,
        service_sid: @solution[:service_sid],
        sid: @solution[:sid],
    )
    .new(
        @version,
        document_instance,
        response.headers,
        response.status_code
    )
end

#inspectObject

Provide a detailed, user friendly representation



420
421
422
423
# File 'lib/twilio-ruby/rest/sync/v1/service/document.rb', line 420

def inspect
    context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
    "#<Twilio.Sync.V1.DocumentContext #{context}>"
end

#to_sObject

Provide a user friendly representation



413
414
415
416
# File 'lib/twilio-ruby/rest/sync/v1/service/document.rb', line 413

def to_s
    context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
    "#<Twilio.Sync.V1.DocumentContext #{context}>"
end

#update(data: :unset, ttl: :unset, if_match: :unset) ⇒ DocumentInstance

Update the DocumentInstance

Parameters:

  • data (Object) (defaults to: :unset)

    A JSON string that represents an arbitrary, schema-less object that the Sync Document stores. Can be up to 16 KiB in length.

  • ttl (String) (defaults to: :unset)

    How long, [in seconds](www.twilio.com/docs/sync/limits#sync-payload-limits), before the Sync Document expires and is deleted (time-to-live).

  • if_match (String) (defaults to: :unset)

    The If-Match HTTP request header

Returns:



327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
# File 'lib/twilio-ruby/rest/sync/v1/service/document.rb', line 327

def update(
    data: :unset, 
    ttl: :unset, 
    if_match: :unset
)

    data = Twilio::Values.of({
        'Data' => Twilio.serialize_object(data),
        'Ttl' => ttl,
    })

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'If-Match' => if_match, })
    
    
    
    
    
    payload = @version.update('POST', @uri, data: data, headers: headers)
    DocumentInstance.new(
        @version,
        payload,
        service_sid: @solution[:service_sid],
        sid: @solution[:sid],
    )
end

#update_with_metadata(data: :unset, ttl: :unset, if_match: :unset) ⇒ DocumentInstance

Update the DocumentInstanceMetadata

Parameters:

  • data (Object) (defaults to: :unset)

    A JSON string that represents an arbitrary, schema-less object that the Sync Document stores. Can be up to 16 KiB in length.

  • ttl (String) (defaults to: :unset)

    How long, [in seconds](www.twilio.com/docs/sync/limits#sync-payload-limits), before the Sync Document expires and is deleted (time-to-live).

  • if_match (String) (defaults to: :unset)

    The If-Match HTTP request header

Returns:



359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
# File 'lib/twilio-ruby/rest/sync/v1/service/document.rb', line 359

def (
  data: :unset, 
  ttl: :unset, 
  if_match: :unset
)

    data = Twilio::Values.of({
        'Data' => Twilio.serialize_object(data),
        'Ttl' => ttl,
    })

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'If-Match' => if_match, })
    
    
    
    
    
    response = @version.('POST', @uri, data: data, headers: headers)
    document_instance = DocumentInstance.new(
        @version,
        response.body,
        service_sid: @solution[:service_sid],
        sid: @solution[:sid],
    )
    .new(
        @version,
        document_instance,
        response.headers,
        response.status_code
    )
end