Module: Xencap::Plugin

Defined in:
lib/xencap/plugin.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method, *args) ⇒ Object



24
25
26
# File 'lib/xencap/plugin.rb', line 24

def method_missing(method, *args)
  @request_dispatcher.dispatch(method, *args)
end

Instance Attribute Details

#request_dispatcherObject (readonly)

Returns the value of attribute request_dispatcher.



5
6
7
# File 'lib/xencap/plugin.rb', line 5

def request_dispatcher
  @request_dispatcher
end

#sessionObject (readonly)

Returns the value of attribute session.



5
6
7
# File 'lib/xencap/plugin.rb', line 5

def session
  @session
end

Instance Method Details

#_ignore_ssl_errorsObject



28
29
30
31
# File 'lib/xencap/plugin.rb', line 28

def _ignore_ssl_errors
  # Allow self-signed certs
  @session.instance_variable_get(:@http).instance_variable_set(:@verify_mode, OpenSSL::SSL::VERIFY_NONE)
end

#set_timeout(timeout) ⇒ Object



20
21
22
# File 'lib/xencap/plugin.rb', line 20

def set_timeout(timeout)
  @session.timeout = timeout
end

#setup(uri, options = {}) ⇒ Object



7
8
9
10
11
12
13
14
# File 'lib/xencap/plugin.rb', line 7

def setup(uri, options = {})
  @session = XenAPI::Session.new(uri)
  _ignore_ssl_errors if options.fetch(:ignore_ssl_errors, false)

  @session.(options.fetch(:login), options.fetch(:password))
  @session.timeout = 120
  @request_dispatcher = Xencap::RequestDispatcher.new(@session)
end

#teardownObject



16
17
18
# File 'lib/xencap/plugin.rb', line 16

def teardown
  @session.logout unless @session.nil?
end