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.



220
221
222
223
224
225
226
227
228
229
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 220

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:



234
235
236
237
238
239
240
241
242
243
244
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 234

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



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

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

#notificationsNotificationList, NotificationContext

Access the notifications

Returns:



269
270
271
272
273
274
275
276
277
278
279
280
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 269

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



284
285
286
287
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 284

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.

Returns:



251
252
253
254
255
256
257
258
259
260
261
262
263
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 251

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