Class: Twilio::REST::Conversations::V1::CredentialContext

Inherits:
InstanceContext
  • Object
show all
Defined in:
lib/twilio-ruby/rest/conversations/v1/credential.rb

Instance Method Summary collapse

Constructor Details

#initialize(version, sid) ⇒ CredentialContext

Initialize the CredentialContext

Parameters:

  • version (Version)

    Version that contains the resource

  • sid (String)

    A 34 character string that uniquely identifies this resource.


188
189
190
191
192
193
194
# File 'lib/twilio-ruby/rest/conversations/v1/credential.rb', line 188

def initialize(version, sid)
  super(version)

  # Path Solution
  @solution = {sid: sid, }
  @uri = "/Credentials/#{@solution[:sid]}"
end

Instance Method Details

#deleteBoolean

Delete the CredentialInstance

Returns:

  • (Boolean)

    true if delete succeeds, false otherwise


238
239
240
# File 'lib/twilio-ruby/rest/conversations/v1/credential.rb', line 238

def delete
   @version.delete('DELETE', @uri)
end

#fetchCredentialInstance

Fetch the CredentialInstance

Returns:


245
246
247
248
249
# File 'lib/twilio-ruby/rest/conversations/v1/credential.rb', line 245

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

  CredentialInstance.new(@version, payload, sid: @solution[:sid], )
end

#inspectObject

Provide a detailed, user friendly representation


260
261
262
263
# File 'lib/twilio-ruby/rest/conversations/v1/credential.rb', line 260

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

#to_sObject

Provide a user friendly representation


253
254
255
256
# File 'lib/twilio-ruby/rest/conversations/v1/credential.rb', line 253

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

#update(type: :unset, friendly_name: :unset, certificate: :unset, private_key: :unset, sandbox: :unset, api_key: :unset, secret: :unset) ⇒ CredentialInstance

Update the CredentialInstance

Parameters:

  • type (credential.PushType) (defaults to: :unset)

    The type of push-notification service the credential is for. Can be: `fcm`, `gcm`, or `apn`.

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

    A descriptive string that you create to describe the new resource. It can be up to 64 characters long.

  • certificate (String) (defaults to: :unset)
    APN only

    The URL encoded representation of the

    certificate. For example, `—–BEGIN CERTIFICATE—– MIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEF.….A== —–END CERTIFICATE—–`.

  • private_key (String) (defaults to: :unset)
    APN only

    The URL encoded representation of the

    private key. For example, `—–BEGIN RSA PRIVATE KEY—– MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fG… —–END RSA PRIVATE KEY—–`.

  • sandbox (Boolean) (defaults to: :unset)
    APN only

    Whether to send the credential to sandbox

    APNs. Can be `true` to send to sandbox APNs or `false` to send to production.

  • api_key (String) (defaults to: :unset)
    GCM only

    The API key for the project that was obtained

    from the Google Developer console for your GCM Service application credential.

  • secret (String) (defaults to: :unset)
    FCM only

    The **Server key** of your project from the

    Firebase console, found under Settings / Cloud messaging.

Returns:


219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
# File 'lib/twilio-ruby/rest/conversations/v1/credential.rb', line 219

def update(type: :unset, friendly_name: :unset, certificate: :unset, private_key: :unset, sandbox: :unset, api_key: :unset, secret: :unset)
  data = Twilio::Values.of({
      'Type' => type,
      'FriendlyName' => friendly_name,
      'Certificate' => certificate,
      'PrivateKey' => private_key,
      'Sandbox' => sandbox,
      'ApiKey' => api_key,
      'Secret' => secret,
  })

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

  CredentialInstance.new(@version, payload, sid: @solution[:sid], )
end