class CumulogicClient::BaseClient
Public Class Methods
new(api_url, username, password, use_ssl=nil, debug=false)
click to toggle source
# File lib/cumulogic_client/base_client.rb, line 19 def initialize(api_url, username, password, use_ssl=nil, debug=false) @api_url = api_url @username = username @password = password @use_ssl = use_ssl @debug = debug @validationparams = nil end
Public Instance Methods
call(command, params=nil)
click to toggle source
# File lib/cumulogic_client/base_client.rb, line 28 def call(command, params=nil) login() if not @validationparams callparams = Hash.new() callparams[:inputParams] = Array.new(1) callparams[:inputParams][0] = params if params callparams[:validationParams] = @validationparams request(command, callparams) end
get_serviceplans(createdBy, serviceType)
click to toggle source
# File lib/cumulogic_client/base_client.rb, line 98 def get_serviceplans(createdBy, serviceType) params = { 'createdBy' => createdBy, 'serviceType' => serviceType } call('serviceplan/getAllServicePlansByUserId', params) end
login()
click to toggle source
# File lib/cumulogic_client/base_client.rb, line 66 def login() credentials = Array.new(1) credentials[0] = { "userName" => @username, "password" => @password } login_params = Hash.new login_params["validationParams"] = Hash.new login_params["inputParams"] = credentials loginresponse = request("auth/login", login_params) @validationparams = { "userID" => loginresponse[0]["userID"], "userName" => loginresponse[0]["userName"], "userLoginToken" => loginresponse[0]["userLoginToken"] } end
provisioning_completed(targetobject, timeout=nil)
click to toggle source
# File lib/cumulogic_client/base_client.rb, line 84 def provisioning_completed(targetobject, timeout=nil) return Timeout::timeout(timeout) do while true do if not targetobject.isComplete() puts "returned false" sleep 10 else puts "returned true" return true end end end end
request(command, params=nil)
click to toggle source
# File lib/cumulogic_client/base_client.rb, line 37 def request(command, params=nil) url = "#{@api_url}#{command}" puts url if @debug puts params.to_json if @debug uri = URI.parse(url) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = @use_ssl http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Post.new(uri.request_uri) request.body = URI::encode(params.to_json) if params response = http.request(request) if !response.is_a?(Net::HTTPOK) if ["431","530","404"].include?(response.code) raise ArgumentError, response.message end raise RuntimeError, "Username and password not accepted" if ["401","403"].include?(response.code) raise RuntimeError, "Unknown error: code=#{response.code} message=#{response.message}" end puts response.body if @debug responsedata = JSON.parse(response.body) raise RuntimeError, "Errors: #{responsedata["errors"]}" if not responsedata["success"] return responsedata["response"] end