Class: Proxy::DHCP::RemoteISC::PluginConfiguration

Inherits:
Object
  • Object
show all
Defined in:
lib/smart_proxy_dhcp_remote_isc/plugin_configuration.rb

Instance Method Summary collapse

Instance Method Details

#load_classesObject



24
25
26
27
28
29
30
# File 'lib/smart_proxy_dhcp_remote_isc/plugin_configuration.rb', line 24

def load_classes
  require 'dhcp_common/subnet_service'
  require 'dhcp_common/isc/omapi_provider'
  require 'dhcp_common/isc/configuration_parser'
  require 'dhcp_common/isc/subnet_service_initialization'
  require 'smart_proxy_dhcp_remote_isc/subnet_service_initializer'
end

#load_dependency_injection_wirings(container, settings) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/smart_proxy_dhcp_remote_isc/plugin_configuration.rb', line 3

def load_dependency_injection_wirings(container, settings)
  container.dependency :memory_store, ::Proxy::MemoryStore
  container.dependency :subnet_service, (lambda do
    ::Proxy::DHCP::SubnetService.new(container.get_dependency(:memory_store),
                                     container.get_dependency(:memory_store), container.get_dependency(:memory_store),
                                     container.get_dependency(:memory_store), container.get_dependency(:memory_store))
  end)
  container.dependency :parser, lambda {::Proxy::DHCP::CommonISC::ConfigurationParser.new}
  container.dependency :subnet_service_initializer, (lambda do
    ::Proxy::DHCP::RemoteISC::SubnetServiceInitializer.new(settings[:config], settings[:leases],
                                                           container.get_dependency(:parser), container.get_dependency(:subnet_service))
  end)
  container.dependency :initialized_subnet_service, lambda {container.get_dependency(:subnet_service_initializer).initialized_subnet_service }

  container.dependency :dhcp_provider, (lambda do
    Proxy::DHCP::CommonISC::IscOmapiProvider.new(
        settings[:server], settings[:omapi_port], settings[:subnets], settings[:key_name], settings[:key_secret],
        container.get_dependency(:initialized_subnet_service))
  end)
end