Class: OpenX::XmlrpcClient
- Inherits:
-
Object
- Object
- OpenX::XmlrpcClient
- Defined in:
- lib/openx/xmlrpc_client.rb
Class Attribute Summary collapse
-
.retry_on_http_error ⇒ Object
Returns the value of attribute retry_on_http_error.
-
.timeout ⇒ Object
Returns the value of attribute timeout.
Class Method Summary collapse
Instance Method Summary collapse
- #call(method, *args) ⇒ Object
-
#initialize(server, uri) ⇒ XmlrpcClient
constructor
A new instance of XmlrpcClient.
Constructor Details
#initialize(server, uri) ⇒ XmlrpcClient
Returns a new instance of XmlrpcClient.
37 38 39 40 |
# File 'lib/openx/xmlrpc_client.rb', line 37 def initialize(server, uri) @server = server @uri = uri end |
Class Attribute Details
.retry_on_http_error ⇒ Object
Returns the value of attribute retry_on_http_error.
22 23 24 |
# File 'lib/openx/xmlrpc_client.rb', line 22 def retry_on_http_error @retry_on_http_error end |
.timeout ⇒ Object
Returns the value of attribute timeout.
22 23 24 |
# File 'lib/openx/xmlrpc_client.rb', line 22 def timeout @timeout end |
Class Method Details
.init_server(uri) ⇒ Object
24 25 26 27 28 29 |
# File 'lib/openx/xmlrpc_client.rb', line 24 def init_server(uri) server = XMLRPC::Client.new2(uri) server.timeout = self.timeout #server.instance_variable_get(:@http).set_debug_output($stderr) server end |
.new2(uri) ⇒ Object
31 32 33 34 |
# File 'lib/openx/xmlrpc_client.rb', line 31 def new2(uri) server = init_server(uri) new(server, uri) end |
Instance Method Details
#call(method, *args) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/openx/xmlrpc_client.rb', line 42 def call(method, *args) if args.first.is_a?(OpenX::Services::Session) session = args.shift() args.unshift(session.id) begin do_call(method, *args) rescue XMLRPC::FaultException => sess_id_err if sess_id_err..strip == 'Session ID is invalid' session.recreate! args.shift() args.unshift(session.id) do_call(method, *args) else raise sess_id_err end end else do_call(method, *args) end end |