From 60fbe68f78b2c87c5d827a3ca3f3a5619ae59614 Mon Sep 17 00:00:00 2001 From: Dave Machado Date: Fri, 28 Jul 2017 11:22:52 -0400 Subject: [PATCH] Add punctuation check for Description --- build/validate_format.rb | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/build/validate_format.rb b/build/validate_format.rb index 820ef7d2..783d73fe 100755 --- a/build/validate_format.rb +++ b/build/validate_format.rb @@ -1,5 +1,6 @@ #!/usr/bin/env ruby auth_keys = ['apiKey', 'OAuth', 'X-Mashape-Key', 'No'] +punctuation = ['.', '?', '!'] https_keys = ['Yes', 'No'] args = ARGV filename = args[0] @@ -12,25 +13,35 @@ File.foreach(filename).with_index do |line, line_num| next end values = line.split("|") - # Check Description to make sure first character is capitalized + ################# DESCRIPTION ################ + # First character should be capitalized desc_val = values[2].lstrip.chop if !/[[:upper:]]/.match(desc_val[0]) puts "(#{line_num}) Invalid Description (first char not uppercase): #{desc_val}" fail_flag = true end - # Check Auth values to conform to valid options only + # value should not be punctuated + last_char = desc_val[desc_val.length-1] + if punctuation.include?(last_char) + puts "(#{line_num}) Invalid Description (description should not end with \"#{last_char}\")" + fail_flag = true + end + #################### AUTH #################### + # Values should conform to valid options only auth_val = values[3].lstrip.chop.tr('``', '') if !auth_keys.include?(auth_val) puts "(#{line_num}) Invalid Auth (not a valid option): #{auth_val}" fail_flag = true end - # Check HTTPS Support values to be either "Yes" or "No" + #################### HTTPS ################### + # Values should be either "Yes" or "No" https_val = values[4].lstrip.chop if !https_keys.include?(https_val) puts "(#{line_num}) Invalid HTTPS: (must use \"Yes\" or \"No\"): #{https_val}" fail_flag = true end - # Check Link to ensure url is wrapped in "[Go!]" view + #################### LINK #################### + # Url should be wrapped in "[Go!]" view link_val = values[5].lstrip.chop if !link_val.start_with?("[Go!](") || !link_val.end_with?(')') puts "(#{line_num}) Invalid Link: (format should be \"[Go!]()\"): #{link_val}"