Sha256: 070e64c6f3bab48599c5cdcbf4e8ee428f14d867e66be142f7c596af7d4346d4

Contents?: true

Size: 882 Bytes

Versions: 19

Compression:

Stored size: 882 Bytes

Contents

# frozen_string_literal: true
# typed: false

module WorkOS
  # The VerifyChallenge class provides a lightweight wrapper around
  # a WorkOS Authentication Challenge resource.
  class VerifyChallenge
    include HashProvider
    extend T::Sig

    attr_accessor :challenge, :valid

    sig { params(json: String).void }
    def initialize(json)
      raw = parse_json(json)
      @challenge = T.let(raw.challenge, Hash)
      @valid = raw.valid
    end

    def to_json(*)
      {
        challenge: challenge,
        valid: valid,
      }
    end

    private

    sig { params(json_string: String).returns(WorkOS::Types::VerifyChallengeStruct) }
    def parse_json(json_string)
      hash = JSON.parse(json_string, symbolize_names: true)

      WorkOS::Types::VerifyChallengeStruct.new(
        challenge: hash[:challenge],
        valid: hash[:valid],
      )
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
workos-4.1.0 lib/workos/verify_challenge.rb
workos-4.0.0 lib/workos/verify_challenge.rb
workos-3.1.0 lib/workos/verify_challenge.rb
workos-3.0.0 lib/workos/verify_challenge.rb
workos-2.17.0 lib/workos/verify_challenge.rb
workos-2.16.0 lib/workos/verify_challenge.rb
workos-2.15.0 lib/workos/verify_challenge.rb
workos-2.14.0 lib/workos/verify_challenge.rb
workos-2.13.0 lib/workos/verify_challenge.rb
workos-2.12.1 lib/workos/verify_challenge.rb
workos-2.12.0 lib/workos/verify_challenge.rb
workos-2.11.0 lib/workos/verify_challenge.rb
workos-2.10.0 lib/workos/verify_challenge.rb
workos-2.9.0 lib/workos/verify_challenge.rb
workos-2.8.0 lib/workos/verify_challenge.rb
workos-2.7.0 lib/workos/verify_challenge.rb
workos-2.6.0 lib/workos/verify_challenge.rb
workos-2.5.1 lib/workos/verify_challenge.rb
workos-2.5.0 lib/workos/verify_challenge.rb