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
ffddb7bb
Commit
ffddb7bb
authored
Jul 28, 2017
by
Dave Machado
Browse files
use constants to represent line segment index
parent
105c745a
Changes
1
Hide whitespace changes
Inline
Side-by-side
build/validate_format.rb
View file @
ffddb7bb
...
@@ -3,21 +3,26 @@
...
@@ -3,21 +3,26 @@
auth_keys
=
[
'apiKey'
,
'OAuth'
,
'X-Mashape-Key'
,
'No'
]
auth_keys
=
[
'apiKey'
,
'OAuth'
,
'X-Mashape-Key'
,
'No'
]
punctuation
=
[
'.'
,
'?'
,
'!'
]
punctuation
=
[
'.'
,
'?'
,
'!'
]
https_keys
=
[
'Yes'
,
'No'
]
https_keys
=
[
'Yes'
,
'No'
]
args
=
ARGV
filename
=
args
[
0
]
INDEX_TITLE
=
1
INDEX_DESCRIPTION
=
2
INDEX_AUTH
=
3
INDEX_HTTPS
=
4
INDEX_LINK
=
5
filename
=
ARGV
[
0
]
$errors
=
[]
$errors
=
[]
def
add_error
(
line_num
,
val_index
,
message
)
def
add_error
(
line_num
,
val_index
,
message
)
case
val_index
case
val_index
when
1
when
INDEX_TITLE
segment
=
"Title"
segment
=
"Title"
when
2
when
INDEX_DESCRIPTION
segment
=
"Description"
segment
=
"Description"
when
3
when
INDEX_AUTH
segment
=
"Auth"
segment
=
"Auth"
when
4
when
INDEX_HTTPS
segment
=
"HTTPS"
segment
=
"HTTPS"
when
5
when
INDEX_LINK
segment
=
"Link"
segment
=
"Link"
end
end
...
@@ -37,7 +42,7 @@ File.foreach(filename).with_index do | line, line_num |
...
@@ -37,7 +42,7 @@ File.foreach(filename).with_index do | line, line_num |
values
.
each
.
with_index
do
|
val
,
val_index
|
values
.
each
.
with_index
do
|
val
,
val_index
|
msg
=
""
msg
=
""
case
val_index
case
val_index
when
1
..
5
when
INDEX_TITLE
..
INDEX_LINK
if
val
[
0
]
!=
" "
||
val
[
val
.
length
-
1
]
!=
" "
if
val
[
0
]
!=
" "
||
val
[
val
.
length
-
1
]
!=
" "
add_error
(
line_num
,
val_index
,
"spacing is invalid (pad before and after string)"
)
add_error
(
line_num
,
val_index
,
"spacing is invalid (pad before and after string)"
)
end
end
...
@@ -46,32 +51,32 @@ File.foreach(filename).with_index do | line, line_num |
...
@@ -46,32 +51,32 @@ File.foreach(filename).with_index do | line, line_num |
################# DESCRIPTION ################
################# DESCRIPTION ################
# First character should be capitalized
# First character should be capitalized
desc_val
=
values
[
2
].
lstrip
.
chop
desc_val
=
values
[
INDEX_DESCRIPTION
].
lstrip
.
chop
if
!
/[[:upper:]]/
.
match
(
desc_val
[
0
])
if
!
/[[:upper:]]/
.
match
(
desc_val
[
0
])
add_error
(
line_num
,
2
,
"first char not uppercase"
)
add_error
(
line_num
,
INDEX_DESCRIPTION
,
"first char not uppercase"
)
end
end
# value should not be punctuated
# value should not be punctuated
last_char
=
desc_val
[
desc_val
.
length
-
1
]
last_char
=
desc_val
[
desc_val
.
length
-
1
]
if
punctuation
.
include?
(
last_char
)
if
punctuation
.
include?
(
last_char
)
add_error
(
line_num
,
2
,
"description should not end with
\"
#{
last_char
}
\"
"
)
add_error
(
line_num
,
INDEX_DESCRIPTION
,
"description should not end with
\"
#{
last_char
}
\"
"
)
end
end
#################### AUTH ####################
#################### AUTH ####################
# Values should conform to valid options only
# Values should conform to valid options only
auth_val
=
values
[
3
].
lstrip
.
chop
.
tr
(
'``'
,
''
)
auth_val
=
values
[
INDEX_AUTH
].
lstrip
.
chop
.
tr
(
'``'
,
''
)
if
!
auth_keys
.
include?
(
auth_val
)
if
!
auth_keys
.
include?
(
auth_val
)
add_error
(
line_num
,
3
,
"not a valid option:
#{
auth_val
}
"
)
add_error
(
line_num
,
INDEX_AUTH
,
"not a valid option:
#{
auth_val
}
"
)
end
end
#################### HTTPS ###################
#################### HTTPS ###################
# Values should be either "Yes" or "No"
# Values should be either "Yes" or "No"
https_val
=
values
[
4
].
lstrip
.
chop
https_val
=
values
[
INDEX_HTTPS
].
lstrip
.
chop
if
!
https_keys
.
include?
(
https_val
)
if
!
https_keys
.
include?
(
https_val
)
add_error
(
line_num
,
4
,
"must use
\"
Yes
\"
or
\"
No
\"
:
#{
https_val
}
"
)
add_error
(
line_num
,
INDEX_HTTPS
,
"must use
\"
Yes
\"
or
\"
No
\"
:
#{
https_val
}
"
)
end
end
#################### LINK ####################
#################### LINK ####################
# Url should be wrapped in "[Go!]" view
# Url should be wrapped in "[Go!]" view
link_val
=
values
[
5
].
lstrip
.
chop
link_val
=
values
[
INDEX_LINK
].
lstrip
.
chop
if
!
link_val
.
start_with?
(
"[Go!]("
)
||
!
link_val
.
end_with?
(
')'
)
if
!
link_val
.
start_with?
(
"[Go!]("
)
||
!
link_val
.
end_with?
(
')'
)
add_error
(
line_num
,
5
,
"format should be
\"
[Go!](<LINK>)
\"
:
#{
link_val
}
"
)
add_error
(
line_num
,
INDEX_LINK
,
"format should be
\"
[Go!](<LINK>)
\"
:
#{
link_val
}
"
)
end
end
end
end
end
end
...
...
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