avmtrf1-tools 0.31.1 → 0.33.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. checksums.yaml +4 -4
  2. data/lib/avmtrf1/active_directory/user.rb +3 -3
  3. data/lib/avmtrf1/check_point/session.rb +10 -9
  4. data/lib/avmtrf1/core_ext.rb +4 -0
  5. data/lib/avmtrf1/default_jira.rb +2 -2
  6. data/lib/avmtrf1/executables.rb +10 -2
  7. data/lib/avmtrf1/git/cached_repository.rb +2 -2
  8. data/lib/avmtrf1/git/issue_on_repository.rb +2 -2
  9. data/lib/avmtrf1/git/push_large.rb +4 -4
  10. data/lib/avmtrf1/git/push_large/lfs_commit.rb +5 -10
  11. data/lib/avmtrf1/git/push_large/lfs_commit/cache.rb +19 -0
  12. data/lib/avmtrf1/git/push_large/lfs_commit/checkout_previous_revision.rb +35 -0
  13. data/lib/avmtrf1/git/push_large/lfs_commit/commit_changes.rb +48 -0
  14. data/lib/avmtrf1/git/push_large/lfs_commit/helpers.rb +29 -0
  15. data/lib/avmtrf1/git/push_large/lfs_commit/pick_source_revision.rb +103 -0
  16. data/lib/avmtrf1/git/push_large/lfs_commit/push.rb +90 -0
  17. data/lib/avmtrf1/git/push_large/lfs_commit/track_large_files.rb +53 -0
  18. data/lib/avmtrf1/git/push_large/source_commit.rb +4 -7
  19. data/lib/avmtrf1/git/push_large/source_commit/push.rb +42 -0
  20. data/lib/avmtrf1/inventario_sistemas/site_build/html_page_base.rb +1 -1
  21. data/lib/avmtrf1/openvpn/config/builder.rb +59 -0
  22. data/lib/avmtrf1/openvpn/config/parser.rb +20 -0
  23. data/lib/avmtrf1/openvpn/config/parser/builder.rb +62 -0
  24. data/lib/avmtrf1/openvpn/config/parser/line.rb +47 -0
  25. data/lib/avmtrf1/openvpn/config/parser/simple.rb +27 -0
  26. data/lib/avmtrf1/openvpn/config/parser/tag.rb +39 -0
  27. data/lib/avmtrf1/patches.rb +3 -0
  28. data/lib/avmtrf1/patches/avm.rb +4 -0
  29. data/lib/avmtrf1/patches/avm/git.rb +4 -0
  30. data/lib/avmtrf1/patches/avm/git/issue.rb +4 -0
  31. data/lib/avmtrf1/patches/avm/launcher.rb +4 -0
  32. data/lib/avmtrf1/patches/avm/launcher/git.rb +4 -0
  33. data/lib/avmtrf1/patches/avm/launcher/git/base.rb +46 -0
  34. data/lib/avmtrf1/red/helper.rb +2 -2
  35. data/lib/avmtrf1/template.rb +2 -2
  36. data/lib/avmtrf1/tools/application.rb +13 -0
  37. data/lib/avmtrf1/tools/runner.rb +18 -25
  38. data/lib/avmtrf1/tools/runner/check_point.rb +3 -3
  39. data/lib/avmtrf1/tools/runner/check_point/login.rb +6 -6
  40. data/lib/avmtrf1/tools/runner/esosti.rb +4 -4
  41. data/lib/avmtrf1/tools/runner/esosti/changed.rb +5 -5
  42. data/lib/avmtrf1/tools/runner/esosti/fetch.rb +5 -5
  43. data/lib/avmtrf1/tools/runner/esosti/request.rb +5 -5
  44. data/lib/avmtrf1/tools/runner/forponto.rb +7 -7
  45. data/lib/avmtrf1/tools/runner/forponto/espelho.rb +6 -6
  46. data/lib/avmtrf1/tools/runner/forponto/marcacoes.rb +5 -5
  47. data/lib/avmtrf1/tools/runner/forponto/resumos.rb +6 -6
  48. data/lib/avmtrf1/tools/runner/forponto/saldo.rb +6 -6
  49. data/lib/avmtrf1/tools/runner/git.rb +2 -2
  50. data/lib/avmtrf1/tools/runner/git/issues_check.rb +8 -19
  51. data/lib/avmtrf1/tools/runner/git/push_large.rb +28 -19
  52. data/lib/avmtrf1/tools/runner/inventario_sistemas.rb +7 -9
  53. data/lib/avmtrf1/tools/runner/openvpn.rb +91 -0
  54. data/lib/avmtrf1/tools/runner/oracle.rb +16 -23
  55. data/lib/avmtrf1/tools/runner/oracle/query.rb +11 -13
  56. data/lib/avmtrf1/tools/runner/oracle/source_get.rb +18 -19
  57. data/lib/avmtrf1/tools/runner/oracle/user_clear.rb +8 -16
  58. data/lib/avmtrf1/tools/runner/php.rb +8 -15
  59. data/lib/avmtrf1/tools/runner/php/docker.rb +21 -31
  60. data/lib/avmtrf1/tools/runner/red.rb +22 -26
  61. data/lib/avmtrf1/tools/runner/trf1_dspace_base0.rb +10 -19
  62. data/lib/avmtrf1/tools/runner/trf1_dspace_base0/deploy.rb +2 -2
  63. data/lib/avmtrf1/tools/version.rb +1 -1
  64. data/template/avmtrf1/php/docker_image/Dockerfile.template +4 -1
  65. metadata +30 -93
  66. data/lib/avmtrf1/configs.rb +0 -24
  67. data/lib/avmtrf1/git/push_large/lfs_commit/_00_checkout_previous_revision.rb +0 -33
  68. data/lib/avmtrf1/git/push_large/lfs_commit/_01_cherry_pick_source_revision.rb +0 -89
  69. data/lib/avmtrf1/git/push_large/lfs_commit/_02_track_large_files.rb +0 -51
  70. data/lib/avmtrf1/git/push_large/lfs_commit/_03_commit_changes.rb +0 -46
  71. data/lib/avmtrf1/git/push_large/lfs_commit/_04_push.rb +0 -88
  72. data/lib/avmtrf1/git/push_large/lfs_commit/_cache.rb +0 -17
  73. data/lib/avmtrf1/git/push_large/lfs_commit/_helpers.rb +0 -27
  74. data/lib/avmtrf1/git/push_large/source_commit/_push.rb +0 -40
  75. data/lib/avmtrf1/patches/eac_launcher/git/base.rb +0 -43
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'active_support/concern'
4
4
  require 'active_support/core_ext/string'
