class LetsencryptWebfaction::WebfactionApiCredentials

Constants

WEBFACTION_API_VERSION

Attributes

api_server[R]
password[R]
servername[R]
username[R]

Public Class Methods

new(username:, password:, servername:, api_server:) click to toggle source
# File lib/letsencrypt_webfaction/webfaction_api_credentials.rb, line 14
def initialize(username:, password:, servername:, api_server:)
  @username = username
  @password = password
  @servername = servername
  @api_server = api_server
end

Public Instance Methods

call(action, *args) click to toggle source
# File lib/letsencrypt_webfaction/webfaction_api_credentials.rb, line 21
def call(action, *args)
  server_client.call(action, session_id, *args)
end
valid?() click to toggle source
# File lib/letsencrypt_webfaction/webfaction_api_credentials.rb, line 25
def valid?
  !session_id.nil?
rescue XMLRPC::FaultException => e
  return false if e.message == 'LoginError'

  raise
end

Private Instance Methods

server_client() click to toggle source
# File lib/letsencrypt_webfaction/webfaction_api_credentials.rb, line 35
def server_client
  @_server_client ||= XMLRPC::Client.new2(api_server)
end
session_id() click to toggle source
# File lib/letsencrypt_webfaction/webfaction_api_credentials.rb, line 39
def session_id
  @_session_id ||= begin
    login_resp = server_client.call('login', username, password, servername, WEBFACTION_API_VERSION)
    login_resp[0]
  end
end