avmtrf1-tools 0.33.1 → 0.35.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/lib/avmtrf1/active_directory/user.rb +3 -3
  3. data/lib/avmtrf1/core_ext.rb +1 -1
  4. data/lib/avmtrf1/default_jira.rb +3 -2
  5. data/lib/avmtrf1/docker/image.rb +12 -0
  6. data/lib/avmtrf1/docker/image_runner.rb +83 -0
  7. data/lib/avmtrf1/forponto/user/month.rb +0 -1
  8. data/lib/avmtrf1/git/gitlab.rb +11 -0
  9. data/lib/avmtrf1/git/push_large.rb +2 -2
  10. data/lib/avmtrf1/gitlab/commit.rb +29 -0
  11. data/lib/avmtrf1/gitlab/repository.rb +41 -0
  12. data/lib/avmtrf1/node_js/docker_image.rb +10 -0
  13. data/lib/avmtrf1/node_js.rb +9 -0
  14. data/lib/avmtrf1/php/docker_image.rb +2 -19
  15. data/lib/avmtrf1/tools/runner/app_src.rb +14 -0
  16. data/lib/avmtrf1/tools/runner/check_point/login.rb +6 -19
  17. data/lib/avmtrf1/tools/runner/check_point.rb +7 -13
  18. data/lib/avmtrf1/tools/runner/esosti/changed.rb +9 -22
  19. data/lib/avmtrf1/tools/runner/esosti/fetch.rb +9 -22
  20. data/lib/avmtrf1/tools/runner/esosti/request.rb +17 -29
  21. data/lib/avmtrf1/tools/runner/esosti.rb +8 -20
  22. data/lib/avmtrf1/tools/runner/forponto/espelho.rb +11 -21
  23. data/lib/avmtrf1/tools/runner/forponto/marcacoes.rb +7 -18
  24. data/lib/avmtrf1/tools/runner/forponto/resumos.rb +7 -19
  25. data/lib/avmtrf1/tools/runner/forponto/saldo.rb +10 -21
  26. data/lib/avmtrf1/tools/runner/forponto.rb +14 -23
  27. data/lib/avmtrf1/tools/runner/git/gitlab/commit_link.rb +71 -0
  28. data/lib/avmtrf1/tools/runner/git/gitlab.rb +20 -0
  29. data/lib/avmtrf1/tools/runner/git.rb +2 -4
  30. data/lib/avmtrf1/tools/runner/node_js/docker.rb +15 -0
  31. data/lib/avmtrf1/tools/runner/node_js.rb +18 -0
  32. data/lib/avmtrf1/tools/runner/oracle/query.rb +1 -3
  33. data/lib/avmtrf1/tools/runner/php/docker.rb +3 -60
  34. data/lib/avmtrf1/tools/runner.rb +3 -5
  35. data/lib/avmtrf1/tools/version.rb +1 -1
  36. data/template/avmtrf1/node_js/docker_image/Dockerfile.template +11 -0
  37. data/template/avmtrf1/node_js/docker_image/auxiliary/config_banner.sh +15 -0
  38. data/template/avmtrf1/node_js/docker_image/auxiliary/init.sh +17 -0
  39. data/template/avmtrf1/node_js/docker_image/auxiliary/lib.sh +30 -0
  40. data/template/avmtrf1/node_js/docker_image/auxiliary/ng_serve.sh +16 -0
  41. data/template/avmtrf1/node_js/docker_image/auxiliary/npm_install.sh +21 -0
  42. data/template/avmtrf1/node_js/docker_image/auxiliary/start.sh +17 -0
  43. data/template/avmtrf1/php/docker_image/Dockerfile.template +1 -1
  44. metadata +41 -24
  45. data/lib/avmtrf1/fs_cache.rb +0 -11
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 13ca822eb7feaa967b8c8e4d3eec857e6be2dbf9fab206c86a6de1e9ce1d8139
4
- data.tar.gz: 04b94662a9a4fab3ee300e32c266be782f026b8e3b75a9fa98db369f9823ce3e
3
+ metadata.gz: 3596640cb42d9331fc9a64994e5c9e0bc2804b17ea6683985317c6b8bd18a025
4
+ data.tar.gz: ffdc002e2061a896be7e43396fc4e16526cafda04a32383297d6fd95f8c34ff0
5
5
  SHA512:
