require_smasher 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|