livecheck: add component order rubocop
This commit is contained in:
parent
56f0308fe7
commit
a4f9a66406
@ -12,24 +12,25 @@ module RuboCop
|
|||||||
class ComponentsOrder < FormulaCop
|
class ComponentsOrder < FormulaCop
|
||||||
def audit_formula(_node, _class_node, _parent_class_node, body_node)
|
def audit_formula(_node, _class_node, _parent_class_node, body_node)
|
||||||
component_precedence_list = [
|
component_precedence_list = [
|
||||||
[{ name: :include, type: :method_call }],
|
[{ name: :include, type: :method_call }],
|
||||||
[{ name: :desc, type: :method_call }],
|
[{ name: :desc, type: :method_call }],
|
||||||
[{ name: :homepage, type: :method_call }],
|
[{ name: :homepage, type: :method_call }],
|
||||||
[{ name: :url, type: :method_call }],
|
[{ name: :url, type: :method_call }],
|
||||||
[{ name: :mirror, type: :method_call }],
|
[{ name: :mirror, type: :method_call }],
|
||||||
[{ name: :version, type: :method_call }],
|
[{ name: :version, type: :method_call }],
|
||||||
[{ name: :sha256, type: :method_call }],
|
[{ name: :sha256, type: :method_call }],
|
||||||
[{ name: :revision, type: :method_call }],
|
[{ name: :revision, type: :method_call }],
|
||||||
[{ name: :version_scheme, type: :method_call }],
|
[{ name: :version_scheme, type: :method_call }],
|
||||||
[{ name: :head, type: :method_call }],
|
[{ name: :head, type: :method_call }],
|
||||||
[{ name: :stable, type: :block_call }],
|
[{ name: :stable, type: :block_call }],
|
||||||
[{ name: :bottle, type: :block_call }],
|
[{ name: :livecheck, type: :block_call }],
|
||||||
|
[{ name: :bottle, type: :block_call }],
|
||||||
[{ name: :pour_bottle?, type: :block_call }],
|
[{ name: :pour_bottle?, type: :block_call }],
|
||||||
[{ name: :devel, type: :block_call }],
|
[{ name: :devel, type: :block_call }],
|
||||||
[{ name: :head, type: :block_call }],
|
[{ name: :head, type: :block_call }],
|
||||||
[{ name: :bottle, type: :method_call }],
|
[{ name: :bottle, type: :method_call }],
|
||||||
[{ name: :keg_only, type: :method_call }],
|
[{ name: :keg_only, type: :method_call }],
|
||||||
[{ name: :option, type: :method_call }],
|
[{ name: :option, type: :method_call }],
|
||||||
[{ name: :deprecated_option, type: :method_call }],
|
[{ name: :deprecated_option, type: :method_call }],
|
||||||
[{ name: :depends_on, type: :method_call }],
|
[{ name: :depends_on, type: :method_call }],
|
||||||
[{ name: :uses_from_macos, type: :method_call }],
|
[{ name: :uses_from_macos, type: :method_call }],
|
||||||
|
|||||||
@ -19,6 +19,23 @@ describe RuboCop::Cop::FormulaAudit::ComponentsOrder do
|
|||||||
RUBY
|
RUBY
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "When `bottle` precedes `livecheck`" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
class Foo < Formula
|
||||||
|
homepage "https://brew.sh"
|
||||||
|
url "https://brew.sh/foo-1.0.tgz"
|
||||||
|
|
||||||
|
bottle :unneeded
|
||||||
|
|
||||||
|
livecheck do
|
||||||
|
^^^^^^^^^^^^ `livecheck` (line 7) should be put before `bottle` (line 5)
|
||||||
|
url "https://brew.sh/foo/versions/"
|
||||||
|
regex(/href=.+?foo-(\d+(?:\.\d+)+)\.t/)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
it "When url precedes homepage" do
|
it "When url precedes homepage" do
|
||||||
expect_offense(<<~RUBY)
|
expect_offense(<<~RUBY)
|
||||||
class Foo < Formula
|
class Foo < Formula
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user