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)


52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/gravaty/utils/rpc_connector.rb', line 52

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? or
      digest.empty?
  raise ArgumentError, I18n.t('error.nil') if password.nil? or
      password.empty?

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

  @params = Hash.new
  @params[:password] = password
end

Instance Method Details

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



70
71
72
73
74
# File 'lib/gravaty/utils/rpc_connector.rb', line 70

def call(a_method = RPC_TEST_METHOD, params = {})
  raiser_downcase 'error.value', a_method, RPC_METHODS

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