teodoro 0.17.0 → 0.18.0

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