Sha256: 3b61d78966a6242c11b50bb779165920f8273882df78f56b4ab75291b0fe0ad0

Contents?: true

Size: 585 Bytes

Versions: 7

Compression:

Stored size: 585 Bytes

Contents

# frozen_string_literal: true

module AnnotateRb
  module ModelAnnotator
    class FileToParserMapper
      class UnsupportedFileTypeError < StandardError; end

      MAP = {
        ".rb" => FileParser::CustomParser,
        ".yml" => FileParser::YmlParser
      }.freeze

      class << self
        def map(file_name)
          extension = File.extname(file_name).downcase
          parser = MAP[extension]

          raise UnsupportedFileTypeError, "File '#{file_name}' does not have a supported file type." if parser.nil?

          parser
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
annotaterb-4.13.0 lib/annotate_rb/model_annotator/file_to_parser_mapper.rb
annotaterb-4.12.0 lib/annotate_rb/model_annotator/file_to_parser_mapper.rb
annotaterb-4.11.0 lib/annotate_rb/model_annotator/file_to_parser_mapper.rb
annotaterb-4.10.2 lib/annotate_rb/model_annotator/file_to_parser_mapper.rb
annotaterb-4.10.1 lib/annotate_rb/model_annotator/file_to_parser_mapper.rb
annotaterb-4.10.0 lib/annotate_rb/model_annotator/file_to_parser_mapper.rb
annotaterb-4.9.0 lib/annotate_rb/model_annotator/file_to_parser_mapper.rb