class Acme::Client::Resources::Authorization
def assign_attributes(url:, status:, expires:, challenges:, identifier:, wildcard: false)
def assign_attributes(url:, status:, expires:, challenges:, identifier:, wildcard: false) @url = url @identifier = identifier @domain = identifier.fetch('value') @status = status @expires = expires @challenges = challenges @wildcard = wildcard end
def challenges
def challenges @challenges.map do |challenge| initialize_challenge(challenge) end end
def deactivate
def deactivate assign_attributes(**@client.deactivate_authorization(url: url).to_h) true end
def dns01
def dns01 @dns01 ||= challenges.find { |challenge| challenge.is_a?(Acme::Client::Resources::Challenges::DNS01) } end
def http01
def http01 @http01 ||= challenges.find { |challenge| challenge.is_a?(Acme::Client::Resources::Challenges::HTTP01) } end
def initialize(client, **arguments)
def initialize(client, **arguments) @client = client assign_attributes(**arguments) end
def initialize_challenge(attributes)
def initialize_challenge(attributes) arguments = { type: attributes.fetch('type'), status: attributes.fetch('status'), url: attributes.fetch('url'), token: attributes.fetch('token', nil), error: attributes['error'] } Acme::Client::Resources::Challenges.new(@client, **arguments) end
def reload
def reload assign_attributes(**@client.authorization(url: url).to_h) true end
def to_h
def to_h { url: url, identifier: identifier, status: status, expires: expires, challenges: @challenges, wildcard: wildcard } end