6
- metadata.gz: 4811f9b817eb6479acc6f4efe29d41883c746a3e46457e0a96413a955579a96d2ce653e983c81a85706eec246bd20c385a988688ef32dfcd85d7745202bba8bd
7
- data.tar.gz: f946e8997c09ba14b181afb40cc0d8a0094e813499eff1bd8f0d85097542ecd33b4a03e6a25f2c553c95f61f77beeef0b0a8e941bc2eb3fcb50f3bdccb0b6860
6
+ metadata.gz: ce9c393bbaaae052c799ba9b67e5767b97d247e5672d9fbe3073cfd22084583a0e59db48faa1bc63709c0e683474c54d27cd7a5dee3d47d921d3e1e7c202fd0a
7
+ data.tar.gz: 72c41df2ae775716cb562fa13905edb0ae6704462d3e7993293b005edb1ef885f479f3b67f5063f88779c8e010f24f8948f43f82ac4abc66369d4f62a9399091
@@ -6,9 +6,9 @@ module Avmtrf1
6
6
  class << self
7
7
  def by_configs(path_prefix)
8
8
  new(
9
- ::Avm::Apps::Config.current.read_entry("#{path_prefix}.domain"),
10
- ::Avm::Apps::Config.current.read_entry("#{path_prefix}.username"),
11
- ::Avm::Apps::Config.current.read_password("#{path_prefix}.password")
9
+ ::EacConfig::Node.context.current.entry("#{path_prefix}.domain").value,
10
+ ::EacConfig::Node.context.current.entry("#{path_prefix}.username").value,
11
+ ::EacConfig::Node.context.current.entry("#{path_prefix}.password").secret_value
12
12
  )
13
13
  end
14
14
  end
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'avm/core_ext'
3
+ require 'avm/tools/core_ext'
4
4
  require 'avmtrf1/patches'
@@ -9,8 +9,9 @@ module Avmtrf1
9
9
  def default_jira
10
10
  @default_jira ||= ::Avmtrf1::Jira::Instance.new(
11
11
  'https://jira.engesoftware.com.br',
12
- ::Avm::Apps::Config.current.read_entry("#{DEFAULT_JIRA_PATH_PREFIX}.username"),
13
- ::Avm::Apps::Config.current.read_password("#{DEFAULT_JIRA_PATH_PREFIX}.password")
12
+ ::EacConfig::Node.context.current.entry("#{DEFAULT_JIRA_PATH_PREFIX}.username").value,
13
+ ::EacConfig::Node.context.current
14
+ .entry("#{DEFAULT_JIRA_PATH_PREFIX}.password").secret_value
14
15
  )
15
16
  end
16
17
  end
@@ -7,6 +7,18 @@ require 'avmtrf1/template'
7
7
  module Avmtrf1
8
8
  module Docker
9
9
  class Image < ::Avm::Docker::Image
10
+ enable_simple_cache
11
+
12
+ common_constructor :registry, :plataform_version
13
+
14
+ def plataform_stereotype_tag
15
+ self.class.name.split('::')[-2].underscore.dasherize
16
+ end
17
+
18
+ def stereotype_tag
19
+ "#{plataform_stereotype_tag}-#{plataform_version}"
20
+ end
21
+
10
22
  def generator_version
11
23
  ::Avmtrf1::Tools::VERSION
12
24
  end
