File: transformer/module-into-object/source.rb

Overview
Module Structure
Code

Overview

Module Structure

  module: <Toplevel Module>
  module: TmDoc#9
  module: Transformer
  module: ModuleIntoObject#11
  module: Source#13
has properties
function: transform_sources / 1 #17
function: transform / 1 #32

Code

   1  # $Id: source.rb,v 1.3 2011/11/23 15:55:30 machan Exp $
   2 
   3  require 'tmdoc/tmstd'
   4  require 'tmdoc/constant'
   5  require 'tmdoc/model/module'
   6  require 'tmdoc/model/object'
   7 
   8 
   9  module TmDoc
  10 
  11  module Transformer::ModuleIntoObject
  12 
  13  module Source
  14 
  15  module_function
  16 
  17      def transform_sources(mm_files)
  18          ASSERT.kind_of mm_files, MMP::SetOfFile
  19 
  20          mo_map_of_name_to_file = mm_files.inject(
  21              MOP::MapOfNameToFile.new
  22          ) { |map, mm_file|
  23              mo_file = transform mm_file
  24 
  25              map.update(mo_file.name, mo_file)
  26          }
  27 
  28          MOP::Files.new mo_map_of_name_to_file
  29      end
  30 
  31 
  32      def transform(mm_file)
  33          ASSERT.kind_of mm_file, MMP::File
  34 
  35          mo_require_files = mm_file.require_files.map {
  36              |mm_require_file|
  37              ASSERT.kind_of mm_require_file, MMP::RequireFile
  38 
  39              MOP::RequireFile.new(
  40                  mm_require_file.name,
  41                  mm_require_file.seq_num
  42              )
  43          }
  44 
  45          MOP::File.new(
  46              mm_file.name,
  47              mm_file.seq_num,
  48              MOP::SetOfRequireFile.new(mo_require_files)
  49          )
  50      end
  51  end
  52 
  53  end # TmDoc::Transformer::ModuleIntoObject
  54 
  55  end # TmDoc