class NetSuite::Utilities::DataCenter
Public Class Methods
clear_cache!()
click to toggle source
# File lib/netsuite/utilities/data_center.rb, line 6 def clear_cache! @cache = {} end
get(netsuite_account, opts = {})
click to toggle source
# File lib/netsuite/utilities/data_center.rb, line 10 def get(netsuite_account, opts = {}) if opts[:cache] && wsdl=fetch_from_cache(netsuite_account) return wsdl end response = make_data_center_call(netsuite_account) if response.success? wsdl = extract_wsdl_from_response(response) cache[netsuite_account.to_s] = wsdl if opts[:cache] return wsdl else return nil end end
Private Class Methods
cache()
click to toggle source
# File lib/netsuite/utilities/data_center.rb, line 27 def cache @cache ||= {} end
extract_wsdl_from_response(response)
click to toggle source
# File lib/netsuite/utilities/data_center.rb, line 46 def extract_wsdl_from_response(response) response.body .fetch(:get_data_center_urls_response) .fetch(:get_data_center_urls_result) .fetch(:data_center_urls) .fetch(:webservices_domain) end
fetch_from_cache(netsuite_account)
click to toggle source
# File lib/netsuite/utilities/data_center.rb, line 42 def fetch_from_cache(netsuite_account) return cache.fetch(netsuite_account.to_s, nil) end
make_data_center_call(netsuite_account)
click to toggle source
# File lib/netsuite/utilities/data_center.rb, line 31 def make_data_center_call(netsuite_account) NetSuite::Configuration.connection({}, { email: '', password: '', account: '' }).call(:get_data_center_urls, message: { 'platformMsgs:account' => netsuite_account }) # allow errors to bubble up, log if patterns emerge end