class FileSelector

Public Class Methods

updated_source_files() click to toggle source
# File lib/rspec_preloader/file_selector.rb, line 2
def self.updated_source_files
  new.updated_source_files
end

Public Instance Methods

updated_source_files() click to toggle source
# File lib/rspec_preloader/file_selector.rb, line 6
def updated_source_files
  all_updated_files.select do |filename|
    filename.start_with?('app/') || filename.start_with?('lib/')
  end.select do |filename|
    filename.end_with?('.rb')
  end
end

Private Instance Methods

all_updated_files() click to toggle source
# File lib/rspec_preloader/file_selector.rb, line 16
def all_updated_files
  file_statuses_and_names.select do |file_status_and_name|
      updated_files_statuses.include? file_status_and_name.first
  end
  .map(&:last)
end
file_statuses_and_names() click to toggle source
# File lib/rspec_preloader/file_selector.rb, line 27
def file_statuses_and_names
  git_status_lines.map do |git_status_line|
    git_status_line.split(' ')
  end
end
git_status() click to toggle source
# File lib/rspec_preloader/file_selector.rb, line 37
def git_status
  `git status --porcelain`
end
git_status_lines() click to toggle source
# File lib/rspec_preloader/file_selector.rb, line 33
def git_status_lines
  git_status.split("\n")
end
updated_files_statuses() click to toggle source
# File lib/rspec_preloader/file_selector.rb, line 23
def updated_files_statuses
  ['M', 'MM', 'A', '??']
end