Sha256: 0f1788291f6fdbf5063ce4f70595f5c92c6f6d8ae52b06cca610d143f60e9e7a
Contents?: true
Size: 876 Bytes
Versions: 1
Compression:
Stored size: 876 Bytes
Contents
# typed: true # frozen_string_literal: true require "singleton" require "packwerk/parsers" module Packwerk module Parsers class Factory include Singleton RUBY_REGEX = %r{ # Although not important for regex, these are ordered from most likely to match to least likely. \.(rb|rake|builder|gemspec|ru)\Z | (Gemfile|Rakefile)\Z }x private_constant :RUBY_REGEX ERB_REGEX = /\.erb\Z/ private_constant :ERB_REGEX def for_path(path) case path when RUBY_REGEX @ruby_parser ||= Ruby.new when ERB_REGEX @erb_parser ||= erb_parser_class.new end end def erb_parser_class @erb_parser_class || Erb end def erb_parser_class=(klass) @erb_parser_class = klass @erb_parser = nil end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
packwerk-1.1.0 | lib/packwerk/parsers/factory.rb |