5
- require 'eac_ruby_utils/console/speaker'
5
+ require 'eac_ruby_utils/patches/module/speaker'
6
6
  require 'erb'
7
7
  require 'httpclient'
8
8
  require 'nokogiri'
@@ -13,7 +13,7 @@ module Avmtrf1
13
13
  extend ::ActiveSupport::Concern
14
14
 
15
15
  included do
16
- include ::EacRubyUtils::Console::Speaker
16
+ enable_speaker
17
17
  end
18
18
 
19
19
  def http_client
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/templates/searcher'
3
+ require 'eac_templates/searcher'
4
4
 
5
- ::EacRubyUtils::Templates::Searcher.default.included_paths <<
5
+ ::EacTemplates::Searcher.default.included_paths <<
6
6
  ::File.expand_path('../../template', __dir__)
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_base0/application'
4
+
5
+ module Avmtrf1
6
+ module Tools
7
+ class << self
8
+ def application
9
+ @application ||= ::EacRubyBase0::Application.new(::File.expand_path('../../..', __dir__))
10
+ end
11
+ end
12
+ end
13
+ end
@@ -1,38 +1,31 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'avm/apps/config'
3
4
  require 'aranha/selenium/driver_factory/base'
4
- require 'eac_ruby_utils/console/docopt_runner'
5
- require 'eac_ruby_utils/require_sub'
6
- require 'avmtrf1/tools/version'
7
5
  require 'avmtrf1/ruby/gems/not_found_error'
8
- require 'eac_ruby_utils/console/speaker'
6
+ require 'avmtrf1/tools/application'
7
+ require 'eac_ruby_base0/runner'
9
8
 
10
9
  module Avmtrf1
11
10
  module Tools
