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

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

Overview

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

Instance Method Summary collapse

Constructor Details

#initialize(version, payload, service_sid: nil, identity: nil, sid: nil) ⇒ ChallengeInstance

Initialize the ChallengeInstance

Parameters:

  • version (Version)

    Version that contains the resource

  • payload (Hash)

    payload that contains response from Twilio

  • service_sid (String) (defaults to: nil)

    The unique SID identifier of the Service.

  • identity (String) (defaults to: nil)

    Customer unique identity for the Entity owner of the Challenge. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user’s UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.

  • sid (String) (defaults to: nil)

    A 34 character string that uniquely identifies this Challenge.



342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 342

def initialize(version, payload, service_sid: nil, identity: nil, sid: nil)
  super(version)

  # Marshaled Properties
  @properties = {
      'sid' => payload['sid'],
      'account_sid' => payload['account_sid'],
      'service_sid' => payload['service_sid'],
      'entity_sid' => payload['entity_sid'],
      'identity' => payload['identity'],
      'factor_sid' => payload['factor_sid'],
      'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
      'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
      'date_responded' => Twilio.deserialize_iso8601_datetime(payload['date_responded']),
      'expiration_date' => Twilio.deserialize_iso8601_datetime(payload['expiration_date']),
      'status' => payload['status'],
      'responded_reason' => payload['responded_reason'],
      'details' => payload['details'],
      'hidden_details' => payload['hidden_details'],
      'factor_type' => payload['factor_type'],
      'url' => payload['url'],
      'links' => payload['links'],
  }

  # Context
  @instance_context = nil
  @params = {'service_sid' => service_sid, 'identity' => identity, 'sid' => sid || @properties['sid'], }
end

Instance Method Details

#account_sidString

Returns Account Sid.

Returns:

  • (String)

    Account Sid.



395
396
397
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 395

def 
  @properties['account_sid']
end

#contextChallengeContext

Generate an instance context for the instance, the context is capable of performing various actions. All instance actions are proxied to the context

Returns:



375
376
377
378
379
380
381
382
383
384
385
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 375

def context
  unless @instance_context
    @instance_context = ChallengeContext.new(
        @version,
        @params['service_sid'],
        @params['identity'],
        @params['sid'],
    )
  end
  @instance_context
end

#date_createdTime

Returns The date this Challenge was created.

Returns:

  • (Time)

    The date this Challenge was created



425
426
427
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 425

def date_created
  @properties['date_created']
end

#date_respondedTime

Returns The date this Challenge was responded.

Returns:

  • (Time)

    The date this Challenge was responded



437
438
439
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 437

def date_responded
  @properties['date_responded']
end

#date_updatedTime

Returns The date this Challenge was updated.

Returns:

  • (Time)

    The date this Challenge was updated



431
432
433
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 431

def date_updated
  @properties['date_updated']
end

#detailsHash

Returns Details about the Challenge.

Returns:

  • (Hash)

    Details about the Challenge.



461
462
463
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 461

def details
  @properties['details']
end

#entity_sidString

Returns Entity Sid.

Returns:

  • (String)

    Entity Sid.



407
408
409
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 407

def entity_sid
  @properties['entity_sid']
end

#expiration_dateTime

Returns The date-time when this Challenge expires.

Returns:

  • (Time)

    The date-time when this Challenge expires



443
444
445
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 443

def expiration_date
  @properties['expiration_date']
end

#factor_sidString

Returns Factor Sid.

Returns:

  • (String)

    Factor Sid.



419
420
421
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 419

def factor_sid
  @properties['factor_sid']
end

#factor_typechallenge.FactorTypes

Returns The Factor Type of this Challenge.

Returns:

  • (challenge.FactorTypes)

    The Factor Type of this Challenge



473
474
475
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 473

def factor_type
  @properties['factor_type']
end

#fetchChallengeInstance

Fetch the ChallengeInstance

Returns:



492
493
494
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 492

def fetch
  context.fetch
end

#hidden_detailsHash

Returns Hidden details about the Challenge.

Returns:

  • (Hash)

    Hidden details about the Challenge



467
468
469
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 467

def hidden_details
  @properties['hidden_details']
end

#identityString

Returns Unique external identifier of the Entity.

Returns:

  • (String)

    Unique external identifier of the Entity



413
414
415
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 413

def identity
  @properties['identity']
end

#inspectObject

Provide a detailed, user friendly representation



523
524
525
526
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 523

def inspect
  values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
  "<Twilio.Verify.V2.ChallengeInstance #{values}>"
end

Returns Nested resource URLs.

Returns:

  • (String)

    Nested resource URLs.



485
486
487
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 485

def links
  @properties['links']
end

#notificationsnotifications

Access the notifications

Returns:



510
511
512
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 510

def notifications
  context.notifications
end

#responded_reasonchallenge.ChallengeReasons

Returns The Reason of this Challenge ‘status`.

Returns:

  • (challenge.ChallengeReasons)

    The Reason of this Challenge ‘status`



455
456
457
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 455

def responded_reason
  @properties['responded_reason']
end

#service_sidString

Returns Service Sid.

Returns:

  • (String)

    Service Sid.



401
402
403
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 401

def service_sid
  @properties['service_sid']
end

#sidString

Returns A string that uniquely identifies this Challenge.

Returns:

  • (String)

    A string that uniquely identifies this Challenge.



389
390
391
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 389

def sid
  @properties['sid']
end

#statuschallenge.ChallengeStatuses

Returns The Status of this Challenge.

Returns:

  • (challenge.ChallengeStatuses)

    The Status of this Challenge



449
450
451
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 449

def status
  @properties['status']
end

#to_sObject

Provide a user friendly representation



516
517
518
519
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 516

def to_s
  values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
  "<Twilio.Verify.V2.ChallengeInstance #{values}>"
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:



503
504
505
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 503

def update(auth_payload: :unset)
  context.update(auth_payload: auth_payload, )
end

#urlString

Returns The URL of this resource.

Returns:

  • (String)

    The URL of this resource.



479
480
481
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 479

def url
  @properties['url']
end