Sha256: 3fab6ed4106319ae563b55a20e209d3d860fbad9d15d66c86f9587c5167b90f3
Contents?: true
Size: 924 Bytes
Versions: 3
Compression:
Stored size: 924 Bytes
Contents
# frozen_string_literal: true require 'fast_ignore' require_relative '../spellr' require_relative 'file' module Spellr class FileList include Enumerable def initialize(*patterns) @patterns = patterns end # anchored patterns are significantly faster on large codebases def cli_patterns @patterns.map do |pattern| if pattern.match?(%r{^([/~*]|\.{1,2}/)}) pattern else "/#{pattern}" end end end def each gitignore = ::File.join(Dir.pwd, '.gitignore') gitignore = nil unless ::File.exist?(gitignore) FastIgnore.new( ignore_rules: Spellr.config.excludes, include_rules: Spellr.config.includes + cli_patterns, gitignore: gitignore ).each do |file| file = Spellr::File.new(file) yield(file) end end def to_a enum_for(:each).to_a end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
spellr-0.5.0 | lib/spellr/file_list.rb |
spellr-0.4.1 | lib/spellr/file_list.rb |
spellr-0.4.0 | lib/spellr/file_list.rb |