Class: Twilio::REST::Sync::V1::ServiceContext::SyncListContext::SyncListItemContext

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

Instance Method Summary collapse

Constructor Details

#initialize(version, service_sid, list_sid, index) ⇒ SyncListItemContext

Initialize the SyncListItemContext

Parameters:

  • version (Version)

    Version that contains the resource

  • service_sid (String)

    The SID of the Sync Service with the Sync List Item resource to fetch.

  • list_sid (String)

    The SID of the Sync List with the Sync List Item resource to fetch. Can be the Sync List resource's `sid` or its `unique_name`.

  • index (String)

    The index of the Sync List Item resource to fetch.


225
226
227
228
229
230
231
# File 'lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb', line 225

def initialize(version, service_sid, list_sid, index)
  super(version)

  # Path Solution
  @solution = {service_sid: service_sid, list_sid: list_sid, index: index, }
  @uri = "/Services/#{@solution[:service_sid]}/Lists/#{@solution[:list_sid]}/Items/#{@solution[:index]}"
end

Instance Method Details

#delete(if_match: :unset) ⇒ Boolean

Delete the SyncListItemInstance

Parameters:

Returns:

  • (Boolean)

    true if delete succeeds, false otherwise


255
256
257
258
259
# File 'lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb', line 255

def delete(if_match: :unset)
  headers = Twilio::Values.of({'If-Match' => if_match, })

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

#fetchSyncListItemInstance

Fetch the SyncListItemInstance

Returns:


236
237
238
239
240
241
242
243
244
245
246
# File 'lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb', line 236

def fetch
  payload = @version.fetch('GET', @uri)

  SyncListItemInstance.new(
      @version,
      payload,
      service_sid: @solution[:service_sid],
      list_sid: @solution[:list_sid],
      index: @solution[:index],
  )
end

#inspectObject

Provide a detailed, user friendly representation


309
310
311
312
# File 'lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb', line 309

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

#to_sObject

Provide a user friendly representation


302
303
304
305
# File 'lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb', line 302

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

#update(data: :unset, ttl: :unset, item_ttl: :unset, collection_ttl: :unset, if_match: :unset) ⇒ SyncListItemInstance

Update the SyncListItemInstance

Parameters:

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

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

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

    An alias for `item_ttl`. If both parameters are provided, this value is ignored.

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

    How long, in seconds, before the List Item expires (time-to-live) and is deleted.

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

    How long, in seconds, before the List Item's parent Sync List expires (time-to-live) and is deleted. This parameter can only be used when the List Item's `data` or `ttl` is updated in the same request.

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

    If provided, applies this mutation if (and only if) the “revision” field of this map item] matches the provided value. This matches the semantics of (and is implemented with) the HTTP [If-Match header.

Returns:


280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
# File 'lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb', line 280

def update(data: :unset, ttl: :unset, item_ttl: :unset, collection_ttl: :unset, if_match: :unset)
  data = Twilio::Values.of({
      'Data' => Twilio.serialize_object(data),
      'Ttl' => ttl,
      'ItemTtl' => item_ttl,
      'CollectionTtl' => collection_ttl,
  })
  headers = Twilio::Values.of({'If-Match' => if_match, })

  payload = @version.update('POST', @uri, data: data, headers: headers)

  SyncListItemInstance.new(
      @version,
      payload,
      service_sid: @solution[:service_sid],
      list_sid: @solution[:list_sid],
      index: @solution[:index],
  )
end