requires 0.1.1 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +18 -21
  3. data/lib/requires.rb +14 -14
  4. metadata +8 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0dcd409a64090cdeca64d137ee530ea889ab4e33021692e4007534053f1df885
4
- data.tar.gz: 531d02116c822e0ce797ef78d6b1dd850325effff515640aca6ea8043c2b87e9
3
+ metadata.gz: 4cb5240d4eb6c1a4650aed842aaef7229cf6e1a2ffe4480563aac7a3c29e2011
4
+ data.tar.gz: 9f9c1818cf1a9edf762e9e912f465fd5c6c1424957ddadb3539f24bc30307ec7
5
5
  SHA512:
6
- metadata.gz: e41d42d2074c6e698c02677da5532be33380c49e2c859a8f233eb7617aaab50bddb3540e60737c87354f469b577f0962f70a77447b307ee6feb0c6fb87ebf389
7
- data.tar.gz: 5edcd8ac9091f3e2a56c77322f1b9682dd8a532ec83ae2a23d9047aef0b3edd4aa955edafaa63ac4553808fc2b146d5b765ce1b163216b9b58ef72ddf948faf9
6
+ metadata.gz: fc5ac89b618747966124f1c04ed79eeb3f4fa8a5563b31a72dd184e413c81ff17dab041c297ae66df7a77a2954872bf51a05d2fdb8f6a807aebf657cf3affbe6
7
+ data.tar.gz: 5d8249cdb56962d0c7fd53d97cd66792e9d1c923cb0b7b0c2732d109b3c46e292bb2e1a3defb412e0c198f0eafbf6b9f116b30f051351e61e4b0e5b13defe53d
data/README.md CHANGED
@@ -1,32 +1,29 @@
1
- Requires
2
- ==================================================
1
+ # Requires
3
2
 
4
3
  [![Gem Version](https://badge.fury.io/rb/requires.svg)](https://badge.fury.io/rb/requires)
5
- [![Build Status](https://travis-ci.com/DannyBen/requires.svg?branch=master)](https://travis-ci.com/DannyBen/requires)
4
+ [![Build Status](https://github.com/DannyBen/requires/workflows/Test/badge.svg)](https://github.com/DannyBen/requires/actions?query=workflow%3ATest)
6
5
 
7
- **Requires** is ruby's missing `require` function.
6
+ A tiny convenience function to require all ruby files in a directory.
8
7
 
9
- It lets you...
8
+ ## Install
10
9
 
11
- ```ruby
12
- # ...require multiple files
13
- requires 'any_file', 'with/or/without/extension.rb'
14
-
15
- # ...require directories
16
- requires 'first/directory', 'second-dierectory'
17
-
18
- # ...require any other library
19
- requires 'yaml', 'lib/important', 'lib'
10
+ ```bash
11
+ $ gem install requires
20
12
  ```
21
13
 
22
- Everything is relative to where `requires` is called from.
23
-
24
- ---
14
+ ## Usage
25
15
 
16
+ ```ruby
17
+ # Require a directory (recursively)
18
+ require 'requires'
19
+ requires 'lib'
26
20
 
27
- Installation
28
- --------------------------------------------------
29
-
30
- $ gem install requires
21
+ # Individual files can also be loaded (with or without extension)
22
+ requires 'lib/base'
23
+ requires 'lib/base.rb'
31
24
 
25
+ # ...as well as external gems or built in libraries
26
+ requires 'yaml'
27
+ ```
32
28
 
29
+ All paths are relative to the location of the file that calls `reuiqres`.
data/lib/requires.rb CHANGED
@@ -1,18 +1,18 @@
1
- def requires(*items)
2
- items = ['.'] if items.empty?
1
+ def requires(item)
2
+ base_path = caller_locations(1..1).first.path
3
+ base_dir = File.dirname base_path
4
+ path = File.expand_path item, base_dir
3
5
 
4
- calling_script = caller.first.sub(/:\d+.*/, '')
5
- base_dir = File.dirname calling_script
6
-
7
- Dir.chdir base_dir do
8
- items.each do |item|
9
- if File.directory? item
10
- Dir["#{item}/**/*.rb"].sort.each { |file| require "./#{file}" }
11
- elsif File.file? "#{item}.rb" or File.file? item
12
- require "./#{item}"
13
- else
14
- require item
15
- end
6
+ if File.directory? path
7
+ Dir["#{path}/**/*.rb"].sort.each do |file|
8
+ require file
16
9
  end
10
+
11
+ elsif File.file?("#{path}.rb") || File.file?(path.to_s)
12
+ require path
13
+
14
+ else
15
+ require item
16
+
17
17
  end
18
18
  end
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: requires
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Danny Ben Shitrit
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-23 00:00:00.000000000 Z
11
+ date: 2022-12-29 00:00:00.000000000 Z
12
12
  dependencies: []
13
- description: A simple gem to require them all!
13
+ description: Adds functions that allow requiring a direcotry
14
14
  email: db@dannyben.com
15
15
  executables: []
16
16
  extensions: []
@@ -21,7 +21,8 @@ files:
21
21
  homepage: https://github.com/dannyben/requires
22
22
  licenses:
23
23
  - MIT
24
- metadata: {}
24
+ metadata:
25
+ rubygems_mfa_required: 'true'
25
26
  post_install_message:
26
27
  rdoc_options: []
27
28
  require_paths:
@@ -30,15 +31,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
30
31
  requirements:
31
32
  - - ">="
32
33
  - !ruby/object:Gem::Version
33
- version: 2.3.0
34
+ version: 2.6.0
34
35
  required_rubygems_version: !ruby/object:Gem::Requirement
35
36
  requirements:
36
37
  - - ">="
37
38
  - !ruby/object:Gem::Version
38
39
  version: '0'
39
40
  requirements: []
40
- rubygems_version: 3.0.3
41
+ rubygems_version: 3.4.0
41
42
  signing_key:
42
43
  specification_version: 4
43
- summary: Ruby's missing require function
44
+ summary: Require all files in a directory
44
45
  test_files: []