rubocop-md 0.3.1 → 1.0.1

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: 9eb807fc0ec080261719e989d665b63e329255144dd10d3627eaeb0e4d812e08
4
- data.tar.gz: 495bad6926f4b2e916309251cb621025ebd608dab38c50f9d1bf5ff4319be9e7
3
+ metadata.gz: bd427ec8e44c548cc33d0894f4cc8b0375ae3d92cbd5dac2ec0e5d5159cfc8cd
4
+ data.tar.gz: 920755489abe9ccb53e04b3386c980ab5b633649c8d0bcbedc566d0219d99f38
5
5
  SHA512:
6
- metadata.gz: cef788fcc7eacc9ecabcb5e4a37b7fc155f03d21352d1cadd80eede9745fe41fa112134767c9a7ca72b3771c1a488d873a05f69bb76287e0d0e3be75f97eaa43
7
- data.tar.gz: 37492d3e85be408a09d91a8002cd34da7229eff314e0e55f23977a9f1466e8bccd1f39b235e6604db82d1d8d65d07f3ef50c3a735c341045de64a23958177c8e
6
+ metadata.gz: b97928bbbf89b26e887baae4220f7db61f88897bc1e96bdaf623df188c0345839e49ccb9d66bb0569ef98a69efd6e7127fb9b760bf416c16909a79b367c93893
7
+ data.tar.gz: 63a5bc235da592a26613f1ada3a2992e0d0c878b2576909e35f0a65cbfeced0faf9e0fe69dbd2bb6e381cb3c24d9b40870c8d3461714655f7d133463ac759f3d
@@ -0,0 +1,33 @@
1
+ name: Lint
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+ pull_request:
8
+
9
+ jobs:
10
+ rubocop:
11
+ runs-on: ubuntu-latest
12
+ env:
13
+ BUNDLE_JOBS: 4
14
+ BUNDLE_RETRY: 3
15
+ CI: true
16
+ steps:
17
+ - uses: actions/checkout@v2
18
+ - uses: actions/cache@v1
19
+ with:
20
+ path: /home/runner/bundle
21
+ key: bundle-lint-${{ hashFiles('Gemfile') }}-${{ hashFiles('**/*.gemspec') }}
22
+ restore-keys: |
23
+ bundle-lint-
24
+ - uses: ruby/setup-ruby@v1
25
+ with:
26
+ ruby-version: 2.7
27
+ - name: Bundle install
28
+ run: |
29
+ bundle config path /home/runner/bundle
30
+ bundle install
31
+ - name: Run Rubocop
32
+ run: |
33
+ bundle exec rubocop
@@ -0,0 +1,34 @@
1
+ name: JRuby Test
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+ pull_request:
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+ env:
13
+ BUNDLE_JOBS: 4
14
+ BUNDLE_RETRY: 3
15
+ CI: true
16
+ steps:
17
+ - uses: actions/checkout@v2
18
+ - uses: actions/cache@v1
19
+ with:
20
+ path: /home/runner/bundle
21
+ key: bundle-${{ hashFiles('Gemfile') }}-${{ hashFiles('**/*.gemspec') }}
22
+ restore-keys: |
23
+ bundle-
24
+ - uses: ruby/setup-ruby@v1
25
+ with:
26
+ ruby-version: jruby
27
+ - name: Bundle install
28
+ run: |
29
+ bundle config path /home/runner/bundle
30
+ bundle install
31
+ bundle update
32
+ - name: Run tests
33
+ run: |
34
+ bundle exec rake test
@@ -0,0 +1,49 @@
1
+ name: Test
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+ pull_request:
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+ env:
13
+ BUNDLE_JOBS: 4
14
+ BUNDLE_RETRY: 3
15
+ CI: true
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ ruby: ["2.7"]
20
+ gemfile: [
21
+ "Gemfile"
22
+ ]
23
+ include:
24
+ - ruby: "2.5"
25
+ gemfile: "Gemfile"
26
+ - ruby: "2.6"
27
+ gemfile: "Gemfile"
28
+ - ruby: "2.7"
29
+ gemfile: "gemfiles/rubocopmaster.gemfile"
30
+ steps:
31
+ - uses: actions/checkout@v2
32
+ - uses: actions/cache@v1
33
+ with:
34
+ path: /home/runner/bundle
35
+ key: bundle-${{ matrix.ruby }}-${{ matrix.gemfile }}-${{ hashFiles(matrix.gemfile) }}-${{ hashFiles('**/*.gemspec') }}
36
+ restore-keys: |
37
+ bundle-${{ matrix.ruby }}-${{ matrix.gemfile }}-
38
+ - uses: ruby/setup-ruby@v1
39
+ with:
40
+ ruby-version: ${{ matrix.ruby }}
41
+ - name: Bundle install
42
+ run: |
43
+ bundle config path /home/runner/bundle
44
+ bundle config --global gemfile ${{ matrix.gemfile }}
45
+ bundle install
46
+ bundle update
47
+ - name: Run tests
48
+ run: |
49
+ bundle exec rake test
@@ -1,4 +1,5 @@
1
1
  AllCops:
2
+ NewCops: enable
2
3
  Include:
3
4
  - 'lib/**/*.rb'
4
5
  - 'lib/**/*.rake'
@@ -12,7 +13,8 @@ AllCops:
12
13
  - '*.gemspec'
13
14
  DisplayCopNames: true
14
15
  StyleGuideCopsOnly: false
15
- TargetRubyVersion: 2.3
16
+ TargetRubyVersion: 2.5
17
+ SuggestExtensions: false
16
18
 
17
19
  Style/Documentation:
18
20
  Exclude:
@@ -28,6 +30,15 @@ Style/ClassAndModuleChildren:
28
30
  Exclude:
29
31
  - 'test/**/*.rb'
30
32
 
33
+ Style/HashEachMethods:
34
+ Enabled: true
35
+
36
+ Style/HashTransformKeys:
37
+ Enabled: true
38
+
39
+ Style/HashTransformValues:
40
+ Enabled: true
41
+
31
42
  Layout/EmptyLinesAroundArguments:
32
43
  Enabled: false
33
44
 
@@ -4,6 +4,9 @@ before_install:
4
4
  - gem uninstall -v '>= 2' -i $(rvm gemdir)@global -ax bundler || true
5
5
  - gem install bundler -v '< 2'
6
6
 
7
+ notifications:
8
+ email: false
9
+
7
10
  matrix:
8
11
  fast_finish: true
9
12
  include:
@@ -11,16 +14,16 @@ matrix:
11
14
  gemfile: gemfiles/rubocopmaster.gemfile
12
15
  - rvm: jruby-9.2.8.0
13
16
  gemfile: Gemfile
14
- - rvm: 2.6
17
+ - rvm: 2.7
15
18
  gemfile: gemfiles/rubocopmaster.gemfile
19
+ - rvm: 2.7
20
+ gemfile: Gemfile
16
21
  - rvm: 2.6
17
22
  gemfile: Gemfile
18
23
  - rvm: 2.5
19
24
  gemfile: Gemfile
20
25
  - rvm: 2.4.2
21
26
  gemfile: Gemfile
22
- - rvm: 2.3.1
23
- gemfile: Gemfile
24
27
  allow_failures:
25
28
  - rvm: ruby-head
26
29
  gemfile: gemfiles/rubocopmaster.gemfile
@@ -2,6 +2,26 @@
2
2
 
3
3
  ## master (unreleased)
4
4
 
