rubocop-cask 0.22.0 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 22d2072108140f809e919c9f1bfe3c9a7fbf095c5d16b2db1a5eb1c1ac2f5db5
4
- data.tar.gz: db42b732f5139900a29cc9d461f7c405ae861fd515b280a6b517d772985cf313
3
+ metadata.gz: 0416ad989e2e206697e6e3a255f6ca37c4455134453cb8d79225dd275743728d
4
+ data.tar.gz: bd884af3ba5b89ac48b69070c7d6d53a2176ab381ee64d5996d042c125a0cd85
5
5
  SHA512:
6
- metadata.gz: 7cedcd755c015b5cdcd97245f8c7c4feef9e51d24cdacc0a033376facea45a83b8f83b0be53cfb23a851b6183f5fcabbc7a87c9d952a6d9cb37ed186b312dfb3
7
- data.tar.gz: b99489754639d326f3d3fcc3323301a26d75e55b76e07d83ab88f6f8d9aaa5b6a44bc6073cea2c2f933681d9c4241b2fecb9e99cba6a6ac226608d6ce397a1c3
6
+ metadata.gz: 607c4f15c81aa2592ac0812b6472c5ee62f95439eb972bbfc6636664e8ba586c62f38e53a2e362444e5acfd3ced5206f642bdc638038ff179bfc39ea1bd932e6
7
+ data.tar.gz: b453fc2ca3ffd8f6680094890acb691d992095dd7bfa7fc14ba8a9f1e99141c8b13ecc4381d7b4b88d3eee93f0cdac413c20f721f392866c084c6e83332b08c0
@@ -14,10 +14,6 @@ module RuboCop
14
14
  hash_node
15
15
  end
16
16
 
17
- def test_cask?
18
- header_method_name == :test_cask || dsl_version.to_s.include?('test')
19
- end
20
-
21
17
  def header_str
22
18
  @header_str ||= source_range.source
23
19
  end
@@ -27,19 +23,7 @@ module RuboCop
27
23
  end
28
24
 
29
25
  def preferred_header_str
30
- "#{preferred_header_method_name} '#{cask_token}'"
31
- end
32
-
33
- def preferred_header_method_name
34
- test_cask? ? :test_cask : :cask
35
- end
36
-
37
- def header_method_name
38
- @header_method_name ||= method_node.method_name
39
- end
40
-
41
- def dsl_version
42
- @dsl_version ||= pair_node.key_node.children.first
26
+ "cask '#{cask_token}'"
43
27
  end
44
28
 
45
29
  def cask_token
@@ -2,14 +2,11 @@ module RuboCop
2
2
  module Cask
3
3
  # Constants available globally for use in all Cask cops.
4
4
  module Constants
