Remove NoDslVersion
cop.
This commit is contained in:
parent
b3f7c6f7a5
commit
46b9dba03c
@ -38,9 +38,6 @@ Cask/Desc:
|
|||||||
Cask/HomepageUrlTrailingSlash:
|
Cask/HomepageUrlTrailingSlash:
|
||||||
Description: "Ensure that the homepage url has a slash after the domain name."
|
Description: "Ensure that the homepage url has a slash after the domain name."
|
||||||
|
|
||||||
Cask/NoDslVersion:
|
|
||||||
Description: "Do not use the deprecated DSL version syntax in your cask header."
|
|
||||||
|
|
||||||
Cask/StanzaGrouping:
|
Cask/StanzaGrouping:
|
||||||
Description: "Ensure that cask stanzas are grouped correctly. More info at https://docs.brew.sh/Cask-Cookbook#stanza-order"
|
Description: "Ensure that cask stanzas are grouped correctly. More info at https://docs.brew.sh/Cask-Cookbook#stanza-order"
|
||||||
|
|
||||||
|
@ -13,10 +13,6 @@ module RuboCop
|
|||||||
|
|
||||||
attr_reader :method_node
|
attr_reader :method_node
|
||||||
|
|
||||||
def dsl_version?
|
|
||||||
hash_node
|
|
||||||
end
|
|
||||||
|
|
||||||
def header_str
|
def header_str
|
||||||
@header_str ||= source_range.source
|
@header_str ||= source_range.source
|
||||||
end
|
end
|
||||||
@ -31,11 +27,7 @@ module RuboCop
|
|||||||
end
|
end
|
||||||
|
|
||||||
def cask_token
|
def cask_token
|
||||||
@cask_token ||= if dsl_version?
|
@cask_token ||= method_node.first_argument.str_content
|
||||||
pair_node.val_node.children.first
|
|
||||||
else
|
|
||||||
method_node.first_argument.str_content
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def hash_node
|
def hash_node
|
||||||
|
@ -1,61 +0,0 @@
|
|||||||
# typed: true
|
|
||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
require "forwardable"
|
|
||||||
|
|
||||||
module RuboCop
|
|
||||||
module Cop
|
|
||||||
module Cask
|
|
||||||
# Do not use the deprecated DSL version syntax in your cask header.
|
|
||||||
#
|
|
||||||
# @example
|
|
||||||
# # bad
|
|
||||||
# cask :v1 => 'foo' do
|
|
||||||
# ...
|
|
||||||
# end
|
|
||||||
#
|
|
||||||
# # good
|
|
||||||
# cask 'foo' do
|
|
||||||
# ...
|
|
||||||
# end
|
|
||||||
class NoDslVersion < Base
|
|
||||||
extend Forwardable
|
|
||||||
extend AutoCorrector
|
|
||||||
include CaskHelp
|
|
||||||
|
|
||||||
MESSAGE = "Use `%<preferred>s` instead of `%<current>s`."
|
|
||||||
|
|
||||||
def on_cask(cask_block)
|
|
||||||
@cask_header = cask_block.header
|
|
||||||
return unless offense?
|
|
||||||
|
|
||||||
offense
|
|
||||||
end
|
|
||||||
|
|
||||||
private
|
|
||||||
|
|
||||||
def_delegator :@cask_header, :source_range, :header_range
|
|
||||||
def_delegators :@cask_header, :header_str, :preferred_header_str
|
|
||||||
|
|
||||||
def cask_header(method_node)
|
|
||||||
RuboCop::Cask::AST::CaskHeader.new(method_node)
|
|
||||||
end
|
|
||||||
|
|
||||||
def offense?
|
|
||||||
@cask_header.dsl_version?
|
|
||||||
end
|
|
||||||
|
|
||||||
def offense
|
|
||||||
add_offense(header_range, message: error_msg) do |corrector|
|
|
||||||
corrector.replace(header_range, preferred_header_str)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
sig { returns(String) }
|
|
||||||
def error_msg
|
|
||||||
format(MESSAGE, preferred: preferred_header_str, current: header_str)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
@ -14,7 +14,6 @@ require_relative "cask/mixin/on_homepage_stanza"
|
|||||||
require_relative "cask/mixin/on_url_stanza"
|
require_relative "cask/mixin/on_url_stanza"
|
||||||
require_relative "cask/desc"
|
require_relative "cask/desc"
|
||||||
require_relative "cask/homepage_url_trailing_slash"
|
require_relative "cask/homepage_url_trailing_slash"
|
||||||
require_relative "cask/no_dsl_version"
|
|
||||||
require_relative "cask/no_overrides"
|
require_relative "cask/no_overrides"
|
||||||
require_relative "cask/on_system_conditionals"
|
require_relative "cask/on_system_conditionals"
|
||||||
require_relative "cask/stanza_order"
|
require_relative "cask/stanza_order"
|
||||||
|
@ -1,20 +0,0 @@
|
|||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
require "rubocops/rubocop-cask"
|
|
||||||
|
|
||||||
describe RuboCop::Cop::Cask::NoDslVersion, :config do
|
|
||||||
it "accepts `cask` without a DSL version" do
|
|
||||||
expect_no_offenses "cask 'foo' do; end"
|
|
||||||
end
|
|
||||||
|
|
||||||
it "reports an offense when `cask` has a DSL version" do
|
|
||||||
expect_offense <<~CASK
|
|
||||||
cask :v1 => 'foo' do; end
|
|
||||||
^^^^^^^^^^^^^^^^^ Use `cask 'foo'` instead of `cask :v1 => 'foo'`.
|
|
||||||
CASK
|
|
||||||
|
|
||||||
expect_correction <<~CASK
|
|
||||||
cask 'foo' do; end
|
|
||||||
CASK
|
|
||||||
end
|
|
||||||
end
|
|
Loading…
x
Reference in New Issue
Block a user