teodoro 0.17.0 → 0.18.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 95be697f0016ccf25571d0a21540d704c84f67166b8326e3e1ec4098ca3459be
4
- data.tar.gz: 89eac7b3fc2876ac75b4753fa471dfcb9d9e67ec87ae0a521139d8bbb6440d30
3
+ metadata.gz: cf6a5c99a287d8117b20414b8981aff51a5bd438496034ae42cc982f5652e2ac
4
+ data.tar.gz: d5302f64833d32c8808a20685a3f37c7ed9f73db242066d601b0e1222e6f52d7
5
5
  SHA512:
6
- metadata.gz: 22a6e36c97a6c4c31e81e24f963a02823c3c9e02c794787d036f89e131f88867d1673c9f32d57827192bdceefc05c031c8af894388544be116f3970d0728f91a
7
- data.tar.gz: fcd47ad109f0a9f7802712b8bdc0a1900576cf444874976d3c8c0cd02758f77f14b241d152b006098d1fee6e074596f88f55ddce9f044cad59247750784ec7de
6
+ metadata.gz: bbb85649dafe90ace4ca0ad0f734a3b6bffe28588b228b593da7f853d69f111971024eab3923f02f43e009eea3f15e84980bcd1fe15ba2965979b55f66f1c194
7
+ data.tar.gz: f456a5adeaee5271be46b480c001699da5e8d48c6c981482e07a20683aa7dfc8de6af938711ee2a6b424604f7baf111d3738f5050b31c4734d0aff70dac932d4
data/lib/teodoro.rb CHANGED
@@ -1,4 +1,6 @@
1
1
  require 'forwardable'
2
+ require 'json'
3
+ require 'net/http'
2
4
  require 'nokogiri'
3
5
  require 'os'
4
6
  require 'rainbow'
@@ -10,6 +12,8 @@ require_relative 'teodoro/empresa'
10
12
  require_relative 'teodoro/obj'
11
13
 
12
14
  module Teodoro
15
+ VERSION = '0.18.0'.freeze
16
+
13
17
  def self.call(args)
14
18
  Execution.new(args).call
15
19
  end
@@ -38,6 +42,7 @@ module Teodoro
38
42
  validar_existencia_do_diretorio_de_destino
39
43
  validar_que_diretorio_de_origem_nao_esta_vazio
40
44
  validar_que_diretorio_de_destino_esta_vazio
45
+ validar_que_nao_ha_nova_versao_disponivel
41
46
 
42
47
  processar_empresas
43
48
  end
@@ -48,6 +53,28 @@ module Teodoro
48
53
  erro "#{NOME_DO_PROGRAMA} [diretório de origem] [diretório de destino]" unless args.size == 2
49
54
  end
50
55
 
56
+ def validar_que_nao_ha_nova_versao_disponivel
57
+ return unless nova_versao_disponivel?
58
+
59
+ erro ['Há uma nova versão disponível. Execute o seguinte comando para atualizar:', 'gem update teodoro']
60
+ end
61
+
62
+ def nova_versao_disponivel?
63
+ carregar_versao_disponivel != versao_corrente
64
+ end
65
+
66
+ def carregar_versao_disponivel
67
+ Console.print 'Verificando se há nova versão disponível...' do
68
+ JSON.parse(Net::HTTP.get(URI('https://rubygems.org/api/v1/gems/teodoro.json')))['version']
69
+ end
70
+ rescue StandardError
71
+ erro 'Erro! Não foi possível carregar a versão disponível. Verifique seu acesso à internet.'
72
+ end
73
+
74
+ def versao_corrente
75
+ Teodoro::VERSION
76
+ end
77
+
51
78
  def validar_existencia_do_diretorio_de_origem
52
79
  erro 'Diretório de origem não existe.' unless File.directory?(origem)
53
80
  end
@@ -1,7 +1,11 @@
1
1
  module Console
2
2
  def self.print(string)
3
3
  Kernel.print "\r\e[2K#{string}"
4
- yield
5
- Kernel.print "\r\e[2K"
4
+ begin
5
+ result = yield
6
+ ensure
7
+ Kernel.print "\r\e[2K"
8
+ end
9
+ result
6
10
  end
7
11
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: teodoro
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.0
4
+ version: 0.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Clavius Tales
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-28 00:00:00.000000000 Z
11
+ date: 2021-04-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri