module PIM::Services
Public Class Methods
__cache()
click to toggle source
# File services.rb, line 104 def self.__cache PIM.__fiber_local_cache(:__service_cache) end
__cached(cache_id, &loader)
click to toggle source
# File services.rb, line 108 def self.__cached cache_id, &loader value = __cache[cache_id] return value unless value.nil? value = loader.call __cache[cache_id] = value value end
__convert(value, to:, array: false, force: false)
click to toggle source
# File services.rb, line 120 def self.__convert value, to:, array: false, force: false return nil if value.nil? if array and PIM::Utils.is_array?(value) return value.map { |v| __convert(v, to: to, force: force) } end if PIM::Utils.is_java_object?(value) # Try to convert to json, if possible if force and value.respond_to?(:toJson) json = JSON.parse(value.toJson) return __convert(json, to: to) end return value end # Convert to new class if PIM::Utils.is_hash?(value) return to.new(value) end return value end
__proxy_service(name)
click to toggle source
# File services.rb, line 149 def self.__proxy_service name return nil unless ProxyService.has_service?(name) @@__proxy_services ||= {} service = @@__proxy_services[name.to_s] if service.nil? service = ProxyService.new(name.to_s) @@__proxy_services[name.to_s] = service end service end
__remove_from_cache(value)
click to toggle source
# File services.rb, line 116 def self.__remove_from_cache value __cache.delete(value) end
is_external_services_available?()
click to toggle source
# File services.rb, line 96 def self.is_external_services_available? return ProxyService.has_external_service? end
is_java_services_available?()
click to toggle source
# File services.rb, line 100 def self.is_java_services_available? return ProxyService.has_java_service? end
is_services_available?()
click to toggle source
# File services.rb, line 92 def self.is_services_available? return (is_external_services_available? or is_java_services_available?) end