class Gravaty::Utils::RpcConnector::RpcConnector

Creates a RpcConnector described by the user's email digest and a password. Throws a ArgumentError if the supplied digest or the password are not valid.

Usage
  • rpc_connector = RpcConnector.new digest, passowrd

Params
  • digest, the user's email address MD5 digest.

  • password, the user's Gravatar account password.

Returns

a RcpConnector object for the specified email

digest.

Raises

ArgumentError, if any of the supplied parameters are

not valid.

Public Class Methods

new(digest, password = nil) click to toggle source
# File lib/gravaty/utils/rpc_connector.rb, line 59
def initialize(digest, password = nil)
  I18n.load_path =
    Dir[File.join(File.dirname(__FILE__),
                  '/../locales/', '*.yml')]

  raise ArgumentError, I18n.t('error.nil') if digest.nil? ||
                                              digest.empty?
  raise ArgumentError, I18n.t('error.nil') if password.nil? ||
                                              password.empty?

  @digest = digest
  @connector = XMLRPC::Client.new(RPC_URI, build_rpc_path, 443,
                                  nil, nil, nil, nil, true)

  @params = {}
  @params[:password] = password
end

Public Instance Methods

call(a_method = RPC_TEST_METHOD, params = {}) click to toggle source
# File lib/gravaty/utils/rpc_connector.rb, line 77
def call(a_method = RPC_TEST_METHOD, params = {})
  raiser_downcase 'error.value', a_method, RPC_METHODS

  @connector.call a_method, @params.merge(params)
end

Private Instance Methods

build_rpc_path() click to toggle source

—————————— here starts the list of private methods

# File lib/gravaty/utils/rpc_connector.rb, line 87
def build_rpc_path
  "/xmlrpc?user=#{@digest}"
end