Class: Garcon::ServiceLocator

Inherits:
Object
  • Object
show all
Defined in:
lib/garcon/service_locator.rb

Instance Method Summary collapse

Constructor Details

#initializeServiceLocator

Returns a new instance of ServiceLocator.



4
5
6
7
# File 'lib/garcon/service_locator.rb', line 4

def initialize
  super
  @services = {}
end

Instance Method Details

#[](service_name) ⇒ Object



9
10
11
12
# File 'lib/garcon/service_locator.rb', line 9

def [] service_name
  service = @services[service_name.to_s]
  service.nil? ? Object.const_get(service_name.to_s) : service.call
end

#register(service_name, &handler) ⇒ Object



14
15
16
# File 'lib/garcon/service_locator.rb', line 14

def register service_name, &handler
  @services[service_name.to_s] = handler
end