@@ -0,0 +1,83 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_config/node'
4
+ require 'eac_ruby_base0/core_ext'
5
+ require 'eac_docker/registry'
6
+
7
+ module Avmtrf1
8
+ module Docker
9
+ class ImageRunner
10
+ runner_with :help do
11
+ bool_opt '-h', '--help', 'Mostra esta ajuda.'
12
+ bool_opt '-d', '--default', 'Adiciona as versões padrão.'
13
+ arg_opt '-n', '--registry-name', 'Nome do registro.'
14
+ bool_opt '-p', '--push', 'Envia a imagem.'
15
+ bool_opt '-S', '--no-snapshot', 'Não adiciona "-snapshot" no nome da imagem.'
16
+ bool_opt '-V', '--no-version', 'Não adiciona a versão do gerador no nome da imagem.'
17
+ pos_arg :version, repeat: true, optional: true
18
+ end
19
+
20
+ def run
21
+ infov 'Versions to build', versions_to_s
22
+ versions.each do |version|
23
+ process_version(version)
24
+ end
25
+ end
26
+
27
+ def default_versions
28
+ ::EacConfig::Node.context.current.entry(default_versions_config_key).value.split(',')
29
+ .map(&:strip).reject(&:blank?)
30
+ end
31
+
32
+ def versions_to_s
33
+ if versions.any?
34
+ versions.join(', ')
35
+ else
36
+ '-- NONE --'
37
+ end
38
+ end
39
+
40
+ def versions
41
+ (
42
+ parsed.version +
43
+ (parsed.default? ? default_versions : [])
44
+ ).uniq.sort
45
+ end
46
+
47
+ def process_version(version)
48
+ image = build_image(version)
49
+ infom "Building Docker image \"#{image.tag}\""
50
+ image.build
51
+ image.push if parsed.push?
52
+ end
53
+
54
+ def registry_name
55
+ parsed.registry_name || ::EacConfig::Node.context.current.entry('docker.registry.name')
56
+ .value
57
+ end
58
+
59
+ def registry_uncached
60
+ ::EacDocker::Registry.new(registry_name)
61
+ end
62
+
63
+ def build_image(plataform_version)
64
+ r = docker_image_class.new(registry, plataform_version)
65
+ r.send('version=', !parsed.no_version?)
66
+ r.snapshot = !parsed.no_snapshot?
67
+ r
68
+ end
69
+
70
+ def default_versions_config_key
71
+ "#{plataform_name.underscore}.default_versions"
72
+ end
73
+
74
+ def docker_image_class
75
+ "Avmtrf1::#{plataform_name}::DockerImage".constantize
76
+ end
77
+
78
+ def plataform_name
79
+ self.class.name.split('::')[-2]
80
+ end
81
+ end
82
+ end
83
+ end
@@ -6,7 +6,6 @@ require 'eac_ruby_utils/yaml'
6
6
  require 'recursive-open-struct'
7
7
  require 'avmtrf1/forponto/parsers/espelho'
8
8
  require 'avmtrf1/forponto/session'
9
- require 'avmtrf1/fs_cache'
10
9
 
11
10
  module Avmtrf1
12
11
  module Forponto
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avmtrf1/core_ext'
4
+
5
+ module Avmtrf1
6
+ module Git
7
+ module Gitlab
8
+ require_sub __FILE__
9
+ end
10
+ end
11
+ end
@@ -30,8 +30,8 @@ module Avmtrf1
30
30
  push_revisions
31
31
  end
32
32
 
33
- def fs_cache
34
- @fs_cache ||= ::Avmtrf1.fs_cache.child(::File.expand_path(git).parameterize)
33
+ def fs_cache_object_id
34
+ ::File.expand_path(git).parameterize
35
35
  end
36
36
 
37
37
  private
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avmtrf1
4
+ module Gitlab
5
+ class Commit
6
+ enable_speaker
7
+ enable_simple_cache
8
+ common_constructor :repository, :git, :source
9
+
10
+ def to_s
11
+ source
12
+ end
13
+
14
+ def web_url(object_type = 'commit')
15
+ "#{repository.web_url}/#{object_type}/#{full_id}"
16
+ end
17
+
18
+ private
19
+
20
+ def full_id_uncached
21
+ git.rev_parse(source)
22
+ end
23
+
24
+ def short_id_uncached
25
+ git.execute!('rev-parse', '--short', full_id).strip
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avmtrf1/core_ext'
4
+
5
+ module Avmtrf1
6
+ module Gitlab
7
+ class Repository
8
+ class << self
9
+ # @param uri [String]
10
+ # @return [Avmtrf1::Gitlab::Address, nil]
11
+ def by_uri(uri)
12
+ by_git_uri(uri) || by_https_uri(uri)
13
+ end
14
+
15
+ # @param uri [String]
16
+ # @return [Avmtrf1::Gitlab::Address, nil]
17
+ def by_git_uri(uri)
18
+ /\Agit@(.+):(.+)\z/i.if_match(uri, false) do |m|
19
+ new(:git, m[1], m[2])
20
+ end
21
+ end
22
+
23
+ # @param uri [String]
24
+ # @return [Avmtrf1::Gitlab::Address, nil]
25
+ def by_https_uri(uri)
26
+ %r{\Ahttps?:\/\/([^\/]+)\/(.+)\z}i.if_match(uri, false) do |m|
27
+ new(:https, m[1], m[2])
28
+ end
29
+ end
30
+ end
31
+
32
+ common_constructor :protocol, :authority, :path do
33
+ self.path = '/' + path.to_s.gsub(/\.git\Z/, '').gsub(%r{\A/+}, '')
34
+ end
35
+
36
+ def web_url
37
+ "https://#{authority}#{path}"
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avmtrf1/docker/image'
4
+
5
+ module Avmtrf1
6
+ module NodeJs
7
+ class DockerImage < ::Avmtrf1::Docker::Image
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avmtrf1
6
+ module NodeJs
7
+ require_sub __FILE__
8
+ end
9
+ end
@@ -19,25 +19,8 @@ module Avmtrf1
19
19
  XDEBUG_PECL_PACKAGE_LESSER_7 = 'xdebug-2.5.5'
