class Acme::Client::Resources::Challenges::Base

def assign_attributes(status:, url:, token:, error: nil, validated: nil)

def assign_attributes(status:, url:, token:, error: nil, validated: nil)
  @status = status
  @url = url
  @token = token
  @error = error
  @validated = validated
end

def challenge_type

def challenge_type
  self.class::CHALLENGE_TYPE
end

def initialize(client, **arguments)

def initialize(client, **arguments)
  @client = client
  assign_attributes(**arguments)
end

def key_authorization

def key_authorization
  "#{token}.#{@client.jwk.thumbprint}"
end

def reload

def reload
  assign_attributes(**@client.challenge(url: url).to_h)
  true
end

def request_validation

def request_validation
  assign_attributes(**send_challenge_validation(
    url: url
  ))
  true
end

def send_challenge_validation(url:)

def send_challenge_validation(url:)
  @client.request_challenge_validation(
    url: url
  ).to_h
end

def to_h

def to_h
  { status: status, url: url, token: token, error: error, validated: validated }
end