5
- CASK_METHOD_NAMES = [:cask, :test_cask].freeze
6
-
7
5
  STANZA_GROUPS = [
8
6
  [:version, :sha256],
9
7
  [:url, :appcast, :name, :homepage],
10
8
  [
11
9
  :auto_updates,
12
- :accessibility_access,
13
10
  :conflicts_with,
14
11
  :depends_on,
15
12
  :container
@@ -11,13 +11,7 @@ module RuboCop
11
11
  def_node_matcher :key_node, '{(pair $_ _) (hash (pair $_ _) ...)}'
12
12
  def_node_matcher :val_node, '{(pair _ $_) (hash (pair _ $_) ...)}'
13
13
 
14
- def cask_block?
15
- block_type? && method_node.cask_header?
16
- end
17
-
18
- def cask_header?
19
- send_type? && CASK_METHOD_NAMES.include?(method_name)
20
- end
14
+ def_node_matcher :cask_block?, '(block (send nil? :cask _) args ...)'
21
15
 
22
16
  def stanza?
23
17
  (send_type? || block_type?) && STANZA_ORDER.include?(method_name)
@@ -3,6 +3,6 @@ require 'rubygems'
3
3
  module RuboCop
4
4
  module Cask
5
5
  # Version information for the Cask RuboCop plugin.
6
- VERSION = '0.22.0'.freeze
6
+ VERSION = '0.23.0'.freeze
7
7
  end
8
8
  end
@@ -14,7 +14,7 @@ module RuboCop
14
14
 
15
15
  REFERENCE_URL = 'https://github.com/Homebrew/homebrew-cask/blob/master/doc/cask_language_reference/stanzas/url.md#when-url-and-homepage-hostnames-differ-add-a-comment'.freeze
16
16
 
17
- COMMENT_FORMAT = /# [^ ]+ was verified as official when first introduced to the cask/
17
+ COMMENT_FORMAT = /# [^ ]+ was verified as official when first introduced to the cask/.freeze
18
18
 
19
19
  MSG_NO_MATCH = '`%<url>s` does not match `%<full_url>s`'.freeze
20
20
 
@@ -24,8 +24,8 @@ module RuboCop
24
24
  MSG_WRONG_FORMAT = '`%<comment>s` does not match the expected comment format. ' \
25
25
  'For details, see ' + REFERENCE_URL
26
26
 
27
- MSG_UNNECESSARY = '`%<domain>s` matches `%<homepage>s`, the comment above the `url` ' \
28
- 'stanza is unnecessary'.freeze
27
+ MSG_UNNECESSARY = 'The URL\'s domain `%<domain>s` matches the homepage `%<homepage>s`, ' \
28
+ 'the comment above the `url` stanza is unnecessary'.freeze
29
29
 
30
30
  def on_cask(cask_block)
31
31
  @cask_block = cask_block
@@ -52,6 +52,7 @@ module RuboCop
52
52
  def add_offense_unnecessary_comment(stanza)
53
53
  return unless comment?(stanza)
54
54
  return unless url_match_homepage?(stanza)
55
+ return unless comment_matches_format?(stanza)
55
56
  return unless comment_matches_url?(stanza)
56
57
 
57
58
  comment = comment(stanza).loc.expression
@@ -75,8 +75,9 @@ describe RuboCop::Cop::Cask::HomepageMatchesUrl do
75
75
  end
76
76
  let(:expected_offenses) do
77
77
  [{
78
- message: '`foo.example.com` matches `example.com`, ' \
79
- 'the comment above the `url` stanza is unnecessary',
78
+ message: 'The URL\'s domain `foo.example.com` matches the homepage ' \
79
+ '`example.com`, the comment above the `url` stanza is ' \
80
+ 'unnecessary',
80
81
  severity: :convention,
81
82
  line: 2,
82
83
  column: 2,
@@ -29,50 +29,5 @@ describe RuboCop::Cop::Cask::NoDslVersion do
29
29
 
30
30
  include_examples 'autocorrects source'
31
31
  end
32
-
33
- context 'with dsl version containing "test"' do
34
- let(:source) { "cask :v1test => 'foo' do; end" }
35
- let(:correct_source) { "test_cask 'foo' do; end" }
36
- let(:expected_offenses) do
37
- [{
38
- message: "Use `test_cask 'foo'` instead of `cask :v1test => 'foo'`",
39
- severity: :convention,
40
- line: 1,
41
- column: 0,
42
- source: "cask :v1test => 'foo'"
43
- }]
44
- end
45
-
46
- include_examples 'reports offenses'
47
-
48
- include_examples 'autocorrects source'
49
- end
50
- end
51
-
52
- context 'with header method `test_cask`' do
53
- context 'with no dsl version' do
54
- let(:source) { "test_cask 'foo' do; end" }
55
-
56
- include_examples 'does not report any offenses'
57
- end
58
-
59
- context 'with dsl version' do
60
- let(:source) { "test_cask :v1 => 'foo' do; end" }
61
- let(:correct_source) { "test_cask 'foo' do; end" }
62
- let(:expected_offenses) do
63
- [{
64
- message: "Use `test_cask 'foo'` instead of "\
65
- "`test_cask :v1 => 'foo'`",
66
- severity: :convention,
67
- line: 1,
68
- column: 0,
69
- source: "test_cask :v1 => 'foo'"
70
- }]
71
- end
72
-
73
- include_examples 'reports offenses'
74
-
75
- include_examples 'autocorrects source'
76
- end
77
32
  end
78
33
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop-cask
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.22.0
4
+ version: 0.23.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joshua Hagins
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-09-17 00:00:00.000000000 Z
11
+ date: 2018-11-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: public_suffix
@@ -36,14 +36,14 @@ dependencies:
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: 0.59.1
39
+ version: 0.60.0
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: 0.59.1
46
+ version: 0.60.0
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: bundler
49
49
  requirement: !ruby/object:Gem::Requirement
@@ -129,7 +129,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
129
129
  version: '0'
130
130
  requirements: []
131
131
  rubyforge_project:
132
- rubygems_version: 2.7.7
132
+ rubygems_version: 2.7.8
133
133
  signing_key:
134
134
  specification_version: 4
135
135
  summary: Code style checking for Homebrew-Cask files