rubocop-cask 0.22.0 → 0.23.0

Sign up to get free protection for your applications and to get access to all the features.
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