autoload-checker 0.1.0 → 0.1.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: 6e5e30b050ff00a10be2fbb62a51bb5b57f7a7cfe7f612fd7afdf2a99e2c4028
4
- data.tar.gz: 1f16534a3b8a2965c4e08b1d1e35bab5fa43d0b421cd697d013fa761888183c3
3
+ metadata.gz: 36c041f55a40686ad53d4743b9f437c3ea295410e1b769c0805865e9f64d9154
4
+ data.tar.gz: 8c0fe9f5d1fdc3ee9beb1a7b9ebbfaf0f2ea3f5924a4e20ca4e398adea5263d9
5
5
  SHA512:
6
- metadata.gz: fc1269943f368984f3c3bebe7ab836a61bd57b4e985409b76f6443c0644097da00df194a96592951675a0decf1e438fb7a73034c25b9b3d7e2f668a0dd3d98d8
7
- data.tar.gz: a611efd324d67b824680ceb70aead2410574ca03e51256e19e9dc668d0b185cbf26603682333c473c66b8683639207c16f2752920c867a97629089fd63f09a3e
6
+ metadata.gz: b03379660dd50055861f91fa5d8577c8ca6260682381fe297d08ea74e05224af32cdc9bf35c16c6632a614a490abc2a6021e81da9c6c8c4a7b8cf4e13c029d7c
7
+ data.tar.gz: 5a8ec87de2d329ced60e14b34756ba2a7f0edae915dae5f712846ea93b09445b30e59252b9e4afcc0455eed2bb7760ad5f6e2a1aff7c5853a665bfb0503a31db
@@ -0,0 +1,28 @@
1
+ name: Ruby
2
+
3
+ on:
4
+ push:
5
+ branches: [ "master" ]
6
+ pull_request:
7
+ branches: [ "master" ]
8
+
9
+ permissions:
10
+ contents: read
11
+
12
+ jobs:
13
+ test:
14
+
15
+ runs-on: ubuntu-latest
16
+ strategy:
17
+ matrix:
18
+ ruby-version: ['2.5.8']
19
+
20
+ steps:
21
+ - uses: actions/checkout@v3
22
+ - name: Set up Ruby
23
+ uses: ruby/setup-ruby@2b019609e2b0f1ea1a2bc8ca11cb82ab46ada124
24
+ with:
25
+ ruby-version: ${{ matrix.ruby-version }}
26
+ bundler-cache: true
27
+ - name: Run tests
28
+ run: bundle exec rspec
data/.gitignore ADDED
@@ -0,0 +1 @@
1
+ *.gem
data/Gemfile.lock CHANGED
@@ -18,6 +18,7 @@ GEM
18
18
 
19
19
  PLATFORMS
20
20
  x86_64-darwin-21
21
+ x86_64-linux
21
22
 
22
23
  DEPENDENCIES
23
24
  rspec (~> 3.11)
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # autoload_checker
1
+ # autoload-checker
2
2
 
3
3
  Checks for conflicts in class/module definitions and corrects them. For instance, you have
4
4
  a file `foo/bar/baz.rb` with following content:
@@ -28,8 +28,8 @@ in `foo/bar/baz.rb`.
28
28
  # Usage
29
29
 
30
30
  ```
31
- Usage: ./autoload_checker.rb [options]
32
- -p, --path FILE [Mandatory] file or directory to check
31
+ Usage: ./bin/autoload_checker.rb [options]
32
+ -p, --path DIR,... [Mandatory] directories to check
33
33
  -c, --correct Enable errors correction
34
34
  -h, --help Prints this help
35
35
  ```
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ Gem::Specification.new do |spec|
4
+ spec.name = "autoload-checker"
5
+ spec.version = '0.1.1'
6
+ spec.authors = %w[cyberfined]
7
+ spec.email = %w[cyberfined@protonmail.com]
8
+
9
+ spec.summary = "Checks for conflicts in class/module definitions and corrects them."
10
+ spec.description = "Checks for conflicts in class/module definitions and corrects them."
11
+ spec.homepage = "https://github.com/cyberfined/autoload-checker"
12
+ spec.license = "WTFPL"
13
+
14
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
15
+ f.match %r{^(spec)/}
16
+ end
17
+
18
+ spec.bindir = "bin"
19
+ spec.executables = %w[autoload_checker.rb]
20
+
21
+ spec.required_ruby_version = ">= 2.5"
22
+
23
+ spec.add_development_dependency "bundler", "~> 2.0"
24
+ end
@@ -7,13 +7,13 @@ require 'optparse'
7
7
  require 'namespace'
