Method: Seasar::Container::Assembler::AbstractAssembler#get_argument
- Defined in:
- lib/seasar/container/assembler/abstract-assembler.rb
#get_argument(component_key, is_array_acceptable = False) ⇒ Object
AutoConstructorAssemblerとAutoPropertyAssemblerでタイプヒントされたコンポーネントを取得する際に
-
args
-
String|Symbol component_key
-
Boolean is_array_acceptable
-
-
return
-
Object
-
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/seasar/container/assembler/abstract-assembler.rb', line 45 def get_argument(component_key, is_array_acceptable = False) value = nil begin value = @component_def.container.get_component(component_key) rescue Seasar::Container::Exception::TooManyRegistrationRuntimeException => e if is_array_acceptable child_component_defs = @component_def.container.get_component_def(component_key).component_defs value = [] for child_component_def in child_component_defs value << child_component_def.component end else raise e end rescue Seasar::Container::Exception::ComponentNotFoundRuntimeException => e s2logger.debug(self.class.name) {"no component found for key #{component_key}"} end return value end |