Class: Acme::Client::Resources::Directory

Inherits:
Object
  • Object
show all
Defined in:
lib/acme/client/resources/directory.rb

Constant Summary collapse

DIRECTORY_RESOURCES =
{
  new_nonce: 'newNonce',
  new_account: 'newAccount',
  new_order: 'newOrder',
  new_authz: 'newAuthz',
  revoke_certificate: 'revokeCert',
  key_change: 'keyChange',
  renewal_info: 'renewalInfo'
}
DIRECTORY_META =
{
  terms_of_service: 'termsOfService',
  website: 'website',
  caa_identities: 'caaIdentities',
  external_account_required: 'externalAccountRequired',
  profiles: 'profiles'
}

Instance Method Summary collapse

Constructor Details

#initialize(client, **arguments) ⇒ Directory

Returns a new instance of Directory.



22
23
24
25
# File 'lib/acme/client/resources/directory.rb', line 22

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

Instance Method Details

#caa_identitiesObject



42
43
44
# File 'lib/acme/client/resources/directory.rb', line 42

def caa_identities
  meta[DIRECTORY_META[:caa_identities]]
end

#endpoint_for(key) ⇒ Object



27
28
29
30
31
32
# File 'lib/acme/client/resources/directory.rb', line 27

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_requiredObject



46
47
48
# File 'lib/acme/client/resources/directory.rb', line 46

def 
  meta[DIRECTORY_META[:external_account_required]]
end

#metaObject



54
55
56
# File 'lib/acme/client/resources/directory.rb', line 54

def meta
  @directory[:meta]
end

#profilesObject



50
51
52
# File 'lib/acme/client/resources/directory.rb', line 50

def profiles
  meta[DIRECTORY_META[:profiles]]
end

#terms_of_serviceObject



34
35
36
# File 'lib/acme/client/resources/directory.rb', line 34

def terms_of_service
  meta[DIRECTORY_META[:terms_of_service]]
end

#websiteObject



38
39
40
# File 'lib/acme/client/resources/directory.rb', line 38

def website
  meta[DIRECTORY_META[:website]]
end