avmtrf1-tools 0.33.0 → 0.34.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/lib/avmtrf1/active_directory/user.rb +3 -3
  3. data/lib/avmtrf1/core_ext.rb +4 -0
  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/cached_repository.rb +2 -2
  9. data/lib/avmtrf1/git/issue_on_repository.rb +2 -2
  10. data/lib/avmtrf1/git/push_large/lfs_commit/cache.rb +19 -0
  11. data/lib/avmtrf1/git/push_large/lfs_commit/checkout_previous_revision.rb +35 -0
  12. data/lib/avmtrf1/git/push_large/lfs_commit/commit_changes.rb +48 -0
  13. data/lib/avmtrf1/git/push_large/lfs_commit/helpers.rb +29 -0
  14. data/lib/avmtrf1/git/push_large/lfs_commit/pick_source_revision.rb +103 -0
  15. data/lib/avmtrf1/git/push_large/lfs_commit/push.rb +90 -0
  16. data/lib/avmtrf1/git/push_large/lfs_commit/track_large_files.rb +53 -0
  17. data/lib/avmtrf1/git/push_large/lfs_commit.rb +5 -10
  18. data/lib/avmtrf1/git/push_large/source_commit/push.rb +42 -0
  19. data/lib/avmtrf1/git/push_large/source_commit.rb +4 -7
  20. data/lib/avmtrf1/git/push_large.rb +6 -6
  21. data/lib/avmtrf1/inventario_sistemas/site_build/html_page_base.rb +1 -1
  22. data/lib/avmtrf1/node_js/docker_image.rb +10 -0
  23. data/lib/avmtrf1/node_js.rb +9 -0
  24. data/lib/avmtrf1/patches/avm/git/issue.rb +4 -0
  25. data/lib/avmtrf1/patches/avm/git.rb +4 -0
  26. data/lib/avmtrf1/patches/avm/launcher/git/base.rb +46 -0
  27. data/lib/avmtrf1/patches/avm/launcher/git.rb +4 -0
  28. data/lib/avmtrf1/patches/avm/launcher.rb +4 -0
  29. data/lib/avmtrf1/patches/avm.rb +4 -0
  30. data/lib/avmtrf1/patches.rb +3 -0
  31. data/lib/avmtrf1/php/docker_image.rb +2 -19
  32. data/lib/avmtrf1/red/helper.rb +2 -2
  33. data/lib/avmtrf1/template.rb +2 -2
  34. data/lib/avmtrf1/tools/runner/check_point/login.rb +6 -19
  35. data/lib/avmtrf1/tools/runner/check_point.rb +7 -13
  36. data/lib/avmtrf1/tools/runner/esosti/changed.rb +9 -22
  37. data/lib/avmtrf1/tools/runner/esosti/fetch.rb +9 -22
  38. data/lib/avmtrf1/tools/runner/esosti/request.rb +17 -29
  39. data/lib/avmtrf1/tools/runner/esosti.rb +8 -20
  40. data/lib/avmtrf1/tools/runner/forponto/espelho.rb +11 -21
  41. data/lib/avmtrf1/tools/runner/forponto/marcacoes.rb +7 -18
  42. data/lib/avmtrf1/tools/runner/forponto/resumos.rb +7 -19
  43. data/lib/avmtrf1/tools/runner/forponto/saldo.rb +10 -21
  44. data/lib/avmtrf1/tools/runner/forponto.rb +13 -23
  45. data/lib/avmtrf1/tools/runner/git/issues_check.rb +7 -18
  46. data/lib/avmtrf1/tools/runner/git/push_large.rb +27 -18
  47. data/lib/avmtrf1/tools/runner/git.rb +2 -4
  48. data/lib/avmtrf1/tools/runner/node_js/docker.rb +15 -0
  49. data/lib/avmtrf1/tools/runner/node_js.rb +18 -0
  50. data/lib/avmtrf1/tools/runner/oracle/query.rb +9 -13
  51. data/lib/avmtrf1/tools/runner/oracle/source_get.rb +17 -18
  52. data/lib/avmtrf1/tools/runner/oracle/user_clear.rb +7 -15
  53. data/lib/avmtrf1/tools/runner/oracle.rb +15 -22
  54. data/lib/avmtrf1/tools/runner/php/docker.rb +3 -60
  55. data/lib/avmtrf1/tools/runner/red.rb +21 -25
  56. data/lib/avmtrf1/tools/runner/trf1_dspace_base0/deploy.rb +1 -1
  57. data/lib/avmtrf1/tools/runner/trf1_dspace_base0.rb +9 -18
  58. data/lib/avmtrf1/tools/runner.rb +5 -2
  59. data/lib/avmtrf1/tools/version.rb +1 -1
  60. data/template/avmtrf1/node_js/docker_image/Dockerfile.template +11 -0
  61. data/template/avmtrf1/node_js/docker_image/auxiliary/config_banner.sh +15 -0
  62. data/template/avmtrf1/node_js/docker_image/auxiliary/init.sh +17 -0
  63. data/template/avmtrf1/node_js/docker_image/auxiliary/lib.sh +30 -0
  64. data/template/avmtrf1/node_js/docker_image/auxiliary/ng_serve.sh +16 -0
  65. data/template/avmtrf1/node_js/docker_image/auxiliary/npm_install.sh +21 -0
  66. data/template/avmtrf1/node_js/docker_image/auxiliary/start.sh +17 -0
  67. data/template/avmtrf1/php/docker_image/Dockerfile.template +1 -1
  68. metadata +36 -102
  69. data/lib/avmtrf1/configs.rb +0 -24
  70. data/lib/avmtrf1/fs_cache.rb +0 -11
  71. data/lib/avmtrf1/git/push_large/lfs_commit/_00_checkout_previous_revision.rb +0 -33
  72. data/lib/avmtrf1/git/push_large/lfs_commit/_01_cherry_pick_source_revision.rb +0 -89
  73. data/lib/avmtrf1/git/push_large/lfs_commit/_02_track_large_files.rb +0 -51
  74. data/lib/avmtrf1/git/push_large/lfs_commit/_03_commit_changes.rb +0 -46
  75. data/lib/avmtrf1/git/push_large/lfs_commit/_04_push.rb +0 -88
  76. data/lib/avmtrf1/git/push_large/lfs_commit/_cache.rb +0 -17
  77. data/lib/avmtrf1/git/push_large/lfs_commit/_helpers.rb +0 -27
  78. data/lib/avmtrf1/git/push_large/source_commit/_push.rb +0 -40
  79. data/lib/avmtrf1/patches/eac_launcher/git/base.rb +0 -43
