class FastIgnore::FileRoot

Public Class Methods

build(file_path, project_root) click to toggle source

:nocov:

# File lib/fast_ignore/file_root.rb, line 9
def self.build(file_path, project_root)
  file_root = "#{::File.dirname(file_path)}/".delete_prefix(project_root)

  new(file_root) unless file_root.empty?
end
new(file_root) click to toggle source
# File lib/fast_ignore/file_root.rb, line 15
def initialize(file_root)
  @file_root = file_root
end

Public Instance Methods

escaped() click to toggle source
# File lib/fast_ignore/file_root.rb, line 23
def escaped
  @escaped ||= ::Regexp.escape(@file_root)
end
escaped_segments() click to toggle source
# File lib/fast_ignore/file_root.rb, line 27
def escaped_segments
  @escaped_segments ||= escaped.split('/')
end
escaped_segments_joined() click to toggle source
# File lib/fast_ignore/file_root.rb, line 35
def escaped_segments_joined
  @escaped_segments_joined ||= escaped_segments.join('(?:/') + '(?:/'
end
escaped_segments_length() click to toggle source
# File lib/fast_ignore/file_root.rb, line 31
def escaped_segments_length
  @escaped_segments_length ||= escaped_segments.length
end
shebang_path_pattern() click to toggle source
# File lib/fast_ignore/file_root.rb, line 19
def shebang_path_pattern
  @shebang_path_pattern ||= /\A#{escaped}./
end