class Acme::Client::Resources::Account

def assign_attributes(url:, term_of_service:, status:, contact:)

def assign_attributes(url:, term_of_service:, status:, contact:)
  @url = url
  @term_of_service = term_of_service
  @status = status
  @contact = Array(contact)
end

def deactivate

def deactivate
  assign_attributes(**@client.account_deactivate.to_h)
  true
end

def initialize(client, **arguments)

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

def kid

def kid
  url
end

def reload

def reload
  assign_attributes(**@client.account.to_h)
  true
end

def to_h

def to_h
  {
    url: url,
    term_of_service: term_of_service,
    status: status,
    contact: contact
  }
end

def update(contact: nil, terms_of_service_agreed: nil)

def update(contact: nil, terms_of_service_agreed: nil)
  assign_attributes(**@client.account_update(
    contact: contact, terms_of_service_agreed: term_of_service
  ).to_h)
  true
end