@@ -2,23 +2,23 @@
2
2
 
3
3
  require 'ostruct'
4
4
 
5
- require 'eac_ruby_utils/console/speaker'
5
+ require 'eac_ruby_utils/patches/module/speaker'
6
6
  require 'eac_ruby_utils/require_sub'
7
7
  require 'eac_ruby_utils/simple_cache'
8
- require 'avmtrf1/patches/eac_launcher/git/base'
8
+ require 'avmtrf1/patches/avm/launcher/git/base'
9
9
 
10
10
  module Avmtrf1
11
11
  module Git
12
12
  class PushLarge
13
13
  include ::EacRubyUtils::SimpleCache
14
- include ::EacRubyUtils::Console::Speaker
14
+ enable_speaker
15
15
 
16
16
  ::EacRubyUtils.require_sub(__FILE__)
17
17
 
18
18
  attr_reader :git, :remote_name, :source_ref, :target_ref, :last_pushed_revision
19
19
 
20
20
  def initialize(git_local_path, remote_name, source_ref, target_ref)
21
- @git = ::EacLauncher::Git::Base.new(git_local_path)
21
+ @git = ::Avm::Launcher::Git::Base.new(git_local_path)
22
22
  @remote_name = remote_name
23
23
  @source_ref = source_ref
24
24
  @target_ref = target_ref
