class PIM::Services::DataModelLoaders::ProxyServiceLoader
Public Class Methods
new(data_model_service = nil)
click to toggle source
# File services.rb, line 1640 def initialize data_model_service = nil @data_model_service = data_model_service || PIM::Services.__proxy_service(:dataModelService) end
Public Instance Methods
enabled?()
click to toggle source
# File services.rb, line 1644 def enabled? return !@data_model_service.nil? end
get(data_module, request)
click to toggle source
Use proxy_service directly
# File services.rb, line 1655 def get data_module, request method_name = request.proxy_service_method_name.to_sym result = @data_model_service.send(method_name, get_service_name(data_module), *request.proxy_args) # If result is an Array, but the return_type is Hash, map the objects by their "name" if PIM.is_array?(result) and request.return_type == Hash proxy_result = {} result.compact.each do |obj| [:name, :code].each do |field| key = PIM.get_value(obj, field) proxy_result[key] = obj unless key.nil? end end result = proxy_result # Additionally, for any request key which is missing, add a 'nil' entry unless request.keys.nil? missing_keys = request.keys - result.keys missing_keys.each { |k| result[k] = nil } end end return result end
get_redirect(data_module, request, *loaders)
click to toggle source
Use proxy_service directly
# File services.rb, line 1686 def get_redirect data_module, request, *loaders return get(data_module, request) end
use_next_loader?(data_module)
click to toggle source
# File services.rb, line 1648 def use_next_loader? data_module # If proxy service exists, don't use next loaders! return !enabled? end