def compile
      if !Dir.exist?('.spectro')
        abort "\n" + "This folder has not been initialzed as an Spectro project. Please run ".white.on_red + " spectro init ".white.on_light_black + " before compiling.".white.on_red + "\n\n"
      end

      undefined_yaml = YAML::Store.new(".spectro/undefined.yml")
      undefined_yaml.transaction do
        targets().map do |path|
          missing_specs = missing_specs_from_file(path)

          next if missing_specs.empty?

          undefined_yaml[path] = missing_specs
        end
      end

      return self
    end
def compile
      if !Dir.exist?('.spectro')
        abort "\n" + "This folder has not been initialzed as an Spectro project. Please run ".white.on_red + " spectro init ".white.on_light_black + " before compiling.".white.on_red + "\n\n"
      end

      undefined_yaml = YAML::Store.new(".spectro/undefined.yml")
      undefined_yaml.transaction do
        targets().map do |path|
          missing_specs = missing_specs_from_file(path)

          next if missing_specs.empty?

          undefined_yaml[path] = missing_specs
        end
      end

      return self
    end
def compile if ! Dir . exist? ( '.spectro' ) abort "\n" + "This folder has not been initialzed as an Spectro project. Please run " . white . on_red + " spectro init " . white . on_light_black + " before compiling." . white . on_red + "\n\n" end undefined_yaml = YAML :: Store . new ( ".spectro/undefined.yml" ) undefined_yaml . transaction do targets ( ) . map do | path | missing_specs = missing_specs_from_file ( path ) next if missing_specs . empty? undefined_yaml [ path ] = missing_specs end end return self end
Filters the project files keeping those that make use of Spectro.
 It then parses them, check for missing implementations
 and creates an .spectro/undefined.yml with their specs.

 @return [Spectro::Compiler] self
Filters the project files keeping those that make use of Spectro . It then parses them check for missing implementations and creates an . spectro / undefined . yml with their specs .