@@ -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
@@ -7,7 +7,7 @@ module Avmtrf1
7
7
  class SiteBuild
8
8
  class HtmlPageBase
9
9
  require_sub __FILE__, include_modules: true
10
- enable_console_speaker
10
+ enable_speaker
11
11
  common_constructor :site, :parent
12
12
 
13
13
  SITE_TITLE = 'Inventário de Sistemas'
@@ -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
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/require_sub'
4
+ ::EacRubyUtils.require_sub(__FILE__)
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/require_sub'
4
+ ::EacRubyUtils.require_sub(__FILE__)
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/launcher/git/base'
4
+ require 'eac_ruby_utils/patch'
5
+ require 'active_support/concern'
6
+
7
+ module Avmtrf1
8
+ module Patches
9
+ module Avm
10
+ module Launcher
11
+ module Git
12
+ module Base
13
+ extend ActiveSupport::Concern
14
+
15
+ included do
16
+ include InstanceMethods
17
+ end
18
+
19
+ module InstanceMethods
20
+ def status_files
21
+ execute!('-c', 'core.quotepath=off', 'status', '--porcelain')
22
+ .each_line.map do |line|
23
+ parse_status_file(line)
24
+ end
25
+ end
26
+
27
+ private
28
+
29
+ def parse_status_file(line)
30
+ m = /\A(.)(.)\s*(\S.*)\z/.match(line.strip)
31
+ return ::OpenStruct.new(stage: m[1], dirty: m[2], path: m[3]) if m
32
+
33
+ raise "\"#{line.strip}\" did not match pattern"
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+
43
+ ::EacRubyUtils.patch(
44
+ ::Avm::Launcher::Git::Base,
45
+ ::Avmtrf1::Patches::Avm::Launcher::Git::Base
46
+ )
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/require_sub'
4
+ ::EacRubyUtils.require_sub(__FILE__)
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/require_sub'
4
+ ::EacRubyUtils.require_sub(__FILE__)
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/require_sub'
4
+ ::EacRubyUtils.require_sub(__FILE__)
@@ -1 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
3
+ require 'eac_ruby_utils/require_sub'
4
+ ::EacRubyUtils.require_sub(__FILE__)
@@ -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
@@ -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__)
@@ -1,29 +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'
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 < ::EacRubyUtils::Console::DocoptRunner
13
- class Login < ::EacRubyUtils::Console::DocoptRunner
14
- include ::EacRubyUtils::SimpleCache
15
- include ::EacRubyUtils::Console::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_ruby_utils/console/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 < ::EacRubyUtils::Console::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_ruby_utils/console/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 < ::EacRubyUtils::Console::DocoptRunner
13
- class Changed < ::EacRubyUtils::Console::DocoptRunner
14
- enable_console_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_ruby_utils/console/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 < ::EacRubyUtils::Console::DocoptRunner
13
- class Fetch < ::EacRubyUtils::Console::DocoptRunner
14
- enable_console_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_ruby_utils/console/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 < ::EacRubyUtils::Console::DocoptRunner
13
- class Request < ::EacRubyUtils::Console::DocoptRunner
14
- enable_console_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_ruby_utils/console/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 < ::EacRubyUtils::Console::DocoptRunner
9
+ class Esosti
13
10
  require_sub __FILE__
14
- enable_console_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
@@ -1,27 +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
 
7
5
  module Avmtrf1
8
6
  module Tools
9
7
  class Runner