20
20
  XDEBUG_PECL_PACKAGE_GREATER_EQUAL = 'xdebug'
21
21
 
22
- enable_simple_cache
23
-
24
- attr_reader :php_version
25
-
26
- def initialize(registry, php_version)
27
- super(registry)
28
- @php_version = php_version
29
- end
30
-
31
- def stereotype_tag
32
- "php-#{php_version}"
33
- end
34
-
35
- def template_dir
36
- ::Avmtrf1.template('avmtrf1/php/docker_image')
37
- end
38
-
39
22
  def mcrypt_install
40
- if ::Gem::Version.new(php_version) >= ::Gem::Version.new('7.2')
23
+ if ::Gem::Version.new(plataform_version) >= ::Gem::Version.new('7.2')
41
24
  MCRYPT_INSTALL_GREATER_EQUAL_7_2
42
25
  else
43
26
  MCRYPT_INSTALL_LESSER_7_2
@@ -45,7 +28,7 @@ module Avmtrf1
45
28
  end
46
29
 
47
30
  def xdebug_pecl_package
48
- if ::Gem::Version.new(php_version) < ::Gem::Version.new('7')
31
+ if ::Gem::Version.new(plataform_version) < ::Gem::Version.new('7')
49
32
  XDEBUG_PECL_PACKAGE_LESSER_7
50
33
  else
51
34
  XDEBUG_PECL_PACKAGE_GREATER_EQUAL
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/tools/runner/app_src'
4
+ require 'avmtrf1/core_ext'
5
+
6
+ module Avmtrf1
7
+ module Tools
8
+ class Runner
9
+ class AppSrc < ::Avm::Tools::Runner::AppSrc
10
+ require_sub __FILE__
11
+ end
12
+ end
13
+ end
14
+ end
@@ -1,29 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/docopt_runner'
4
- require 'eac_ruby_utils/patches/module/speaker'
5
- require 'eac_ruby_utils/simple_cache'
6
- require 'avmtrf1'
7
3
  require 'avmtrf1/check_point/session'
4
+ require 'avmtrf1/core_ext'
8
5
 
9
6
  module Avmtrf1
10
7
  module Tools
11
8
  class Runner
