Method: Seasar::Container::S2ApplicationContext#select_component_infos

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

#select_component_infos(component_infos, &procedure) ⇒ Object

  • args

    1. Array component_infos Array of Seasar::Container::ComponentInfoDef

    2. Proc procedure filter block

  • return

    • Array

Raises:

  • (TypeError)


334
335
336
337
338
339
340
341
342
343
344
# File 'lib/seasar/container/s2application-context.rb', line 334

def select_component_infos(component_infos, &procedure)
  @selectors.each {|selector|
    component_infos = selector.call(component_infos)
    raise TypeError.new("result of component selector must be Array") if not component_infos.is_a?(Array)
  }
  if not procedure.nil?
    component_infos = procedure.call(component_infos)
  end
  raise TypeError.new("result of component selector must be Array") if not component_infos.is_a?(Array)
  return component_infos
end