Skip to content

Commit

Permalink
Add alphabetical order check logic
Browse files Browse the repository at this point in the history
  • Loading branch information
davemachado committed Aug 18, 2017
1 parent 61c6cd1 commit 7f71a9c
Showing 1 changed file with 27 additions and 1 deletion.
28 changes: 27 additions & 1 deletion build/validate_format.rb
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down

0 comments on commit 7f71a9c

Please sign in to comment.