mirror of
https://github.com/FranP-code/public-apis.git
synced 2025-10-13 00:03:04 +00:00
Add alphabetical order check logic
This commit is contained in:
@@ -25,10 +25,36 @@ def add_error(line_num, val_index, message)
|
||||
when INDEX_LINK
|
||||
segment = "Link"
|
||||
end
|
||||
|
||||
$errors.push("(L%03d) %-14.14s #{message}" % [line_num, segment])
|
||||
end
|
||||
|
||||
section = ''
|
||||
sections = []
|
||||
section_to_line_num = {}
|
||||
section_to_entries = Hash.new {|h,k| h[k] = Array.new }
|
||||
File.foreach(filename).with_index do | line, line_num |
|
||||
|
||||
if line.start_with?('###')
|
||||
section = line.sub('###', '').lstrip.chop
|
||||
sections.push(section)
|
||||
section_to_line_num[section] = line_num + 1
|
||||
end
|
||||
|
||||
# Skip non-markdown table lines and table schema lines
|
||||
if !line.start_with?('|') || line.eql?("|---|---|---|---|---|\n")
|
||||
next
|
||||
end
|
||||
|
||||
# char to check is the first char in the first column
|
||||
check_char = line.split("|")[1].strip[0]
|
||||
section_to_entries[section].push(check_char)
|
||||
end
|
||||
sections.each do | sect |
|
||||
if section_to_entries[sect] != section_to_entries[sect].sort
|
||||
add_error(section_to_line_num[sect], INDEX_TITLE, "#{sect} section is not in alphabetical order")
|
||||
end
|
||||
end
|
||||
|
||||
File.foreach(filename).with_index do | line, line_num |
|
||||
line_num += 1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user