mirror of
https://gitea.invidious.io/iv-org/shard-ameba.git
synced 2024-08-15 00:53:29 +00:00
28 lines
606 B
Crystal
28 lines
606 B
Crystal
module Ameba::Rule::Naming
|
|
# A rule that enforces file names to be in underscored case.
|
|
#
|
|
# YAML configuration example:
|
|
#
|
|
# ```
|
|
# Naming/Filename:
|
|
# Enabled: true
|
|
# ```
|
|
class Filename < Base
|
|
properties do
|
|
description "Enforces file names to be in underscored case"
|
|
end
|
|
|
|
MSG = "Filename should be underscore-cased: %s, not %s"
|
|
|
|
private LOCATION = {1, 1}
|
|
|
|
def test(source : Source)
|
|
path = Path[source.path]
|
|
name = path.basename
|
|
|
|
return if (expected = name.underscore) == name
|
|
|
|
issue_for LOCATION, MSG % {expected, name}
|
|
end
|
|
end
|
|
end
|