class LicenseLinter

Constants

VALID_FILE
VALID_YEARS

Public Class Methods

parse_file(file, learn_error) click to toggle source
# File lib/learn-tool/license-linter.rb, line 6
def self.parse_file(file, learn_error)
  directory_file_array = sanitize_whitespace(File.open(file, "r:UTF-8").read)
  valid_file_array = sanitize_whitespace(VALID_FILE.read)
  diff = directory_file_array - valid_file_array
  
  VALID_YEARS.each do |year| 
    diff.delete(year)
  end
  
  if diff.empty?
    learn_error.license_error[:valid_license] = true
    learn_error.valid_license = {message: "valid LICENSE.md", color: :green}
  else
    learn_error.license_error[:valid_license] = false
    learn_error.valid_license = {message: "invalid LICENSE.md - Errors: #{diff}", color: :red}
  end
end
sanitize_whitespace(file) click to toggle source
# File lib/learn-tool/license-linter.rb, line 24
def self.sanitize_whitespace(file)
  file.split.delete_if {|char| char.empty? || char == "\n"}
end