Class: Gravaty::Utils::RpcConnector::RpcConnector

Inherits:
Object
  • Object
show all
Includes:
Gravaty::Utils::Raisers
Defined in:
lib/gravaty/utils/rpc_connector.rb

Overview

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.

Instance Method Summary collapse

Methods included from Gravaty::Utils::Raisers

#raiser_downcase, #raiser_to_i

Constructor Details

#initialize(digest, password = nil) ⇒ RpcConnector

Returns a new instance of RpcConnector.

Raises:

  • (ArgumentError)


59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# 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

Instance Method Details

#call(a_method = RPC_TEST_METHOD, params = {}) ⇒ Object



77
78
79
80
81
# 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