Module: Foobara::TypeDeclarations::LazyElementTypes::Tuple

Defined in:
foobara-0.2.2/projects/type_declarations/src/lazy_element_types/tuple.rb

Class Method Summary collapse

Class Method Details

.resolve(type) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'foobara-0.2.2/projects/type_declarations/src/lazy_element_types/tuple.rb', line 7

def resolve(type)
  Namespace.use type.created_in_namespace do
    element_type_declarations = type.declaration_data[:element_type_declarations]

    type.element_types = if element_type_declarations
                           TypeDeclarations.strict do
                             domain = Domain.current

                             element_type_declarations.map do |element_type_declaration|
                               domain.foobara_type_from_declaration(element_type_declaration)
                             end
                           end
                         end
  end
end