5
+ ## 1.0.1 (2020-12-28)
6
+
7
+ - Exclude `EmptyLineBetweenDefs` for MD files.
8
+
9
+ ## 1.0.0 (2020-12-24)
10
+
11
+ - Drop Ruby 2.4 support and require RuboCop 1.0.
12
+
13
+ ## 0.4.1 (2020-11-05)
14
+
15
+ - Relax required RuboCop version.
16
+
17
+ ## 0.4.0 (2020-07-03)
18
+
19
+ - [#10](https://github.com/rubocop-hq/rubocop-md/pull/10): **Drop Ruby 2.3 support** ([@dominicsayers][])
20
+
21
+ ## 0.3.2 (2020-03-18)
22
+
23
+ - [#9](https://github.com/rubocop-hq/rubocop-md/pull/9): Add file extensions for Markdown ([@ybiquitous][])
24
+
5
25
  ## 0.3.1 (2019-12-25)
6
26
 
7
27
  - Upgrade to RuboCop 0.78 ([@palkan][])
@@ -13,3 +33,5 @@ Change the default config to use the new cop names for (e.g., `Layout/LineLength
13
33
  - **Drop Ruby 2.2 support** ([@palkan][])
14
34
 
15
35
  [@palkan]: https://github.com/palkan
36
+ [@ybiquitous]: https://github.com/ybiquitous
37
+ [@dominicsayers]: https://github.com/dominicsayers
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2017-2019 Vladimir Dementyev
3
+ Copyright (c) 2017-2021 Vladimir Dementyev
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  [![Gem Version](https://badge.fury.io/rb/rubocop-md.svg)](http://badge.fury.io/rb/rubocop-md)
2
- [![Travis Status](https://travis-ci.org/rubocop-hq/rubocop-md.svg?branch=master)](https://travis-ci.org/rubocop-hq/rubocop-md)
2
+ ![Test](https://github.com/rubocop-hq/rubocop-md/workflows/Test/badge.svg)
3
3
 
4
4
  # Rubocop Markdown
5
5
 
@@ -12,7 +12,7 @@ Run Rubocop against your Markdown files to make sure that code examples follow s
12
12
  - Preserves specified language (i.e., do not try to analyze "\`\`\`sh")
13
13
  - **Supports autocorrect 📝**
14
14
 
15
- This project was developed to keep [test-prof](https://github.com/palkan/test-prof) guides consistent with Ruby style guide.
15
+ This project was developed to keep [test-prof](https://github.com/test-prof/test-prof) guides consistent with Ruby style guide.
16
16
 
17
17
  ## Installation
18
18
 
@@ -126,7 +126,7 @@ end
126
126
 
127
127
  <span style="display:none;"># rubocop:enable all</span>
128
128
 
129
- ... continuation of article ...
129
+ ... continuation of article ...
130
130
  ```
131
131
 
132
132
  ## How it works?
@@ -145,13 +145,13 @@ end
145
145
 
146
146
  ## Development
147
147
 
148
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests.
148
+ After checking out the repo, run `bundle install` to install dependencies. Then, run `rake test` to run the tests.
149
149
 
150
150
  To install this gem onto your local machine, run `bundle exec rake install`.
151
151
 
152
152
  ## Contributing
153
153
 
154
- Bug reports and pull requests are welcome on GitHub at https://github.com/palkan/rubocop-md.
154
+ Bug reports and pull requests are welcome on GitHub at https://github.com/rubocop-hq/rubocop-md.
155
155
 
156
156
  ## License
157
157
 
@@ -22,11 +22,66 @@ Layout/TrailingEmptyLines:
22
22
  - '**/*.md'
23
23
  - '**/*.markdown'
24
24
 
25
+ Layout/EmptyLineBetweenDefs:
26
+ Exclude:
27
+ - '**/*.md'
28
+ - '**/*.markdown'
29
+
30
+ Lint/DuplicateRequire:
31
+ Exclude:
32
+ - '**/*.md'
33
+ - '**/*.markdown'
34
+
35
+ Lint/DuplicateMethods:
36
+ Exclude:
37
+ - '**/*.md'
38
+ - '**/*.markdown'
39
+
40
+ Lint/RedundantCopDisableDirective:
41
+ Exclude:
42
+ - '**/*.md'
43
+ - '**/*.markdown'
44
+
45
+ Lint/RedundantCopEnableDirective:
46
+ Exclude:
47
+ - '**/*.md'
48
+ - '**/*.markdown'
49
+
50
+ Lint/RedundantRequireStatement:
51
+ Exclude:
52
+ - '**/*.md'
53
+ - '**/*.markdown'
54
+
55
+ Lint/UnusedMethodArgument:
56
+ Exclude:
57
+ - '**/*.md'
58
+ - '**/*.markdown'
59
+
60
+ Lint/UnusedBlockArgument:
61
+ Exclude:
62
+ - '**/*.md'
63
+ - '**/*.markdown'
64
+
25
65
  Lint/UselessAssignment:
26
66
  Exclude:
27
67
  - '**/*.md'
28
68
  - '**/*.markdown'
29
69
 
70
+ Lint/UselessMethodDefinition:
71
+ Exclude:
72
+ - '**/*.md'
73
+ - '**/*.markdown'
74
+
75
+ Lint/UselessAccessModifier:
76
+ Exclude:
77
+ - '**/*.md'
78
+ - '**/*.markdown'
79
+
80
+ Lint/Void:
81
+ Exclude:
82
+ - '**/*.md'
83
+ - '**/*.markdown'
84
+
30
85
  Naming/FileName:
31
86
  Exclude:
32
87
  - '**/*.md'
@@ -73,8 +73,8 @@ module RuboCop
73
73
  walker = Walker.new
74
74
 
75
75
  parts.each do |part|
76
- if walker.code_body?
77
- next walker.next! if maybe_ruby?(@syntax) && valid_syntax?(@syntax, part)
76
+ if walker.code_body? && maybe_ruby?(@syntax) && valid_syntax?(@syntax, part)
77
+ next walker.next!
78
78
  end
79
79
 
80
80
  if walker.code_attr?
@@ -2,10 +2,24 @@
2
2
 
3
3
  module RuboCop
4
4
  module Markdown # :nodoc:
5
- MARKDOWN_EXTENSIONS = %w[.md .markdown].freeze
5
+ # According to Linguist.
6
+ # See https://github.com/github/linguist/blob/96ca71ab99c2f9928d5d69f4c08fd2a51440d045/lib/linguist/languages.yml#L3065-L3083
7
+ MARKDOWN_EXTENSIONS = %w[
8
+ .md
9
+ .markdown
10
+ .mdown
11
+ .mdwn
12
+ .mdx
13
+ .mkd
14
+ .mkdn
15
+ .mkdown
16
+ .ronn
17
+ .workbook
18
+ ].freeze
6
19
 
7
20
  class << self
8
21
  attr_accessor :config_store
22
+
9
23
  # Merge markdown config into default configuration
10
24
  # See https://github.com/backus/rubocop-rspec/blob/master/lib/rubocop/rspec/inject.rb
11
25
  def inject!
@@ -64,7 +78,7 @@ RuboCop::ProcessedSource.prepend(Module.new do
64
78
  def parse(src, *args)
65
79
  # only process Markdown files
66
80
  src = RuboCop::Markdown::Preprocess.new(path).call(src) if
67
- path.nil? || RuboCop::Markdown.markdown_file?(path)
81
+ path && RuboCop::Markdown.markdown_file?(path)
68
82
  super(src, *args)
69
83
  end
70
84
  end)
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RuboCop
4
4
  module Markdown
5
- VERSION = "0.3.1"
5
+ VERSION = "1.0.1"
6
6
  end
7
7
  end
@@ -25,13 +25,13 @@ Gem::Specification.new do |spec|
25
25
  "source_code_uri" => "http://github.com/rubocop-hq/rubocop-md"
26
26
  }
27
27
 
28
- spec.required_ruby_version = ">= 2.3.0"
28
+ spec.required_ruby_version = ">= 2.5.0"
29
29
 
30
30
  spec.require_paths = ["lib"]
31
31
 
32
- spec.add_runtime_dependency "rubocop", "~> 0.60"
32
+ spec.add_runtime_dependency "rubocop", ">= 1.0"
33
33
 
34
34
  spec.add_development_dependency "bundler", ">= 1.15"
35
- spec.add_development_dependency "rake", "~> 10.0"
35
+ spec.add_development_dependency "rake", ">= 13.0"
36
36
  spec.add_development_dependency "minitest", "~> 5.0"
37
37
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop-md
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vladimir Dementyev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-25 00:00:00.000000000 Z
11
+ date: 2020-12-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0.60'
19
+ version: '1.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '0.60'
26
+ version: '1.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -42,16 +42,16 @@ dependencies:
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '10.0'
47
+ version: '13.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '10.0'
54
+ version: '13.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: minitest
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -75,6 +75,9 @@ extensions: []
75
75
  extra_rdoc_files: []
76
76
  files:
77
77
  - ".gem_release.yml"
78
+ - ".github/workflows/lint.yml"
79
+ - ".github/workflows/test-jruby.yml"
80
+ - ".github/workflows/test.yml"
78
81
  - ".gitignore"
79
82
  - ".rubocop.yml"
80
83
  - ".travis.yml"
@@ -83,7 +86,6 @@ files:
83
86
  - LICENSE.txt
84
87
  - README.md
85
88
  - Rakefile
86
- - bin/setup
87
89
  - config/default.yml
88
90
  - gemfiles/rubocopmaster.gemfile
89
91
  - lib/rubocop-md.rb
@@ -109,14 +111,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
109
111
  requirements:
110
112
  - - ">="
111
113
  - !ruby/object:Gem::Version
112
- version: 2.3.0
114
+ version: 2.5.0
113
115
  required_rubygems_version: !ruby/object:Gem::Requirement
114
116
  requirements:
115
117
  - - ">="
116
118
  - !ruby/object:Gem::Version
117
119
  version: '0'
118
120
  requirements: []
119
- rubygems_version: 3.0.3
121
+ rubygems_version: 3.0.6
120
122
  signing_key:
121
123
  specification_version: 4
122
124
  summary: Run Rubocop against your Markdown files to make sure that code examples follow
data/bin/setup DELETED
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
5
-
6
- bundle install
7
-
8
- # Do any other automated setup that you need to do here