10
- class Forponto < ::EacRubyUtils::Console::DocoptRunner
11
- class Espelho < ::EacRubyUtils::Console::DocoptRunner
12
- include ::EacRubyUtils::SimpleCache
13
- include ::EacRubyUtils::Console::Speaker
14
-
15
- DOC = <<~DOCOPT
16
- Recupera e trata dados do Forponto.
17
-
18
- Usage:
19
- __PROGRAM__ [options] <year> <month>
20
- __PROGRAM__ -h | --help
21
-
22
- Options:
23
- -h --help Show this screen.
24
- DOCOPT
8
+ class Forponto
9
+ class Espelho
10
+ runner_with :help do
11
+ desc 'Recupera e trata dados do Forponto.'
12
+ pos_arg :year
13
+ pos_arg :month
14
+ end
25
15
 
26
16
  def run
27
17
  infov 'Start date', user_month.start_date
@@ -36,15 +26,15 @@ module Avmtrf1
36
26
  end
37
27
 
38
28
  def user_month_uncached
39
- context(:user).month(year, month)
29
+ runner_context.call(:user).month(year, month)
40
30
  end
41
31
 
42
32
  def year
43
- options.fetch('<year>').to_i
33
+ parsed.year.to_i
44
34
  end
45
35
 
46
36
  def month
47
- options.fetch('<month>').to_i
37
+ parsed.month.to_i
48
38
  end
49
39
 
50
40
  def date(day)
@@ -1,27 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'avmtrf1/forponto/user/day_registers'
4
- require 'eac_ruby_utils/console/docopt_runner'
5
- require 'eac_ruby_utils/core_ext'
4
+ require 'avmtrf1/core_ext'
6
5
 
7
6
  module Avmtrf1
8
7
  module Tools
9
8
  class Runner
10
- class Forponto < ::EacRubyUtils::Console::DocoptRunner
11
- class Marcacoes < ::EacRubyUtils::Console::DocoptRunner
12
- enable_console_speaker
13
- enable_simple_cache
14
-
15
- DOC = <<~DOCOPT
16
- Mostra marcações Forponto do dia.
17
-
18
- Usage:
19
- __PROGRAM__ [options]
20
- __PROGRAM__ -h | --help
21
-
22
- Options:
23
- -h --help Show this screen.
24
- DOCOPT
9
+ class Forponto
10
+ class Marcacoes
11
+ runner_with :help do
12
+ desc 'Mostra marcações Forponto do dia.'
13
+ end
25
14
 
26
15
  def run
27
16
  infov 'Date', day_registers.date
@@ -34,7 +23,7 @@ module Avmtrf1
34
23
  private
35
24
 
36
25
  def day_registers_uncached
37
- ::Avmtrf1::Forponto::User::DayRegisters.new(context(:user))
26
+ ::Avmtrf1::Forponto::User::DayRegisters.new(runner_context.call(:user))
38
27
  end
39
28
  end
40
29
  end
@@ -1,27 +1,15 @@
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
 
7
5
  module Avmtrf1
8
6
  module Tools
9
7
  class Runner
10
- class Forponto < ::EacRubyUtils::Console::DocoptRunner
11
- class Resumos < ::EacRubyUtils::Console::DocoptRunner
12
- include ::EacRubyUtils::SimpleCache
13
- include ::EacRubyUtils::Console::Speaker
14
-
15
- DOC = <<~DOCOPT
16
- Mostra os resumos.
17
-
18
- Usage:
19
- __PROGRAM__ [options]
20
- __PROGRAM__ -h | --help
21
-
22
- Options:
23
- -h --help Show this screen.
24
- DOCOPT
8
+ class Forponto
9
+ class Resumos
10
+ runner_with :help do
11
+ desc 'Mostra os resumos.'
12
+ end
25
13
 
26
14
  def run
27
15
  sorted_months.each do |month|
@@ -32,7 +20,7 @@ module Avmtrf1
32
20
  def head_month
33
21
  today = ::Date.today
34
22
  date = ::Date.civil(today.year, today.month, 1)
35
- context(:user).month(date.year, date.month)
23
+ runner_context.call(:user).month(date.year, date.month)
36
24
  end
37
25
 
38
26
  def show_month(month)