class Confluence::RPC
Attributes
log[RW]
Public Class Methods
new(server_url, proxy = "confluence1")
click to toggle source
# File lib/confluence/confluence_rpc.rb, line 20 def initialize(server_url, proxy = "confluence1") server_url += "/rpc/xmlrpc" unless server_url[-11..-1] == "/rpc/xmlrpc" @server_url = server_url server = XMLRPC::Client.new2(server_url) @conf = server.proxy(proxy) @token = "12345" @log = Logger.new($stdout) end
Public Instance Methods
login(username, password)
click to toggle source
# File lib/confluence/confluence_rpc.rb, line 30 def login(username, password) log.info "Logging in as '#{username}'." @user = username @pass = password do_login() end
method_missing(method_name, *args)
click to toggle source
# File lib/confluence/confluence_rpc.rb, line 37 def method_missing(method_name, *args) log.info "Calling #{method_name}(#{args.inspect})." begin @conf.send(method_name, *([@token] + args)) rescue XMLRPC::FaultException => e log.error "#{e}: #{e.message}" if (e.faultString.include?("InvalidSessionException")) do_login retry else raise RemoteException, e.respond_to?(:message) ? e.message : e end rescue log.error "#{$!}" raise $! end end
Private Instance Methods
do_login()
click to toggle source
# File lib/confluence/confluence_rpc.rb, line 57 def do_login() begin @token = @conf.login(@user, @pass) rescue XMLRPC::FaultException => e log.error "#{e}: #{e.faultString}" raise RemoteAuthenticationException, e end end