8
8
  require 'autoload_checker'
9
9
 
10
- Options = Struct.new(:dir, :correct)
10
+ Options = Struct.new(:root_dirs, :correct)
11
11
 
12
12
  options = Options.new(nil, false)
13
13
  opt_parser = OptionParser.new do |opts|
14
14
  opts.banner = "Usage: #{$0} [options]"
15
- opts.on('-p FILE', '--path', String, '[Mandatory] file or directory to check') do |v|
16
- options.dir = v
15
+ opts.on('-p DIR,...', '--path', Array, '[Mandatory] directories to check') do |v|
16
+ options.root_dirs = v
17
17
  end
18
18
  opts.on('-c', '--correct', TrueClass, 'Enable errors correction') { |v| options.correct = v }
19
19
  opts.on('-h', '--help', 'Prints this help') do
@@ -23,11 +23,11 @@ opt_parser = OptionParser.new do |opts|
23
23
  end
24
24
  opt_parser.parse!
25
25
 
26
- unless options.dir
26
+ unless options.root_dirs
27
27
  puts opt_parser.help
28
28
  exit(1)
29
29
  end
30
30
 
31
- autoload_checker = AutoloadChecker.new(path: options.dir, correct: options.correct)
31
+ autoload_checker = AutoloadChecker.new(root_dirs: options.root_dirs, correct: options.correct)
32
32
  autoload_checker.call
33
33
  exit(1) if autoload_checker.fixes.any? && !options.correct
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class AutoloadChecker
4
- def initialize(path:, correct:, output: $stderr)
5
- @path = path
4
+ def initialize(root_dirs:, correct:, output: $stderr)
5
+ @root_dirs = root_dirs
6
6
  @correct = correct
7
7
  @output = output
8
8
  end
@@ -27,7 +27,7 @@ class AutoloadChecker
27
27
  private
28
28
 
29
29
  def validator
30
- @validator ||= Namespace::Validator.new(@path)
30
+ @validator ||= Namespace::Validator.new(@root_dirs)
31
31
  end
32
32
 
33
33
  def correct?
@@ -8,14 +8,14 @@ class Namespace
8
8
  class Validator
9
9
  attr_reader :fixes, :namespaces
10
10
 
11
- def initialize(root_dir)
12
- @root_dir = root_dir
11
+ def initialize(root_dirs)
12
+ @root_dirs = root_dirs
13
13
  @namespaces = {}
14
14
  @fixes = Hash.new { |hsh, k| hsh[k] = [] }
15
15
  end
16
16
 
17
17
  def call
18
- directories = [@root_dir]
18
+ directories = @root_dirs
19
19
  new_directories = []
20
20
 
21
21
  while directories.any?
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: autoload-checker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - cyberfined
@@ -32,10 +32,13 @@ executables:
32
32
  extensions: []
33
33
  extra_rdoc_files: []
34
34
  files:
35
+ - ".github/workflows/ruby.yml"
36
+ - ".gitignore"
35
37
  - Gemfile
36
38
  - Gemfile.lock
37
39
  - LICENSE
38
40
  - README.md
41
+ - autoload-checker.gemspec
39
42
  - bin/autoload_checker.rb
40
43
  - lib/autoload_checker.rb
41
44
  - lib/namespace.rb