require_smasher 0.1.1 → 0.2.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/.travis.yml +5 -1
- data/lib/require_smasher/require_dir.rb +12 -8
- data/lib/require_smasher/require_gem.rb +8 -9
- data/lib/require_smasher/version.rb +1 -1
- data/lib/require_smasher.rb +16 -23
- data/todos.txt +0 -2
- metadata +2 -3
- data/lib/require_smasher/require_elements.rb +0 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fdab9f284685ed8ebc165e123a2f717477424723
|
4
|
+
data.tar.gz: f63e2686e9f04df2afa5e4913ea1d44a9203d75b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1a43c9ba0b76b79cfb322def2a2dc4e614bcc0aef17c9890de336b866c4a724da38e1c0ecd3ab815de8599010fc12874c043d15b612819744fc9addac7212144
|
7
|
+
data.tar.gz: 7054ccad4818d075bd32395079019b0ff24bd9aab1d3f94b3a6b460c04628202bdaaaa33d0372aaf4aee9b4b4ca3afad4bd460795a99e7e35c33a41f8fab3da0
|
data/.travis.yml
CHANGED
@@ -1,24 +1,28 @@
|
|
1
1
|
module RequireDir
|
2
|
-
def self.req(
|
3
|
-
|
2
|
+
def self.req(directories)
|
3
|
+
raise StandardError, 'Directory was not informed' if directories.empty?
|
4
|
+
require_files(files(directories))
|
4
5
|
end
|
5
6
|
|
6
|
-
def self.files(
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
def self.files(directories)
|
8
|
+
files = []
|
9
|
+
directories.uniq.each do |directory|
|
10
|
+
raise StandardError, "Directory '#{directory}' does not exist" unless Dir.exist?(directory)
|
11
|
+
files.concat(Dir.glob(File.join(File.expand_path("./#{directory}"), '**', '*.rb')))
|
12
|
+
end
|
13
|
+
files
|
10
14
|
end
|
11
15
|
|
12
16
|
def self.require_files(files, attempt = 0)
|
13
17
|
files_with_error = []
|
14
18
|
errors = []
|
15
19
|
|
16
|
-
files.each do |file|
|
20
|
+
files.uniq.each do |file|
|
17
21
|
begin
|
18
22
|
require_relative file
|
19
23
|
rescue StandardError => error
|
20
24
|
files_with_error << file
|
21
|
-
errors <<
|
25
|
+
errors << "Error while requiring file #{file}: #{error.message}"
|
22
26
|
end
|
23
27
|
end
|
24
28
|
|
@@ -1,13 +1,12 @@
|
|
1
1
|
module RequireGem
|
2
|
-
def self.req(
|
3
|
-
raise StandardError, 'Gem was not informed'
|
2
|
+
def self.req(gems)
|
3
|
+
raise StandardError, 'Gem was not informed' if gems.empty?
|
4
|
+
gems.uniq.each { |gem| req_gem(gem) }
|
5
|
+
end
|
4
6
|
|
5
|
-
|
6
|
-
|
7
|
-
rescue LoadError => error
|
8
|
-
raise error, "Error requering gem '#{gem}': #{error.message}"
|
9
|
-
rescue StandardError => error
|
10
|
-
raise StandardError, "Error requering gem '#{gem}': #{error.message}"
|
11
|
-
end
|
7
|
+
def self.req_gem(gem)
|
8
|
+
require gem
|
12
9
|
end
|
10
|
+
|
11
|
+
private_class_method :req_gem
|
13
12
|
end
|
data/lib/require_smasher.rb
CHANGED
@@ -1,42 +1,35 @@
|
|
1
1
|
require 'require_smasher/version'
|
2
2
|
require 'require_smasher/require_gem'
|
3
3
|
require 'require_smasher/require_dir'
|
4
|
-
require 'require_smasher/require_elements'
|
5
4
|
|
6
5
|
def require_all(*required_list)
|
7
|
-
|
8
|
-
|
6
|
+
directories = []
|
7
|
+
gems = []
|
9
8
|
|
10
|
-
required_list.each do |required|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
begin
|
15
|
-
require_dirs(required)
|
16
|
-
rescue StandardError => dir_error
|
17
|
-
errors << gem_error.message
|
18
|
-
errors << dir_error.message
|
19
|
-
end
|
20
|
-
end
|
9
|
+
required_list.uniq.each do |required|
|
10
|
+
directory = Dir.exist?(required)
|
11
|
+
directories << required if directory
|
12
|
+
gems << required unless directory
|
21
13
|
end
|
22
14
|
|
23
|
-
|
15
|
+
require_gem(gems) unless gems.empty?
|
16
|
+
require_dir(directories) unless directories.empty?
|
24
17
|
end
|
25
18
|
|
26
|
-
def require_gem(
|
27
|
-
|
19
|
+
def require_gem(gems)
|
20
|
+
return RequireGem.req([gems]) if gems.instance_of?(String)
|
21
|
+
RequireGem.req(gems)
|
28
22
|
end
|
29
23
|
|
30
|
-
def require_dir(
|
31
|
-
|
24
|
+
def require_dir(directories)
|
25
|
+
return RequireDir.req([directories]) if directories.instance_of?(String)
|
26
|
+
RequireDir.req(directories)
|
32
27
|
end
|
33
28
|
|
34
29
|
def require_dirs(*directories)
|
35
|
-
|
36
|
-
RequireElements.require_elements(directories, RequireDir)
|
30
|
+
require_dir(directories)
|
37
31
|
end
|
38
32
|
|
39
33
|
def require_gems(*gems)
|
40
|
-
|
41
|
-
RequireElements.require_elements(gems, RequireGem)
|
34
|
+
require_gem(gems)
|
42
35
|
end
|
data/todos.txt
CHANGED
@@ -1,6 +1,4 @@
|
|
1
1
|
tratar errors especificos com classe de erros a criar
|
2
2
|
fazer readme em portugues
|
3
3
|
resolver ofensores restantes do rubocop
|
4
|
-
publicar gem
|
5
4
|
atualizar readme para informar sobre gemas e arquitetura utilizada para desenvolvimento
|
6
|
-
resolver interdependencia de arquivos dentro da lista de diretórios
|
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.2.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-08-
|
11
|
+
date: 2018-08-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -116,7 +116,6 @@ files:
|
|
116
116
|
- bin/setup
|
117
117
|
- lib/require_smasher.rb
|
118
118
|
- lib/require_smasher/require_dir.rb
|
119
|
-
- lib/require_smasher/require_elements.rb
|
120
119
|
- lib/require_smasher/require_gem.rb
|
121
120
|
- lib/require_smasher/version.rb
|
122
121
|
- require_smasher.gemspec
|
@@ -1,21 +0,0 @@
|
|
1
|
-
module RequireElements
|
2
|
-
def self.require_elements(elements, require_module)
|
3
|
-
elements.uniq!
|
4
|
-
errors = []
|
5
|
-
|
6
|
-
elements.each do |element|
|
7
|
-
begin
|
8
|
-
require_module.req(element)
|
9
|
-
rescue LoadError => error
|
10
|
-
errors << error.message
|
11
|
-
rescue StandardError => error
|
12
|
-
errors << error.message
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
return if errors.empty?
|
17
|
-
|
18
|
-
raise StandardError, errors if errors.count > 1
|
19
|
-
raise StandardError, errors.first unless errors.empty?
|
20
|
-
end
|
21
|
-
end
|