Class: Twilio::REST::Verify::V2::ServiceContext::EntityContext::ChallengeContext

Inherits:
InstanceContext
  • Object
show all
Defined in:
lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb,
lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb

Overview

PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.

Defined Under Namespace

Classes: NotificationInstance, NotificationList, NotificationPage

Instance Method Summary collapse

Constructor Details

#initialize(version, service_sid, identity, sid) ⇒ ChallengeContext

Initialize the ChallengeContext

Parameters:

  • version (Version)

    Version that contains the resource

  • service_sid (String)

    The unique SID identifier of the Service.

  • identity (String)

    The unique external identifier for the Entity of the Service. This identifier should be immutable, not PII, and generated by your external system, such as your user's UUID, GUID, or SID. This value must be between 8 and 64 characters long.

  • sid (String)

    A 34 character string that uniquely identifies this Challenge.


225
226
227
228
229
230
231
232
233
234
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 225

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

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

  # Dependents
  @notifications = nil
end

Instance Method Details

#fetchChallengeInstance

Fetch the ChallengeInstance

Returns:


239
240
241
242
243
244
245
246
247
248
249
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 239

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

  ChallengeInstance.new(
      @version,
      payload,
      service_sid: @solution[:service_sid],
      identity: @solution[:identity],
      sid: @solution[:sid],
  )
end

#inspectObject

Provide a detailed, user friendly representation


298
299
300
301
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 298

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

#notificationsNotificationList, NotificationContext

Access the notifications

Returns:


276
277
278
279
280
281
282
283
284
285
286
287
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 276

def notifications
  unless @notifications
    @notifications = NotificationList.new(
        @version,
        service_sid: @solution[:service_sid],
        identity: @solution[:identity],
        challenge_sid: @solution[:sid],
    )
  end

  @notifications
end

#to_sObject

Provide a user friendly representation


291
292
293
294
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 291

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

#update(auth_payload: :unset) ⇒ ChallengeInstance

Update the ChallengeInstance

Parameters:

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

    The optional payload needed to verify the Challenge. E.g., a TOTP would use the numeric code. For `TOTP` this value must be between 3 and 8 characters long. For `Push` this value can be up to 5456 characters in length

Returns:


258
259
260
261
262
263
264
265
266
267
268
269
270
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 258

def update(auth_payload: :unset)
  data = Twilio::Values.of({'AuthPayload' => auth_payload, })

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

  ChallengeInstance.new(
      @version,
      payload,
      service_sid: @solution[:service_sid],
      identity: @solution[:identity],
      sid: @solution[:sid],
  )
end