codeowners 0.0.3 → 0.0.4
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 +4 -4
- data/.github/workflows/ci.yml +42 -0
- data/.rspec +1 -0
- data/CHANGELOG.md +4 -0
- data/Rakefile +10 -1
- data/codeowners.gemspec +2 -1
- data/lib/codeowners/list_owners.rb +24 -2
- data/lib/codeowners/version.rb +1 -1
- metadata +24 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a72c0c2917eaac74c58a98ad2ef7a1d7e9d47f6a5dae33fda9b9be6a4188bd98
|
4
|
+
data.tar.gz: c1db100813840cb7986353467b55c6dc522fe302ef012bccb1ebbf49adcc01d6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d202a2ca205b4c4ce45cfcac0717a35a6658bd0bf44d8acecf18fb6a0f56c54ce0a633e974928a4e3c5907401f92ea1d9e14cd8ec4a152f0d36a618203d5fffb
|
7
|
+
data.tar.gz: 81f3a9cada8c72cebcd70b9c134bebb7bc3294688ac6aad52073939a244ac3b65b5918dac34c3179ee7253c7cf05dca6950ee14c3cbc371bee02a93c742c722c
|
@@ -0,0 +1,42 @@
|
|
1
|
+
name: ci
|
2
|
+
|
3
|
+
"on":
|
4
|
+
push:
|
5
|
+
paths:
|
6
|
+
- ".github/workflows/ci.yml"
|
7
|
+
- "lib/**"
|
8
|
+
- "*.gemspec"
|
9
|
+
- "spec/**"
|
10
|
+
- "Rakefile"
|
11
|
+
- "Gemfile"
|
12
|
+
- ".rubocop.yml"
|
13
|
+
pull_request:
|
14
|
+
branches:
|
15
|
+
- master
|
16
|
+
create:
|
17
|
+
|
18
|
+
jobs:
|
19
|
+
tests:
|
20
|
+
runs-on: ubuntu-latest
|
21
|
+
strategy:
|
22
|
+
fail-fast: false
|
23
|
+
matrix:
|
24
|
+
ruby:
|
25
|
+
- "3.0"
|
26
|
+
- "2.7"
|
27
|
+
- "2.6"
|
28
|
+
steps:
|
29
|
+
- uses: actions/checkout@v1
|
30
|
+
- name: Install package dependencies
|
31
|
+
run: "[ -e $APT_DEPS ] || sudo apt-get install -y --no-install-recommends $APT_DEPS"
|
32
|
+
- name: Set up Ruby
|
33
|
+
uses: ruby/setup-ruby@v1
|
34
|
+
with:
|
35
|
+
ruby-version: ${{matrix.ruby}}
|
36
|
+
- name: Install latest bundler
|
37
|
+
run: |
|
38
|
+
gem install bundler --no-document
|
39
|
+
- name: Bundle install
|
40
|
+
run: bundle install --jobs 4 --retry 3
|
41
|
+
- name: Run all tests
|
42
|
+
run: bundle exec rake
|
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--require spec_helper
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
# Codeowners
|
2
2
|
Simple CLI to interact with GitHub CODEOWNERS
|
3
3
|
|
4
|
+
## v0.0.4 - 2021-05-21
|
5
|
+
### Fixed
|
6
|
+
- [Luca Guidi] Make `codeowners list` compatible with [CODEOWNERS spec](https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-code-owners#codeowners-syntax)
|
7
|
+
|
4
8
|
## v0.0.3 - 2020-07-22
|
5
9
|
### Added
|
6
10
|
- [Luca Guidi] Added `codeowners guess`
|
data/Rakefile
CHANGED
@@ -1,4 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require "rake"
|
3
4
|
require "bundler/gem_tasks"
|
4
|
-
|
5
|
+
require "rspec/core/rake_task"
|
6
|
+
|
7
|
+
RSpec::Core::RakeTask.new(:spec) do |task|
|
8
|
+
file_list = FileList["spec/**/*_spec.rb"]
|
9
|
+
|
10
|
+
task.pattern = file_list
|
11
|
+
end
|
12
|
+
|
13
|
+
task default: "spec"
|
data/codeowners.gemspec
CHANGED
@@ -26,8 +26,9 @@ Gem::Specification.new do |spec|
|
|
26
26
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
27
27
|
spec.require_paths = ["lib"]
|
28
28
|
|
29
|
-
spec.add_runtime_dependency "dry-cli", "~> 0.
|
29
|
+
spec.add_runtime_dependency "dry-cli", "~> 0.7"
|
30
30
|
spec.add_runtime_dependency "excon", "~> 0.75"
|
31
|
+
spec.add_development_dependency "rspec"
|
31
32
|
spec.add_development_dependency "rubocop"
|
32
33
|
spec.add_development_dependency "byebug"
|
33
34
|
end
|
@@ -10,16 +10,38 @@ module Codeowners
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def call(file)
|
13
|
+
result = Result.new
|
14
|
+
|
13
15
|
::File.open(@codeowners, "r").each_line do |line|
|
14
16
|
line = line.chomp
|
15
17
|
next if line.empty? || line.match?(/[[:space:]]*#/)
|
16
18
|
|
17
19
|
pattern, *owners = line.split(/[[:space:]]+/)
|
18
20
|
|
19
|
-
|
21
|
+
result = Result.new(pattern, owners) if match?(pattern, file)
|
20
22
|
end
|
21
23
|
|
22
|
-
|
24
|
+
result
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
def match?(pattern, file)
|
30
|
+
pattern = normalize_pattern(pattern)
|
31
|
+
flags = match_flags_for(pattern)
|
32
|
+
|
33
|
+
File.fnmatch(pattern, file, flags)
|
34
|
+
end
|
35
|
+
|
36
|
+
def normalize_pattern(pattern)
|
37
|
+
pattern += "**" if pattern.end_with?(::File::SEPARATOR)
|
38
|
+
pattern
|
39
|
+
end
|
40
|
+
|
41
|
+
def match_flags_for(pattern)
|
42
|
+
return File::FNM_PATHNAME if pattern.end_with?(::File::SEPARATOR + "*")
|
43
|
+
|
44
|
+
0
|
23
45
|
end
|
24
46
|
end
|
25
47
|
end
|
data/lib/codeowners/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: codeowners
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luca Guidi
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-05-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dry-cli
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
19
|
+
version: '0.7'
|
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.
|
26
|
+
version: '0.7'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: excon
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0.75'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: rubocop
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -75,7 +89,9 @@ executables:
|
|
75
89
|
extensions: []
|
76
90
|
extra_rdoc_files: []
|
77
91
|
files:
|
92
|
+
- ".github/workflows/ci.yml"
|
78
93
|
- ".gitignore"
|
94
|
+
- ".rspec"
|
79
95
|
- ".rubocop.yml"
|
80
96
|
- CHANGELOG.md
|
81
97
|
- Gemfile
|
@@ -107,7 +123,7 @@ metadata:
|
|
107
123
|
homepage_uri: https://lucaguidi.com
|
108
124
|
source_code_uri: https://github.com/jodosha/codeowners
|
109
125
|
changelog_uri: https://github.com/jodosha/codeowners/blob/master/CHANGELOG.md
|
110
|
-
post_install_message:
|
126
|
+
post_install_message:
|
111
127
|
rdoc_options: []
|
112
128
|
require_paths:
|
113
129
|
- lib
|
@@ -122,8 +138,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
122
138
|
- !ruby/object:Gem::Version
|
123
139
|
version: '0'
|
124
140
|
requirements: []
|
125
|
-
rubygems_version: 3.
|
126
|
-
signing_key:
|
141
|
+
rubygems_version: 3.2.4
|
142
|
+
signing_key:
|
127
143
|
specification_version: 4
|
128
144
|
summary: GitHub Codeowners check and guess
|
129
145
|
test_files: []
|