Method: Seasar::Container::S2ApplicationContext#get_container

Defined in:
lib/seasar/container/s2application-context.rb

#get_container(container, namespace) ⇒ Object

  • args

    1. Seasar::Container::S2Container container

    2. String namespace

  • return

    • Seasar::Container::S2Container



307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
# File 'lib/seasar/container/s2application-context.rb', line 307

def get_container(container, namespace)
  items = namespace.split('.', 2)
  if container.has_component_def(items[0])
    if items.length == 1
      return container.get_component(items[0])
    else
      return self.get_container(container.get_component(items[0]), items[1])
    end
  else
    child = S2Container.new
    child.namespace = items[0]
    container.include(child)
    if items.length == 1
      return child
    else
      return self.get_container(child, items[1])
    end
  end
end