require_relative_dir 0.9.9 → 1.0.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 +4 -4
- data/.github/workflows/require_relative_dir.yml +52 -0
- data/.gitignore +2 -0
- data/.rubocop.yml +44 -0
- data/Gemfile +9 -2
- data/README.md +32 -3
- data/Rakefile +5 -3
- data/bin/console +4 -3
- data/lib/require_relative_dir.rb +10 -2
- data/lib/require_relative_dir/version.rb +3 -1
- data/require_relative_dir.gemspec +15 -16
- metadata +11 -54
- data/.travis.yml +0 -10
- data/Gemfile.lock +0 -35
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dc2c0b7e0c3e204cce27a38f26147a277dc70a9f3dc5cccf61bd095db32a6600
|
4
|
+
data.tar.gz: f52022c23ec705627cf213d13d837c342dc6733e5122ddbaa089b28b263d0cd9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2cab7b31b54641a231ab3985883a8b095a2f125444c22ba193f3ebf79bba5e43980a5abe07c469f56aaf14fe0480a67264a27a6a232a5c528d5d020170961af3
|
7
|
+
data.tar.gz: 15af8406a2a364e64830f9e8e4f5ec73d17b38e50412fbbccfac6f5b5788c9c12bfc5a5196f268645033b159fec8e506e4351b2822263068d474091fa31cd3cf
|
@@ -0,0 +1,52 @@
|
|
1
|
+
name: CI
|
2
|
+
|
3
|
+
on: [pull_request]
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
tests:
|
7
|
+
name: >-
|
8
|
+
Specs | ${{ matrix.ruby }} (${{ matrix.usage }})
|
9
|
+
runs-on: ${{ matrix.os }}-latest
|
10
|
+
env:
|
11
|
+
# See https://github.com/tmm1/test-queue#environment-variables
|
12
|
+
TEST_QUEUE_WORKERS: 2
|
13
|
+
USAGE: ${{ matrix.usage }}
|
14
|
+
strategy:
|
15
|
+
fail-fast: false
|
16
|
+
matrix:
|
17
|
+
os: [ ubuntu ]
|
18
|
+
ruby: [ 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, head ]
|
19
|
+
usage: [ modern, legacy ]
|
20
|
+
steps:
|
21
|
+
- name: checkout
|
22
|
+
uses: actions/checkout@v2
|
23
|
+
- name: set up Ruby
|
24
|
+
uses: ruby/setup-ruby@v1
|
25
|
+
with:
|
26
|
+
ruby-version: ${{ matrix.ruby }}
|
27
|
+
- name: install dependencies
|
28
|
+
run: bundle install --jobs 3 --retry 3
|
29
|
+
- name: spec
|
30
|
+
run: bundle exec rake
|
31
|
+
internal_investigation:
|
32
|
+
name: >-
|
33
|
+
Coding Style
|
34
|
+
runs-on: ${{ matrix.os }}-latest
|
35
|
+
env:
|
36
|
+
TEST_QUEUE_WORKERS: 2
|
37
|
+
strategy:
|
38
|
+
fail-fast: false
|
39
|
+
matrix:
|
40
|
+
os: [ ubuntu ]
|
41
|
+
ruby: [ 2.7 ]
|
42
|
+
steps:
|
43
|
+
- name: checkout
|
44
|
+
uses: actions/checkout@v2
|
45
|
+
- name: set up Ruby
|
46
|
+
uses: ruby/setup-ruby@v1
|
47
|
+
with:
|
48
|
+
ruby-version: ${{ matrix.ruby }}
|
49
|
+
- name: install dependencies
|
50
|
+
run: bundle install --jobs 3 --retry 3
|
51
|
+
- name: internal investigation
|
52
|
+
run: bundle exec rubocop
|
data/.gitignore
CHANGED
data/.rubocop.yml
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
AllCops:
|
2
|
+
DisplayCopNames: true
|
3
|
+
TargetRubyVersion: 2.4
|
4
|
+
NewCops: enable
|
5
|
+
|
6
|
+
# For sure
|
7
|
+
|
8
|
+
Layout/LineLength:
|
9
|
+
Max: 150
|
10
|
+
|
11
|
+
Style/ModuleFunction:
|
12
|
+
EnforcedStyle: extend_self
|
13
|
+
|
14
|
+
Style/TrailingCommaInArrayLiteral:
|
15
|
+
EnforcedStyleForMultiline: consistent_comma
|
16
|
+
|
17
|
+
Layout/SpaceInsideHashLiteralBraces:
|
18
|
+
EnforcedStyle: no_space
|
19
|
+
|
20
|
+
Metrics/BlockLength:
|
21
|
+
Exclude:
|
22
|
+
- 'spec/**/*.rb'
|
23
|
+
|
24
|
+
Style/Documentation:
|
25
|
+
Enabled: false
|
26
|
+
|
27
|
+
Gemspec/RequiredRubyVersion:
|
28
|
+
Enabled: false
|
29
|
+
|
30
|
+
Layout/MultilineBlockLayout:
|
31
|
+
Enabled: false
|
32
|
+
Layout/BlockEndNewline:
|
33
|
+
Enabled: false
|
34
|
+
|
35
|
+
# Experiment
|
36
|
+
|
37
|
+
Style/AccessModifierDeclarations:
|
38
|
+
EnforcedStyle: inline
|
39
|
+
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
Layout/SpaceBeforeBlockBraces:
|
44
|
+
EnforcedStyleForEmptyBraces: no_space
|
data/Gemfile
CHANGED
@@ -1,6 +1,13 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
3
|
+
source 'https://rubygems.org'
|
4
|
+
|
5
|
+
git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
|
6
|
+
|
7
|
+
gem 'bundler'
|
8
|
+
gem 'rake'
|
9
|
+
gem 'rspec'
|
10
|
+
gem 'rubocop', require: false
|
4
11
|
|
5
12
|
# Specify your gem's dependencies in require_relative_dir.gemspec
|
6
13
|
gemspec
|
data/README.md
CHANGED
@@ -1,10 +1,38 @@
|
|
1
1
|
# RequireRelativeDir
|
2
2
|
|
3
|
-
Simple utility to `
|
3
|
+
Simple utility to `require_relative` all Ruby files in a given directory.
|
4
4
|
|
5
5
|
## Usage
|
6
6
|
|
7
|
+
```ruby
|
8
|
+
# lib/your_gem_or_app.rb
|
9
|
+
require 'require_relative_dir'
|
10
|
+
|
11
|
+
using RequireRelativeDir
|
12
|
+
|
13
|
+
require_relative_dir # or pass 'your_gem_or_app' to be more explicit
|
14
|
+
|
15
|
+
# lib/your_gem_or_app/whatever.rb
|
16
|
+
|
17
|
+
require 'some_gem'
|
18
|
+
require 'some_other_gem'
|
19
|
+
|
20
|
+
using RequireRelativeDir
|
21
|
+
|
22
|
+
require_relative_dir 'concerns' # requires all of 'your_gem_or_app/concerns/'
|
23
|
+
require_relative_dir 'utils', except: 'big_and_unused_for_now'
|
24
|
+
|
25
|
+
class Whatever
|
26
|
+
# ...
|
27
|
+
end
|
7
28
|
```
|
29
|
+
|
30
|
+
### Legacy usage
|
31
|
+
|
32
|
+
While the above usage with `using` is the recommended way, the method `require_relative_dir`
|
33
|
+
is also avaible with `extend RequireRelativeDir`. For example:
|
34
|
+
|
35
|
+
```ruby
|
8
36
|
# lib/your_gem_or_app.rb
|
9
37
|
require 'require_relative_dir'
|
10
38
|
|
@@ -43,8 +71,9 @@ gem 'require_relative_dir'
|
|
43
71
|
|
44
72
|
And then execute:
|
45
73
|
|
46
|
-
|
47
|
-
|
74
|
+
```sh
|
75
|
+
$ bundle
|
76
|
+
```
|
48
77
|
|
49
78
|
## Development
|
50
79
|
|
data/Rakefile
CHANGED
data/bin/console
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
2
3
|
|
3
|
-
require
|
4
|
-
require
|
4
|
+
require 'bundler/setup'
|
5
|
+
require 'require_relative_dir'
|
5
6
|
|
6
7
|
# You can add fixtures and/or initialization code here to make experimenting
|
7
8
|
# with your gem easier. You can also use a different console, if you like.
|
@@ -10,5 +11,5 @@ require "require_relative_dir"
|
|
10
11
|
# require "pry"
|
11
12
|
# Pry.start
|
12
13
|
|
13
|
-
require
|
14
|
+
require 'irb'
|
14
15
|
IRB.start(__FILE__)
|
data/lib/require_relative_dir.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'require_relative_dir/version'
|
2
4
|
|
3
5
|
module RequireRelativeDir
|
4
6
|
SAME_AS_CALLER_NAME = Object.new
|
@@ -9,14 +11,20 @@ module RequireRelativeDir
|
|
9
11
|
base_path = File.dirname(caller_path)
|
10
12
|
path = File.expand_path("#{base_path}/#{dir_name}")
|
11
13
|
raise LoadError, "Directory '#{path}' not found" unless Dir.exist?(path)
|
14
|
+
|
12
15
|
paths = Dir["#{path}/*.rb"].sort
|
13
16
|
paths = RequireRelativeDir.remove_exceptions(paths, except) if except
|
14
17
|
paths.each { |file| require file }
|
15
18
|
end
|
16
19
|
|
20
|
+
refine Object do
|
21
|
+
include RequireRelativeDir
|
22
|
+
private :require_relative_dir
|
23
|
+
end
|
24
|
+
|
17
25
|
extend self
|
18
26
|
|
19
|
-
private
|
27
|
+
# @api private
|
20
28
|
def self.remove_exceptions(paths, except)
|
21
29
|
except = Array(except).map(&:to_s)
|
22
30
|
except.map! { |exception| File.extname(exception) == '.rb' ? exception[0...-3] : exception }
|
@@ -1,28 +1,27 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
lib = File.expand_path('lib', __dir__)
|
2
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
-
require
|
5
|
+
require 'require_relative_dir/version'
|
4
6
|
|
5
7
|
Gem::Specification.new do |spec|
|
6
|
-
spec.name =
|
8
|
+
spec.name = 'require_relative_dir'
|
7
9
|
spec.version = RequireRelativeDir::VERSION
|
8
|
-
spec.authors = [
|
9
|
-
spec.email = [
|
10
|
+
spec.authors = ['Marc-Andre Lafortune']
|
11
|
+
spec.email = ['github@marc-andre.ca']
|
10
12
|
|
11
|
-
spec.summary =
|
12
|
-
spec.description =
|
13
|
-
spec.homepage =
|
14
|
-
spec.license =
|
13
|
+
spec.summary = 'Basic utility to require a directory.'
|
14
|
+
spec.description = 'Basic utility to require a directory.'
|
15
|
+
spec.homepage = 'https://github.com/marcandre/require_relative_dir'
|
16
|
+
spec.license = 'MIT'
|
15
17
|
|
16
18
|
# Specify which files should be added to the gem when it is released.
|
17
19
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
18
|
-
spec.files = Dir.chdir(File.expand_path(
|
20
|
+
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
19
21
|
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
20
22
|
end
|
21
|
-
spec.bindir =
|
23
|
+
spec.bindir = 'exe'
|
22
24
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
23
|
-
spec.require_paths = [
|
24
|
-
|
25
|
-
spec.add_development_dependency "bundler", "~> 1.16"
|
26
|
-
spec.add_development_dependency "rake", "~> 10.0"
|
27
|
-
spec.add_development_dependency "rspec", "~> 3.0"
|
25
|
+
spec.require_paths = ['lib']
|
26
|
+
spec.required_ruby_version = '> 2.1.0'
|
28
27
|
end
|
metadata
CHANGED
@@ -1,57 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: require_relative_dir
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marc-Andre Lafortune
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
12
|
-
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: bundler
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '1.16'
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '1.16'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: rake
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '10.0'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '10.0'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: rspec
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - "~>"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '3.0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '3.0'
|
11
|
+
date: 2020-11-09 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
55
13
|
description: Basic utility to require a directory.
|
56
14
|
email:
|
57
15
|
- github@marc-andre.ca
|
@@ -59,11 +17,11 @@ executables: []
|
|
59
17
|
extensions: []
|
60
18
|
extra_rdoc_files: []
|
61
19
|
files:
|
20
|
+
- ".github/workflows/require_relative_dir.yml"
|
62
21
|
- ".gitignore"
|
63
22
|
- ".rspec"
|
64
|
-
- ".
|
23
|
+
- ".rubocop.yml"
|
65
24
|
- Gemfile
|
66
|
-
- Gemfile.lock
|
67
25
|
- LICENSE.txt
|
68
26
|
- README.md
|
69
27
|
- Rakefile
|
@@ -76,24 +34,23 @@ homepage: https://github.com/marcandre/require_relative_dir
|
|
76
34
|
licenses:
|
77
35
|
- MIT
|
78
36
|
metadata: {}
|
79
|
-
post_install_message:
|
37
|
+
post_install_message:
|
80
38
|
rdoc_options: []
|
81
39
|
require_paths:
|
82
40
|
- lib
|
83
41
|
required_ruby_version: !ruby/object:Gem::Requirement
|
84
42
|
requirements:
|
85
|
-
- - "
|
43
|
+
- - ">"
|
86
44
|
- !ruby/object:Gem::Version
|
87
|
-
version:
|
45
|
+
version: 2.1.0
|
88
46
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
89
47
|
requirements:
|
90
48
|
- - ">="
|
91
49
|
- !ruby/object:Gem::Version
|
92
50
|
version: '0'
|
93
51
|
requirements: []
|
94
|
-
|
95
|
-
|
96
|
-
signing_key:
|
52
|
+
rubygems_version: 3.1.4
|
53
|
+
signing_key:
|
97
54
|
specification_version: 4
|
98
55
|
summary: Basic utility to require a directory.
|
99
56
|
test_files: []
|
data/.travis.yml
DELETED
data/Gemfile.lock
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
require_relative_dir (0.9.9)
|
5
|
-
|
6
|
-
GEM
|
7
|
-
remote: https://rubygems.org/
|
8
|
-
specs:
|
9
|
-
diff-lcs (1.3)
|
10
|
-
rake (10.5.0)
|
11
|
-
rspec (3.8.0)
|
12
|
-
rspec-core (~> 3.8.0)
|
13
|
-
rspec-expectations (~> 3.8.0)
|
14
|
-
rspec-mocks (~> 3.8.0)
|
15
|
-
rspec-core (3.8.0)
|
16
|
-
rspec-support (~> 3.8.0)
|
17
|
-
rspec-expectations (3.8.1)
|
18
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
19
|
-
rspec-support (~> 3.8.0)
|
20
|
-
rspec-mocks (3.8.0)
|
21
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
22
|
-
rspec-support (~> 3.8.0)
|
23
|
-
rspec-support (3.8.0)
|
24
|
-
|
25
|
-
PLATFORMS
|
26
|
-
ruby
|
27
|
-
|
28
|
-
DEPENDENCIES
|
29
|
-
bundler (~> 1.16)
|
30
|
-
rake (~> 10.0)
|
31
|
-
require_relative_dir!
|
32
|
-
rspec (~> 3.0)
|
33
|
-
|
34
|
-
BUNDLED WITH
|
35
|
-
1.16.4
|