12
- class Runner < ::EacRubyUtils::Console::DocoptRunner
13
- ::EacRubyUtils.require_sub(__FILE__)
14
- include ::EacRubyUtils::Console::Speaker
15
-
16
- DOC = <<~DOCOPT
17
- Utilidades para AVM-TRF1 (http://redmine.trf1.gov.br/projects/avm-trf1).
18
-
19
- Usage:
20
- __PROGRAM__ [options] __SUBCOMMANDS__
21
- __PROGRAM__ -h | --help
22
- __PROGRAM__ --version
11
+ class Runner
12
+ require_sub __FILE__
13
+ include ::EacRubyBase0::Runner
14
+
15
+ runner_definition do
16
+ desc 'Utilidades para AVM-TRF1 (http://redmine.trf1.gov.br/projects/avm-trf1).'
17
+ bool_opt '-H', '--headless',
18
+ 'Quando usando Selenium não mostra a interface gráfica do navegador web.'
19
+ end
23
20
 
24
- Options:
25
- -h --help Show this screen.
26
- -v --version Show version.
27
- -H --headless Quando usando Selenium não mostra a interface gráfica do navegador web.
28
- DOCOPT
21
+ def application
22
+ ::Avmtrf1::Tools.application
23
+ end
29
24
 
30
25
  def run
31
- ::Aranha::Selenium::DriverFactory::Base.default_headless = options.fetch('--headless')
32
- if options.fetch('--version')
33
- out(::Avmtrf1::Tools::VERSION + "\n")
34
- else
35
- run_with_subcommand
26
+ ::Avm::Apps::Config.context.on(application.build_config) do
27
+ ::Aranha::Selenium::DriverFactory::Base.default_headless = parsed.headless?
28
+ super
36
29
  end
37
30
  rescue ::Avmtrf1::Ruby::Gems::NotFoundError => e
38
31
  on_gem_not_found(e.dependency)
@@ -1,12 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/console/docopt_runner'
3
+ require 'eac_cli/docopt_runner'
4
4
  require 'avmtrf1/tools/runner/check_point/login'
5
5
 
6
6
  module Avmtrf1
7
7
  module Tools
8
- class Runner < ::EacRubyUtils::Console::DocoptRunner
9
- class CheckPoint < ::EacRubyUtils::Console::DocoptRunner
8
+ class Runner
9
+ class CheckPoint < ::EacCli::DocoptRunner
10
10
  DOC = <<~DOCOPT
11
11
  Utilidades para Check Point (https://cp.trf1.jus.br).
12
12
 
@@ -1,18 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/console/docopt_runner'
4
- require 'eac_ruby_utils/console/speaker'
3
+ require 'eac_cli/docopt_runner'
4
+ require 'eac_ruby_utils/patches/module/speaker'
5
5
  require 'eac_ruby_utils/simple_cache'
6
6
  require 'avmtrf1'
7
7
  require 'avmtrf1/check_point/session'
8
8
 
9
9
  module Avmtrf1
10
10
  module Tools
11
- class Runner < ::EacRubyUtils::Console::DocoptRunner
12
- class CheckPoint < ::EacRubyUtils::Console::DocoptRunner
13
- class Login < ::EacRubyUtils::Console::DocoptRunner
11
+ class Runner
12
+ class CheckPoint < ::EacCli::DocoptRunner
13
+ class Login < ::EacCli::DocoptRunner
14
14
  include ::EacRubyUtils::SimpleCache
15
- include ::EacRubyUtils::Console::Speaker
15
+ enable_speaker
16
16
 
17
17
  DOC = <<~DOCOPT
18
18
  Login no CheckPoint (https://cp.trf1.jus.br).
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/console/docopt_runner'
3
+ require 'eac_cli/docopt_runner'
4
4
  require 'eac_ruby_utils/core_ext'
5
5
  require 'avmtrf1/default_esosti'
6
6
  require 'avmtrf1/ini'
@@ -8,10 +8,10 @@ require 'avmtrf1/red/profile'
8
8
 
9
9
  module Avmtrf1
10
10
  module Tools
11
- class Runner < ::EacRubyUtils::Console::DocoptRunner
12
- class Esosti < ::EacRubyUtils::Console::DocoptRunner
11
+ class Runner
12
+ class Esosti < ::EacCli::DocoptRunner
13
13
  require_sub __FILE__
14
- enable_console_speaker
14
+ enable_speaker
15
15
  enable_simple_cache
16
16
 
17
17
  DOC = <<~DOCOPT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/console/docopt_runner'
3
+ require 'eac_cli/docopt_runner'
4
4
  require 'eac_ruby_utils/core_ext'
5
5
  require 'avmtrf1/default_esosti'
6
6
  require 'avmtrf1/ini'
@@ -8,10 +8,10 @@ require 'avmtrf1/red/profile'
8
8
 
9
9
  module Avmtrf1
10
10
  module Tools
11
- class Runner < ::EacRubyUtils::Console::DocoptRunner
12
- class Esosti < ::EacRubyUtils::Console::DocoptRunner
13
- class Changed < ::EacRubyUtils::Console::DocoptRunner
14
- enable_console_speaker
11
+ class Runner
12
+ class Esosti < ::EacCli::DocoptRunner
13
+ class Changed < ::EacCli::DocoptRunner
14
+ enable_speaker
15
15
  enable_simple_cache
16
16
 
17
17
  DOC = <<~DOCOPT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/console/docopt_runner'
3
+ require 'eac_cli/docopt_runner'
4
4
  require 'eac_ruby_utils/core_ext'
5
5
  require 'avmtrf1/default_esosti'
6
6
  require 'avmtrf1/ini'
@@ -8,10 +8,10 @@ require 'avmtrf1/red/profile'
8
8
 
9
9
  module Avmtrf1
10
10
  module Tools
11
- class Runner < ::EacRubyUtils::Console::DocoptRunner
12
- class Esosti < ::EacRubyUtils::Console::DocoptRunner
13
- class Fetch < ::EacRubyUtils::Console::DocoptRunner
14
- enable_console_speaker
11
+ class Runner
12
+ class Esosti < ::EacCli::DocoptRunner
13
+ class Fetch < ::EacCli::DocoptRunner
14
+ enable_speaker
15
15
  enable_simple_cache
16
16
 
17
17
  DOC = <<~DOCOPT
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/console/docopt_runner'
3
+ require 'eac_cli/docopt_runner'
4
4
  require 'eac_ruby_utils/core_ext'
5
5
  require 'avmtrf1/default_esosti'
6
6
  require 'avmtrf1/ini'
@@ -8,10 +8,10 @@ require 'avmtrf1/red/profile'
8
8
 
9
9
  module Avmtrf1
10
10
  module Tools
11
- class Runner < ::EacRubyUtils::Console::DocoptRunner
12
- class Esosti < ::EacRubyUtils::Console::DocoptRunner
13
- class Request < ::EacRubyUtils::Console::DocoptRunner
14
- enable_console_speaker
11
+ class Runner
12
+ class Esosti < ::EacCli::DocoptRunner
13
+ class Request < ::EacCli::DocoptRunner
14
+ enable_speaker
15
15
  enable_simple_cache
16
16
 
17
17
  DOC = <<~DOCOPT
@@ -1,18 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/console/docopt_runner'
4
- require 'eac_ruby_utils/console/speaker'
3
+ require 'eac_cli/docopt_runner'
4
+ require 'eac_ruby_utils/patches/module/speaker'
5
5
  require 'eac_ruby_utils/require_sub'
6
6
  ::EacRubyUtils.require_sub(__FILE__)
7
- require 'avmtrf1/configs'
7
+ require 'avm/apps/config'
8
8
  require 'avmtrf1/forponto/user'
9
9
 
10
10
  module Avmtrf1
11
11
  module Tools
12
- class Runner < ::EacRubyUtils::Console::DocoptRunner
13
- class Forponto < ::EacRubyUtils::Console::DocoptRunner
12
+ class Runner
13
+ class Forponto < ::EacCli::DocoptRunner
14
14
  include ::EacRubyUtils::SimpleCache
15
- include ::EacRubyUtils::Console::Speaker
15
+ enable_speaker
16
16
 
17
17
  DEFAULT_VALUES = {
18
18
  url: 'http://pontoeletronico.trf1.jus.br/forponto/fptoweb.exe'
@@ -55,7 +55,7 @@ module Avmtrf1
55
55
  end
56
56
 
57
57
  def value_by_entry(name, read_options)
58
- ::Avmtrf1.configs.read_entry("trf1.forponto.#{name}", read_options)
58
+ ::Avm::Apps::Config.current.read_entry("trf1.forponto.#{name}", read_options)
59
59
  end
60
60
 
61
61
  def user_uncached
@@ -1,16 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/console/docopt_runner'
4
- require 'eac_ruby_utils/console/speaker'
3
+ require 'eac_cli/docopt_runner'
4
+ require 'eac_ruby_utils/patches/module/speaker'
5
5
  require 'eac_ruby_utils/simple_cache'
6
6
 
7
7
  module Avmtrf1
8
8
  module Tools
9
- class Runner < ::EacRubyUtils::Console::DocoptRunner
10
- class Forponto < ::EacRubyUtils::Console::DocoptRunner
11
- class Espelho < ::EacRubyUtils::Console::DocoptRunner
9
+ class Runner
10
+ class Forponto < ::EacCli::DocoptRunner
11
+ class Espelho < ::EacCli::DocoptRunner
12
12
  include ::EacRubyUtils::SimpleCache
13
- include ::EacRubyUtils::Console::Speaker
13
+ enable_speaker
14
14
 
15
15
  DOC = <<~DOCOPT
16
16
  Recupera e trata dados do Forponto.
@@ -1,15 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'avmtrf1/forponto/user/day_registers'
4
- require 'eac_ruby_utils/console/docopt_runner'
4
+ require 'eac_cli/docopt_runner'
5
5
  require 'eac_ruby_utils/core_ext'
6
6
 
7
7
  module Avmtrf1
8
8
  module Tools
9
- class Runner < ::EacRubyUtils::Console::DocoptRunner
10
- class Forponto < ::EacRubyUtils::Console::DocoptRunner
11
- class Marcacoes < ::EacRubyUtils::Console::DocoptRunner
12
- enable_console_speaker
9
+ class Runner
10
+ class Forponto < ::EacCli::DocoptRunner
11
+ class Marcacoes < ::EacCli::DocoptRunner
12
+ enable_speaker
13
13
  enable_simple_cache
14
14
 
15
15
  DOC = <<~DOCOPT
@@ -1,16 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/console/docopt_runner'
4
- require 'eac_ruby_utils/console/speaker'
3
+ require 'eac_cli/docopt_runner'
4
+ require 'eac_ruby_utils/patches/module/speaker'
5
5
  require 'eac_ruby_utils/simple_cache'
6
6
 
7
7
  module Avmtrf1
8
8
  module Tools
9
- class Runner < ::EacRubyUtils::Console::DocoptRunner
10
- class Forponto < ::EacRubyUtils::Console::DocoptRunner
11
- class Resumos < ::EacRubyUtils::Console::DocoptRunner
9
+ class Runner
10
+ class Forponto < ::EacCli::DocoptRunner
11
+ class Resumos < ::EacCli::DocoptRunner
12
12
  include ::EacRubyUtils::SimpleCache
13
- include ::EacRubyUtils::Console::Speaker
13
+ enable_speaker
14
14
 
15
15
  DOC = <<~DOCOPT
16
16
  Mostra os resumos.
@@ -1,16 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/console/docopt_runner'
4
- require 'eac_ruby_utils/console/speaker'
3
+ require 'eac_cli/docopt_runner'
4
+ require 'eac_ruby_utils/patches/module/speaker'
5
5
  require 'eac_ruby_utils/simple_cache'
6
6
 
7
7
  module Avmtrf1
8
8
  module Tools
9
- class Runner < ::EacRubyUtils::Console::DocoptRunner
10
- class Forponto < ::EacRubyUtils::Console::DocoptRunner
11
- class Saldo < ::EacRubyUtils::Console::DocoptRunner
9
+ class Runner
10
+ class Forponto < ::EacCli::DocoptRunner
11
+ class Saldo < ::EacCli::DocoptRunner
12
12
  include ::EacRubyUtils::SimpleCache
13
- include ::EacRubyUtils::Console::Speaker
13
+ enable_speaker
14
14
 
15
15
  DOC = <<~DOCOPT
16
16
  Calcula saldo de horas atual.
@@ -1,14 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'avm/tools/runner/git'
4
- require 'eac_ruby_utils/console/docopt_runner'
4
+ require 'eac_cli/docopt_runner'
5
5
  require 'avmtrf1/tools/runner/git/issues_check'
6
6
  require 'avmtrf1/tools/runner/git/push_large'
7
7
  require 'avmtrf1/patches/avm/git/issue/complete'
8
8
 
9
9
  module Avmtrf1
10
10
  module Tools
11
- class Runner < ::EacRubyUtils::Console::DocoptRunner
11
+ class Runner
12
12
  class Git < ::Avm::Tools::Runner::Git
13
13
  end
14
14
  end
@@ -1,28 +1,17 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/console/docopt_runner'
4
- require 'eac_ruby_utils/console/speaker'
5
- require 'eac_ruby_utils/simple_cache'
3
+ require 'avmtrf1/core_ext'
6
4
  require 'avmtrf1/git/cached_repository'
7
5
 
8
6
  module Avmtrf1
9
7
  module Tools
10
- class Runner < ::EacRubyUtils::Console::DocoptRunner
8
+ class Runner
11
9
  class Git < ::Avm::Tools::Runner::Git
12
- class IssuesCheck < ::EacRubyUtils::Console::DocoptRunner
13
- include ::EacRubyUtils::SimpleCache
14
- include ::EacRubyUtils::Console::Speaker
15
-
16
- DOC = <<~DOCOPT
17
- Confronta situação das demandas no Git com a situação nos trackers.
18
-
19
- Usage:
20
- __PROGRAM__ [options] <git-url>
21
- __PROGRAM__ -h | --help
22
-
23
- Options:
24
- -h --help Mostra esta ajuda.
25
- DOCOPT
10
+ class IssuesCheck
11
+ runner_with :help do
12
+ desc 'Confronta situação das demandas no Git com a situação nos trackers.'
13
+ pos_arg :git_url
14
+ end
26
15
 
27
16
  def run
28
17
  infov 'Repository path', git_url
@@ -34,7 +23,7 @@ module Avmtrf1
34
23
  private
35
24
 
36
25
  def git_url
37
- options.fetch('<git-url>')
26
+ parsed.git_url
38
27
  end
39
28
 
40
29
  def git_uncached
@@ -1,35 +1,44 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/console/docopt_runner'
3
+ require 'avmtrf1/core_ext'
4
4
  require 'avmtrf1/git/push_large'
5
5
 
6
6
  module Avmtrf1
7
7
  module Tools
8
- class Runner < ::EacRubyUtils::Console::DocoptRunner
8
+ class Runner
9
9
  class Git < ::Avm::Tools::Runner::Git
10
- class PushLarge < ::EacRubyUtils::Console::DocoptRunner
11
- DOC = <<~DOCOPT
12
- Realiza push de repositórios grandes
13
- (Que falham com "pack exceeds maximum allowed size").
10
+ class PushLarge
11
+ DEFAULT_REPO_PATH = '.'
12
+ DEFAULT_REMOTE = 'origin'
14
13
 
15
- Usage:
16
- __PROGRAM__ [options] <source-ref> <target-ref>
17
- __PROGRAM__ -h | --help
18
-
19
- Options:
20
- -h --help Mostra esta ajuda.
21
- -C <git-local> Caminho do repositório local [default: .].
22
- -r --remote <remote-name> Nome do remoto [default: origin].
23
- DOCOPT
14
+ runner_with :help do
15
+ desc 'Realiza push de repositórios grandes (Que falham com "pack exceeds maximum' \
16
+ ' allowed size")'
17
+ arg_opt '-C', '--repo-path', 'Caminho do repositório local' \
18
+ " [default: #{DEFAULT_REPO_PATH}]."
19
+ arg_opt '-r', '--remote', "Nome do remoto [default: #{DEFAULT_REMOTE}]."
20
+ pos_arg :source_ref
21
+ pos_arg :target_ref
22
+ end
24
23
 
25
24
  def run
26
25
  ::Avmtrf1::Git::PushLarge.new(
27
- ::File.expand_path(options.fetch('-C')),
28
- options.fetch('--remote'),
29
- options.fetch('<source-ref>'),
30
- options.fetch('<target-ref>')
26
+ ::File.expand_path(repo_path),
27
+ remote,
28
+ parsed.source_ref,
29
+ parsed.target_ref
31
30
  ).run
32
31
  end
32
+
33
+ private
34
+
35
+ def repo_path
36
+ parsed.repo_path || DEFAULT_REPO_PATH
37
+ end
38
+
39
+ def remote
40
+ parsed.remote || DEFAULT_REMOTE
41
+ end
33
42
  end
34
43
  end
35
44
  end