Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
wwwanlingxiao
public-apis
Commits
e2b71b22
Commit
e2b71b22
authored
Jul 28, 2017
by
Dave Machado
Browse files
add errors to array and remove fail flag
parent
60fbe68f
Changes
1
Hide whitespace changes
Inline
Side-by-side
build/validate_format.rb
View file @
e2b71b22
#!/usr/bin/env ruby
auth_keys
=
[
'apiKey'
,
'OAuth'
,
'X-Mashape-Key'
,
'No'
]
punctuation
=
[
'.'
,
'?'
,
'!'
]
https_keys
=
[
'Yes'
,
'No'
]
args
=
ARGV
filename
=
args
[
0
]
fail_flag
=
false
File
.
foreach
(
filename
).
with_index
do
|
line
,
line_num
|
$errors
=
[]
def
add_error
(
line_num
,
message
)
$errors
.
push
(
"(L%03d)
#{
message
}
"
%
line_num
)
end
File
.
foreach
(
filename
).
with_index
do
|
line
,
line_num
|
line_num
+=
1
if
line
.
start_with?
(
'|'
)
# Skip table schema lines
...
...
@@ -17,39 +23,37 @@ File.foreach(filename).with_index do |line, line_num|
# 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
add_error
(
line_num
,
"Invalid Description (first char not uppercase):
#{
desc_val
}
"
)
end
# 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
add_error
(
line_num
,
"Invalid Description (description should not end with
\"
#{
last_char
}
\"
)"
)
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
add_error
(
line_num
,
"Invalid Auth (not a valid option):
#{
auth_val
}
"
)
end
#################### 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
add_error
(
line_num
,
"(
#{
line_num
}
) Invalid HTTPS: (must use
\"
Yes
\"
or
\"
No
\"
):
#{
https_val
}
"
)
end
#################### 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>)
\"
):
#{
link_val
}
"
fail_flag
=
true
add_error
(
line_num
,
"(
#{
line_num
}
) Invalid Link: (format should be
\"
[Go!](<LINK>)
\"
):
#{
link_val
}
"
)
end
end
end
if
fail_flag
if
$errors
.
length
>
0
$errors
.
each
do
|
e
|
puts
e
end
exit
(
1
)
else
exit
(
0
)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment