class Acme::Client::Resources::Directory

Constants

DIRECTORY_META
DIRECTORY_RESOURCES

Public Class Methods

new(client, **arguments) click to toggle source
# File lib/acme/client/resources/directory.rb, line 20
def initialize(client, **arguments)
  @client = client
  assign_attributes(**arguments)
end

Public Instance Methods

caa_identities() click to toggle source
# File lib/acme/client/resources/directory.rb, line 40
def caa_identities
  meta[DIRECTORY_META[:caa_identities]]
end
endpoint_for(key) click to toggle source
# File lib/acme/client/resources/directory.rb, line 25
def endpoint_for(key)
  @directory.fetch(key) do |missing_key|
    raise Acme::Client::Error::UnsupportedOperation,
      "Directory at #{@url} does not include `#{missing_key}`"
  end
end
external_account_required() click to toggle source
# File lib/acme/client/resources/directory.rb, line 44
def external_account_required
  meta[DIRECTORY_META[:external_account_required]]
end
meta() click to toggle source
# File lib/acme/client/resources/directory.rb, line 48
def meta
  @directory[:meta]
end
terms_of_service() click to toggle source
# File lib/acme/client/resources/directory.rb, line 32
def terms_of_service
  meta[DIRECTORY_META[:terms_of_service]]
end
website() click to toggle source
# File lib/acme/client/resources/directory.rb, line 36
def website
  meta[DIRECTORY_META[:website]]
end

Private Instance Methods

assign_attributes(directory:) click to toggle source
# File lib/acme/client/resources/directory.rb, line 54
def assign_attributes(directory:)
  @directory = {}
  @directory[:meta] = directory.delete('meta')
  DIRECTORY_RESOURCES.each do |key, entry|
    @directory[key] = URI(directory[entry]) if directory[entry]
  end
end