12
- class CheckPoint < ::EacCli::DocoptRunner
13
- class Login < ::EacCli::DocoptRunner
14
- include ::EacRubyUtils::SimpleCache
15
- enable_speaker
16
-
17
- DOC = <<~DOCOPT
18
- Login no CheckPoint (https://cp.trf1.jus.br).
19
-
20
- Usage:
21
- __PROGRAM__ [options]
22
- __PROGRAM__ -h | --help
23
-
24
- Options:
25
- -h --help Mostra esta ajuda.
26
- DOCOPT
9
+ class CheckPoint
10
+ class Login
11
+ runner_with :help do
12
+ desc 'Login no CheckPoint (https://cp.trf1.jus.br).'
13
+ end
27
14
 
28
15
  def run
29
16
  infov 'Username', session.username
@@ -1,22 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/docopt_runner'
4
- require 'avmtrf1/tools/runner/check_point/login'
3
+ require 'avmtrf1/core_ext'
5
4
 
6
5
  module Avmtrf1
7
6
  module Tools
8
7
  class Runner
9
- class CheckPoint < ::EacCli::DocoptRunner
10
- DOC = <<~DOCOPT
11
- Utilidades para Check Point (https://cp.trf1.jus.br).
12
-
13
- Usage:
14
- __PROGRAM__ __SUBCOMMANDS__
15
- __PROGRAM__ -h | --help
16
-
17
- Options:
18
- -h --help Mostra esta ajuda.
19
- DOCOPT
8
+ class CheckPoint
9
+ require_sub __FILE__
10
+ runner_with :help, :subcommands do
11
+ desc 'Utilidades para Check Point (https://cp.trf1.jus.br).'
12
+ subcommands
13
+ end
20
14
  end
21
15
  end
22
16
  end
@@ -1,29 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/docopt_runner'
4
- require 'eac_ruby_utils/core_ext'
5
- require 'avmtrf1/default_esosti'
6
- require 'avmtrf1/ini'
7
- require 'avmtrf1/red/profile'
3
+ require 'avmtrf1/core_ext'
8
4
 
9
5
  module Avmtrf1
10
6
  module Tools
11
7
  class Runner
12
- class Esosti < ::EacCli::DocoptRunner
13
- class Changed < ::EacCli::DocoptRunner
14
- enable_speaker
15
- enable_simple_cache
16
-
17
- DOC = <<~DOCOPT
18
- Recupera o conteúdo de uma solicitação e-Sosti (Control Desk).
19
-
20
- Usage:
21
- __PROGRAM__ [options] <time>
22
- __PROGRAM__ -h | --help
23
-
24
- Options:
25
- -h --help Mostra esta ajuda.
26
- DOCOPT
8
+ class Esosti
9
+ class Changed
10
+ runner_with :help do
11
+ desc 'Recupera o conteúdo de uma solicitação e-Sosti (Control Desk).'
12
+ pos_arg :time
13
+ end
27
14
 
28
15
  def run
29
16
  infov 'Time', time
@@ -39,11 +26,11 @@ module Avmtrf1
39
26
  end
40
27
 
41
28
  def request_uncached
42
- context(:esosti_instance).changed_request(time)
29
+ runner_context.call(:esosti_instance).changed_request(time)
43
30
  end
44
31
 
45
32
  def time
46
- ::Time.parse(options.fetch('<time>'))
33
+ ::Time.parse(parsed.time)
47
34
  end
48
35
  end
49
36
  end
@@ -1,29 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/docopt_runner'
4
- require 'eac_ruby_utils/core_ext'
5
- require 'avmtrf1/default_esosti'
6
- require 'avmtrf1/ini'
7
- require 'avmtrf1/red/profile'
3
+ require 'avmtrf1/core_ext'
8
4
 
9
5
  module Avmtrf1
10
6
  module Tools
11
7
  class Runner
12
- class Esosti < ::EacCli::DocoptRunner
13
- class Fetch < ::EacCli::DocoptRunner
14
- enable_speaker
15
- enable_simple_cache
16
-
17
- DOC = <<~DOCOPT
18
- Recupera o conteúdo de uma solicitação e-Sosti (Control Desk).
19
-
20
- Usage:
21
- __PROGRAM__ [options] <solicitacao_id>
22
- __PROGRAM__ -h | --help
23
-
24
- Options:
25
- -h --help Mostra esta ajuda.
26
- DOCOPT
8
+ class Esosti
9
+ class Fetch
10
+ runner_with :help do
11
+ desc 'Recupera o conteúdo de uma solicitação e-Sosti (Control Desk).'
12
+ pos_arg :solicitacao_id
13
+ end
27
14
 
28
15
  def run
29
16
  infov 'URL', request.url
@@ -34,7 +21,7 @@ module Avmtrf1
34
21
  private
35
22
 
36
23
  def request_uncached
37
- context(:esosti_instance).issue_request(solicitacao_id)
24
+ runner_context.call(:esosti_instance).issue_request(solicitacao_id)
38
25
  end
39
26
 
40
27
  def issue_uncached
@@ -43,7 +30,7 @@ module Avmtrf1
43
30
  end
44
31
 
45
32
  def solicitacao_id
46
- options.fetch('<solicitacao_id>')
33
+ parsed.solicitacao_id
47
34
  end
48
35
  end
49
36
  end
@@ -1,33 +1,21 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/docopt_runner'
4
- require 'eac_ruby_utils/core_ext'
5
- require 'avmtrf1/default_esosti'
6
- require 'avmtrf1/ini'
7
- require 'avmtrf1/red/profile'
3
+ require 'avmtrf1/core_ext'
4
+ require 'yaml'
8
5
 
9
6
  module Avmtrf1
10
7
  module Tools
11
8
  class Runner
12
- class Esosti < ::EacCli::DocoptRunner
13
- class Request < ::EacCli::DocoptRunner
14
- enable_speaker
15
- enable_simple_cache
16
-
17
- DOC = <<~DOCOPT
18
- Requisições genéricas para e-Sosti (Control Desk).
19
-
20
- Usage:
21
- __PROGRAM__ [options] <url-suffix>
22
- __PROGRAM__ -h | --help
23
-
24
- Options:
25
- -h --help Mostra esta ajuda.
26
- -d --default Opções --json e --yaml.
27
- -j --json Solicita resposta em JSON.
28
- -x --xml Solicita resposta em XML.
29
- -y --yaml Imprime saída em YAML.
30
- DOCOPT
9
+ class Esosti
10
+ class Request
11
+ runner_with :help do
12
+ desc 'Requisições genéricas para e-Sosti (Control Desk).'
13
+ bool_opt '-d', '--default', 'Opções --json e --yaml.'
14
+ bool_opt '-j', '--json', 'Solicita resposta em JSON.'
15
+ bool_opt '-x', '--xml', 'Solicita resposta em XML.'
16
+ bool_opt '-y', '--yaml', 'Imprime saída em YAML.'
17
+ pos_arg :url_suffix
18
+ end
31
19
 
32
20
  def run
33
21
  start_banner
@@ -37,7 +25,7 @@ module Avmtrf1
37
25
  private
38
26
 
39
27
  def json?
40
- options.fetch('--json') || options.fetch('--default')
28
+ parsed.json? || parsed.default?
41
29
  end
42
30
 
43
31
  def start_banner
@@ -55,7 +43,7 @@ module Avmtrf1
55
43
  end
56
44
 
57
45
  def request_uncached
58
- context(:esosti_instance).request(url_suffix, request_headers)
46
+ runner_context.call(:esosti_instance).request(url_suffix, request_headers)
59
47
  end
60
48
 
61
49
  def request_headers
@@ -71,15 +59,15 @@ module Avmtrf1
71
59
  end
72
60
 
73
61
  def url_suffix
74
- options.fetch('<url-suffix>')
62
+ parsed.url_suffix
75
63
  end
76
64
 
77
65
  def xml?
78
- options.fetch('--xml')
66
+ parsed.xml?
79
67
  end
80
68
 
81
69
  def yaml?
82
- options.fetch('--yaml') || options.fetch('--default')
70
+ parsed.yaml? || parsed.default?
83
71
  end
84
72
  end
85
73
  end
@@ -1,35 +1,23 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/docopt_runner'
4
- require 'eac_ruby_utils/core_ext'
3
+ require 'avmtrf1/core_ext'
5
4
  require 'avmtrf1/default_esosti'
6
- require 'avmtrf1/ini'
7
- require 'avmtrf1/red/profile'
8
5
 
9
6
  module Avmtrf1
10
7
  module Tools
11
8
  class Runner
12
- class Esosti < ::EacCli::DocoptRunner
9
+ class Esosti
13
10
  require_sub __FILE__
14
- enable_speaker
15
- enable_simple_cache
16
-
17
- DOC = <<~DOCOPT
18
- Utilidades para e-Sosti (Control Desk).
19
-
20
- Usage:
21
- __PROGRAM__ [options] __SUBCOMMANDS__
22
- __PROGRAM__ -h | --help
23
-
24
- Options:
25
- -h --help Mostra esta ajuda.
26
- -U --url=<url> Utiliza o Control Desk em <url>.
27
- DOCOPT
11
+ runner_with :help, :subcommands do
12
+ desc 'Utilidades para e-Sosti (Control Desk).'
13
+ arg_opt '-U', '--url', 'Utiliza o Control Desk em <url>.'
14
+ subcommands
15
+ end
28
16
 
29
17
  private
30
18
 
31
19
  def esosti_instance_uncached
32
- options.fetch('--url').if_present(::Avmtrf1.default_esosti) do |url|
20
+ parsed.url.if_present(::Avmtrf1.default_esosti) do |url|
33
21
  ::Avmtrf1.trf1_esosti(url)
34
22
  end
35
23
  end