class GodaddyApi::Client

Constants

API_URL

Attributes

key[R]

Public Class Methods

new(options) click to toggle source
# File lib/GodaddyApi/client.rb, line 9
def initialize(options)
  @key = options[:key]
  @secret = options[:secret]
  @resources = {}
end
resources() click to toggle source
# File lib/GodaddyApi/client.rb, line 21
def self.resources
  {
    images: ImageResource,
    keys: KeyResource,
    servers: ServerResource,
    limits: LimitResource,
    specs: SpecResource
  }
end

Public Instance Methods

connection() click to toggle source
# File lib/GodaddyApi/client.rb, line 15
def connection
  Faraday.new(connection_options) do |req|
    req.adapter :net_http
  end
end
method_missing(name, *args, &block) click to toggle source

This attaches resources to the client Resources map to a specific model

Calls superclass method
# File lib/GodaddyApi/client.rb, line 37
def method_missing(name, *args, &block)
  if self.class.resources.keys.include?(name)
    resources[name] ||= self.class.resources[name].new(connection: connection)
    resources[name]
  else
    super
  end
end
resources() click to toggle source
# File lib/GodaddyApi/client.rb, line 31
def resources
  @resources ||= {}
end

Private Instance Methods

connection_options() click to toggle source
# File lib/GodaddyApi/client.rb, line 48
def connection_options
  {
    url: API_URL,
    headers: {
      content_type: 'application/json',
      authorization: "sso-key #{@key}:#{@secret}"
    }
  }
end