class Fog::ArubaCloud::Compute::BaseObject
Public Class Methods
new(options={})
click to toggle source
# File lib/fog/arubacloud/compute.rb, line 105 def initialize(options={}) @arubacloud_username = options[:arubacloud_username] || '' @arubacloud_password = options[:arubacloud_password] || '' @ws_enduser_url = options[:url] || Fog::ArubaCloud::DEFAULT_WS_ENDUSER_URL end
Public Instance Methods
body(method)
click to toggle source
Return the base json object used by each request. @param method [String] the name of the method to call. @return [Hash] base scheme for json request.
# File lib/fog/arubacloud/compute.rb, line 114 def body(method) { :ApplicationId => method, :RequestId => method, :Sessionid => method, :Username => @arubacloud_username, :Password => @arubacloud_password } end
request(body={}, method_name='', failure_message='', benchmark=true)
click to toggle source
Method generator to wrap around request inside requests files. @param [Hash] body @param [String] method_name @param [String] failure_message @param [Bool] benchmark
# File lib/fog/arubacloud/compute.rb, line 129 def request(body={}, method_name='', failure_message='', benchmark=true) options = { :http_method => :post, :method => method_name, :body => Fog::JSON.encode(body) } response = nil if benchmark time = Benchmark.realtime { response = _request(options) } Fog::Logger.debug("#{options[:method]} took: #{time}") else response = _request(options) end if response['Success'] response else Fog::Logger.debug("Request failed. Debug: #{response}") if !response['ResultMessage'] || response['ResultMessage'].empty? raise Fog::ArubaCloud::Errors::RequestError.new(failure_message) else raise Fog::ArubaCloud::Errors::RequestError.new(response['ResultMessage'], response ) end end end