require_smasher 0.4.0 → 0.4.1
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/README.md +2 -0
- data/README.pt-BR.md +102 -0
- data/lib/require_smasher/version.rb +1 -1
- data/lib/require_smasher.rb +1 -2
- data/todos.txt +0 -2
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1bdabdf18d5f1fc092d39b3f11338a9c2eabfe94
|
4
|
+
data.tar.gz: 031b277e8b2bad03fb7bff60c39f1cb64f4a5ee5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d7a1f2c21c4724a026bc6914f0f33e7f7cfc2ee1163d82d06e761eb48b94eeb6d962439e607f0c0b53fc536a10de110b116342b4c1a20b01a6c80dfb20f99931
|
7
|
+
data.tar.gz: 1f0a87d959d93bb05f872b7c295d100241d48a042da53c981624b625b12558448054c1fe4d508f88ce55e07695901fc621f938f3c6bf5a7d3c92958c44b22d13
|
data/README.md
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
# RequireSmasher
|
2
2
|
[](https://travis-ci.com/jrjoacir/require-smasher)
|
3
3
|
|
4
|
+
Leia esta documentação em [Português do Brasil](README.pt-BR.md).
|
5
|
+
|
4
6
|
This project was born just to solve a problem: require ruby files **recursively** in a directory. However it grew up and learned to solve other simple problems:
|
5
7
|
|
6
8
|
- require ruby files recursively in a directory and its sub-directories, trying to resolve interdependent files (`require_dir`)
|
data/README.pt-BR.md
ADDED
@@ -0,0 +1,102 @@
|
|
1
|
+
# RequireSmasher
|
2
|
+
[](https://travis-ci.com/jrjoacir/require-smasher)
|
3
|
+
|
4
|
+
Read this documentation in [English](README.md).
|
5
|
+
|
6
|
+
Este projeto nasceu apenas para resolver um problema: fazer `require` de arquivos em um diretório recursivamente. Porém ele cresceu e aprendeu a resolver outros problemas simples:
|
7
|
+
|
8
|
+
- fazer `require` em arquivos `ruby` recursivamente em um diretório e seus subdiretórios, tentando resolver interdependências entre os arquivos (`require_dir`)
|
9
|
+
- fazer `require` em arquivos `ruby` recursivamente em uma lista de diretórios e seus subdiretórios, tentando resolver interdependências entre os arquivos (`require_dirs`)
|
10
|
+
- fazer `require` de uma `gem` (`require_gem`)
|
11
|
+
- fazer `require` de uma lista de `gems` (`require_gems`)
|
12
|
+
- fazer `require` de um arquivo `ruby` (`require_file`)
|
13
|
+
- fazer `require` de uma lista de arquivos `ruby` (`require_files`)
|
14
|
+
- fazer `require` de uma **lista de `gems`**, arquivos `ruby` em uma **lista de diretórios** e seus subdiretórios e uma **lista de arquivos** com apenas **um comando** (`require_all`)
|
15
|
+
|
16
|
+
## Instalação
|
17
|
+
|
18
|
+
Adicione esta linha no arquivo `Gemfile` de sua aplicação:
|
19
|
+
|
20
|
+
```ruby
|
21
|
+
gem 'require_smasher'
|
22
|
+
```
|
23
|
+
|
24
|
+
E então execute:
|
25
|
+
|
26
|
+
$ bundle
|
27
|
+
|
28
|
+
Ou instale-o isoladamente:
|
29
|
+
|
30
|
+
$ gem install require_smasher
|
31
|
+
|
32
|
+
## Uso
|
33
|
+
|
34
|
+
### Require All
|
35
|
+
|
36
|
+
```ruby
|
37
|
+
require_all 'directory_1', 'directory_2/sub-directory', 'gem_1', 'gem_2', 'directory_3/filename_1', 'filename_2'
|
38
|
+
```
|
39
|
+
|
40
|
+
Este comando fará o `require` de todos os arquivos `ruby` encontrados no diretório `directory_1` e nos seus subdiretórios, todos os arquivos `ruby` no diretório `directory_2/sub-directory` e nos seus subdiretórios, da `gem` `gem_1` e da `gem` `gem_2`, e dos arquivos `directory_3/filename_1.rb` e `filename_2.rb`.
|
41
|
+
|
42
|
+
**Observação:** a ordem dos elementos não importa, pois o `Require Smasher` tentará resolver qualquer dependência entre eles.
|
43
|
+
|
44
|
+
### Require Dir
|
45
|
+
|
46
|
+
```ruby
|
47
|
+
require_dir 'directory_1'
|
48
|
+
```
|
49
|
+
Este comando fará o `require` de todos os arquivos `ruby` encontrados no diretório `directory_1` e em seus subdiretórios.
|
50
|
+
|
51
|
+
### Require Dirs
|
52
|
+
|
53
|
+
```ruby
|
54
|
+
require_dirs 'directory_1', 'directory_2/sub-directory'
|
55
|
+
```
|
56
|
+
Este comando aceita uma lista de diretórios e fará o `require` de todos os arquivos `ruby` encontrados no diretório `directory_1` e em seus subdiretórios, todos os arquivos `ruby` no diretório `directory_2/sub-directory` e em seus subdiretórios.
|
57
|
+
|
58
|
+
### Require Gem
|
59
|
+
|
60
|
+
```ruby
|
61
|
+
require_gem 'gem'
|
62
|
+
```
|
63
|
+
Este comando fará o `require` da `gem` informada.
|
64
|
+
|
65
|
+
### Require Gems
|
66
|
+
|
67
|
+
```ruby
|
68
|
+
require_gems 'gem_1', 'gem_2'
|
69
|
+
```
|
70
|
+
Este comando aceita uma lista de `gems` e fará o `require` das `gems` `gem_1` e `gem_2`.
|
71
|
+
|
72
|
+
### Require File
|
73
|
+
|
74
|
+
```ruby
|
75
|
+
require_file 'filename'
|
76
|
+
```
|
77
|
+
Este comando fará o `require` do arquivo `filename.rb`. Você não precisa informar a extensão `ruby` do arquivo (**rb**), se você não quiser.
|
78
|
+
|
79
|
+
### Require Files
|
80
|
+
|
81
|
+
```ruby
|
82
|
+
require_files 'filename_1', 'directory/filename_2', 'directory/filename_3.rb'
|
83
|
+
```
|
84
|
+
Este comando aceita uma lista de arquivos e fará o `require` dos arquivos `filename_1.rb`, `directory/filename_2.rb` e `directory/filename_3.rb`. Você não precisa informar a extensão `ruby` do arquivo (**rb**), se você não quiser.
|
85
|
+
|
86
|
+
## Desenvolvimento
|
87
|
+
|
88
|
+
Depois de dar `checkout` neste repositório, execute `bin/setup` para instalar as dependências. Então, execute `rake spec` para executar os testes. Você pode também executar `bin/console` para abrir um `prompt` interativo que permitirá você experimentar esta biblioteca (`gem`).
|
89
|
+
|
90
|
+
Para instalar esta `gem` dentro de uma máquina local, execute `bundle exec rake install`. Para lançar uma nova versão, atualize o número da versão no arquivo `version.rb`, e então execute `bundle exec rake release`, ele criará uma `tag` do `git` para a versão, dará `push` dos `commits` do `git`, e do arquivo `.gem` para [rubygems.org](https://rubygems.org).
|
91
|
+
|
92
|
+
## Contribuindo
|
93
|
+
|
94
|
+
Reportar erros e `pull requests` são bem-vindo no GitHub em https://github.com/jrjoacir/require-smasher. Este projeto tem a intenção de ser seguro, espaço bem-vindo para colaboração, e é esperado que os contribuidores adiram ao código de conduta do [Contributor Covenant](http://contributor-covenant.org).
|
95
|
+
|
96
|
+
## Licença
|
97
|
+
|
98
|
+
Esta `gem` está disponível como código aberto e está registrada sobres os termos de licença da [MIT License](http://opensource.org/licenses/MIT).
|
99
|
+
|
100
|
+
## Código de Conduta
|
101
|
+
|
102
|
+
Todos que interagirem com o código fonte do projeto RequireSmasher, `issue trackers`, salas de bate-papo e lista de emails é esperado seguir o [código de conduta](https://github.com/[USERNAME]/require_smasher/blob/master/CODE_OF_CONDUCT.md).
|
data/lib/require_smasher.rb
CHANGED
@@ -13,10 +13,9 @@ require 'require_smasher/errors/require_file_error'
|
|
13
13
|
|
14
14
|
def require_all(*required_list)
|
15
15
|
classified = Classifier.classify(required_list)
|
16
|
-
gems = classified[:gems]
|
17
16
|
files = classified[:files]
|
18
17
|
|
19
|
-
gems.uniq.each { |gem| require gem }
|
18
|
+
classified[:gems].uniq.each { |gem| require gem }
|
20
19
|
RequireFile.require(files) unless files.empty?
|
21
20
|
end
|
22
21
|
|
data/todos.txt
CHANGED
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.
|
4
|
+
version: 0.4.1
|
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-
|
11
|
+
date: 2018-10-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -125,6 +125,7 @@ files:
|
|
125
125
|
- Gemfile
|
126
126
|
- LICENSE.txt
|
127
127
|
- README.md
|
128
|
+
- README.pt-BR.md
|
128
129
|
- Rakefile
|
129
130
|
- bin/console
|
130
131
|
- bin/setup
|