require_smasher 0.3.2 → 0.4.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/lib/require_smasher/classifier.rb +1 -0
- data/lib/require_smasher/errors/base_error.rb +7 -0
- data/lib/require_smasher/errors/not_exist_error/dir_not_exist_error.rb +7 -0
- data/lib/require_smasher/errors/not_exist_error.rb +7 -0
- data/lib/require_smasher/errors/not_informed_error/dir_not_informed_error.rb +7 -0
- data/lib/require_smasher/errors/not_informed_error/file_not_informed_error.rb +7 -0
- data/lib/require_smasher/errors/not_informed_error/gem_not_informed_error.rb +7 -0
- data/lib/require_smasher/errors/not_informed_error.rb +7 -0
- data/lib/require_smasher/errors/require_file_error.rb +7 -0
- data/lib/require_smasher/file_smasher.rb +4 -2
- data/lib/require_smasher/require_file.rb +6 -3
- data/lib/require_smasher/version.rb +1 -1
- data/lib/require_smasher.rb +10 -1
- data/require_smasher.gemspec +1 -1
- metadata +13 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f53e09684876d1aa74bf4c5593ab9590666e00a8
|
|
4
|
+
data.tar.gz: f4e59006752c9db634fbc7a54cd7ee370abd0dc7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3fbe03b1c01aaf8929a169c83b4feae3e2566c1a7cda81a68491716cfdacac7dd5e990d2a6f7017b7c4d14877d4be2e4fa12ace210c573b89c9cc65c4914c6ac
|
|
7
|
+
data.tar.gz: e07e8e5cec827a13cc6c3758bd5e2a102b29ad4608d08fddea69de8d51a010c87524dfe537b89ee9b800bca19f57e2c1c7cfe4f0235363a4c7c546730c05199d
|
|
@@ -3,12 +3,13 @@
|
|
|
3
3
|
module FileSmasher
|
|
4
4
|
class << self
|
|
5
5
|
def files_by(directory)
|
|
6
|
-
raise
|
|
6
|
+
raise DirNotExistError, "Directory '#{directory}' does not exist" unless Dir.exist?(directory)
|
|
7
|
+
|
|
7
8
|
Dir.glob("./#{directory}/**/*.rb")
|
|
8
9
|
end
|
|
9
10
|
|
|
10
11
|
def files(directories)
|
|
11
|
-
raise
|
|
12
|
+
raise DirNotInformedError if directories.empty?
|
|
12
13
|
|
|
13
14
|
files = []
|
|
14
15
|
directories.uniq.each do |directory|
|
|
@@ -22,6 +23,7 @@ module FileSmasher
|
|
|
22
23
|
file = File.expand_path("./#{element}")
|
|
23
24
|
return true if File.file?(file)
|
|
24
25
|
return false if element.include?('.')
|
|
26
|
+
|
|
25
27
|
File.file?("#{file}.rb")
|
|
26
28
|
end
|
|
27
29
|
end
|
|
@@ -3,18 +3,21 @@
|
|
|
3
3
|
module RequireFile
|
|
4
4
|
class << self
|
|
5
5
|
def require(files)
|
|
6
|
-
raise
|
|
6
|
+
raise FileNotInformedError if files.empty?
|
|
7
|
+
|
|
7
8
|
errors_list = require_files(files)
|
|
8
9
|
files_with_error = errors_list[:files_with_error]
|
|
9
10
|
|
|
10
11
|
return if files_with_error.empty?
|
|
11
12
|
|
|
12
|
-
raise
|
|
13
|
+
raise RequireFileError, errors_list[:errors] if files == files_with_error
|
|
14
|
+
|
|
13
15
|
require(files_with_error)
|
|
14
16
|
end
|
|
15
17
|
|
|
16
18
|
def require_directories(directories)
|
|
17
|
-
raise
|
|
19
|
+
raise DirNotInformedError if directories.empty?
|
|
20
|
+
|
|
18
21
|
require(FileSmasher.files(directories))
|
|
19
22
|
end
|
|
20
23
|
|
data/lib/require_smasher.rb
CHANGED
|
@@ -2,6 +2,14 @@ require 'require_smasher/version'
|
|
|
2
2
|
require 'require_smasher/file_smasher'
|
|
3
3
|
require 'require_smasher/classifier'
|
|
4
4
|
require 'require_smasher/require_file'
|
|
5
|
+
require 'require_smasher/errors/base_error'
|
|
6
|
+
require 'require_smasher/errors/not_informed_error'
|
|
7
|
+
require 'require_smasher/errors/not_informed_error/dir_not_informed_error'
|
|
8
|
+
require 'require_smasher/errors/not_informed_error/file_not_informed_error'
|
|
9
|
+
require 'require_smasher/errors/not_informed_error/gem_not_informed_error'
|
|
10
|
+
require 'require_smasher/errors/not_exist_error'
|
|
11
|
+
require 'require_smasher/errors/not_exist_error/dir_not_exist_error'
|
|
12
|
+
require 'require_smasher/errors/require_file_error'
|
|
5
13
|
|
|
6
14
|
def require_all(*required_list)
|
|
7
15
|
classified = Classifier.classify(required_list)
|
|
@@ -31,7 +39,8 @@ def require_dirs(*directories)
|
|
|
31
39
|
end
|
|
32
40
|
|
|
33
41
|
def require_gems(*gems)
|
|
34
|
-
raise
|
|
42
|
+
raise GemNotInformedError if gems.empty?
|
|
43
|
+
|
|
35
44
|
gems.uniq.each { |gem| require gem }
|
|
36
45
|
end
|
|
37
46
|
|
data/require_smasher.gemspec
CHANGED
|
@@ -34,7 +34,7 @@ Gem::Specification.new do |spec|
|
|
|
34
34
|
spec.add_development_dependency "rake", "~> 10.0"
|
|
35
35
|
spec.add_development_dependency "rspec", "~> 3.0"
|
|
36
36
|
spec.add_development_dependency "simplecov", "~> 0.16"
|
|
37
|
-
spec.add_development_dependency "rubocop", "~> 0.
|
|
37
|
+
spec.add_development_dependency "rubocop", "~> 0.59"
|
|
38
38
|
spec.add_development_dependency "byebug", "~> 10.0"
|
|
39
39
|
spec.add_development_dependency "rubycritic", "~> 3.4"
|
|
40
40
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: require_smasher
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Joacir Junior
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2018-09-
|
|
11
|
+
date: 2018-09-22 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -72,14 +72,14 @@ dependencies:
|
|
|
72
72
|
requirements:
|
|
73
73
|
- - "~>"
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: '0.
|
|
75
|
+
version: '0.59'
|
|
76
76
|
type: :development
|
|
77
77
|
prerelease: false
|
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
79
|
requirements:
|
|
80
80
|
- - "~>"
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: '0.
|
|
82
|
+
version: '0.59'
|
|
83
83
|
- !ruby/object:Gem::Dependency
|
|
84
84
|
name: byebug
|
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -130,6 +130,14 @@ files:
|
|
|
130
130
|
- bin/setup
|
|
131
131
|
- lib/require_smasher.rb
|
|
132
132
|
- lib/require_smasher/classifier.rb
|
|
133
|
+
- lib/require_smasher/errors/base_error.rb
|
|
134
|
+
- lib/require_smasher/errors/not_exist_error.rb
|
|
135
|
+
- lib/require_smasher/errors/not_exist_error/dir_not_exist_error.rb
|
|
136
|
+
- lib/require_smasher/errors/not_informed_error.rb
|
|
137
|
+
- lib/require_smasher/errors/not_informed_error/dir_not_informed_error.rb
|
|
138
|
+
- lib/require_smasher/errors/not_informed_error/file_not_informed_error.rb
|
|
139
|
+
- lib/require_smasher/errors/not_informed_error/gem_not_informed_error.rb
|
|
140
|
+
- lib/require_smasher/errors/require_file_error.rb
|
|
133
141
|
- lib/require_smasher/file_smasher.rb
|
|
134
142
|
- lib/require_smasher/require_file.rb
|
|
135
143
|
- lib/require_smasher/version.rb
|
|
@@ -156,7 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
156
164
|
version: '0'
|
|
157
165
|
requirements: []
|
|
158
166
|
rubyforge_project:
|
|
159
|
-
rubygems_version: 2.6.
|
|
167
|
+
rubygems_version: 2.6.13
|
|
160
168
|
signing_key:
|
|
161
169
|
specification_version: 4
|
|
162
170
|
summary: A simple way to require ruby files in directories and in its sub-directories,
|