Class: ContributingLinter

Inherits:
Object
  • Object
show all
Defined in:
lib/learn-tool/contributing-linter.rb

Constant Summary collapse

VALID_FILE =
File.open(File.expand_path(File.dirname(__FILE__)) + '/support_files/CONTRIBUTING.md', "r:UTF-8")

Class Method Summary collapse

Class Method Details

.parse_file(file, learn_error) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/learn-tool/contributing-linter.rb', line 5

def self.parse_file(file, learn_error)
  directory_file = sanitize_whitespace(File.open(file, "r:UTF-8").read)
  valid_file_array = sanitize_whitespace(VALID_FILE.read)
  diff = directory_file - valid_file_array
  
  if diff.empty?
    learn_error.contributing_error[:valid_contributing] = true
    learn_error.valid_contributing = {message: "valid CONTRIBUTING.md", color: :green}
  else
    learn_error.contributing_error[:valid_contributing] = false
    learn_error.valid_contributing = {message: "invalid CONTRIBUTING.md - Errors: #{diff}", color: :red}
  end
end

.sanitize_whitespace(file) ⇒ Object



19
20
21
# File 'lib/learn-tool/contributing-linter.rb', line 19

def self.sanitize_whitespace(file)
  file.split.delete_if {|char| char.empty? || char == "\n"}
end