class OData4::ServiceRegistry
Provides a registry for keeping track of multiple OData4::Service
instances
Public Class Methods
[](lookup_key)
click to toggle source
(see []
)
# File lib/odata4/service_registry.rb, line 34 def self.[](lookup_key) OData4::ServiceRegistry.instance[lookup_key] end
add(service)
click to toggle source
(see add
)
# File lib/odata4/service_registry.rb, line 29 def self.add(service) OData4::ServiceRegistry.instance.add(service) end
Public Instance Methods
[](lookup_key)
click to toggle source
Lookup a service by URL or name
@param lookup_key [String] the URL or name to lookup @return [OData4::Service, nil] the OData4::Service
or nil
# File lib/odata4/service_registry.rb, line 22 def [](lookup_key) initialize_instance_variables index = @services_by_name[lookup_key] || @services_by_url[lookup_key] index.nil? ? nil : @services[index] end
add(service)
click to toggle source
Add a service to the Registry
@param service [OData4::Service] service to add to the registry
# File lib/odata4/service_registry.rb, line 11 def add(service) initialize_instance_variables @services << service if service.is_a?(OData4::Service) && !@services.include?(service) @services_by_name[service.name] = @services.find_index(service) @services_by_url[service.service_url] = @services.find_index(service) end
Private Instance Methods
flush()
click to toggle source
# File lib/odata4/service_registry.rb, line 46 def flush @services = [] @services_by_name = {} @services_by_url = {} end
initialize_instance_variables()
click to toggle source
# File lib/odata4/service_registry.rb, line 40 def initialize_instance_variables @services ||= [] @services_by_name ||= {} @services_by_url ||= {} end