avmtrf1-tools 0.41.1 → 0.42.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -2
  3. data/exe/avmtrf1 +1 -1
  4. data/lib/avmtrf1/docker/image.rb +9 -9
  5. data/lib/avmtrf1/docker/image_runner.rb +1 -1
  6. data/lib/avmtrf1/esosti/entities/issue.rb +2 -2
  7. data/lib/avmtrf1/esosti/instance/changed.rb +1 -1
  8. data/lib/avmtrf1/esosti/session/solicitacao.rb +4 -4
  9. data/lib/avmtrf1/esosti/session.rb +1 -1
  10. data/lib/avmtrf1/executables.rb +1 -1
  11. data/lib/avmtrf1/forponto/parsers/espelho/methods_as_fields.rb +1 -1
  12. data/lib/avmtrf1/forponto/parsers/espelho/summary_node.rb +3 -3
  13. data/lib/avmtrf1/forponto/parsers/espelho/utils.rb +1 -1
  14. data/lib/avmtrf1/forponto/session/day_registers.rb +1 -1
  15. data/lib/avmtrf1/forponto/session.rb +1 -1
  16. data/lib/avmtrf1/forponto/user/balance.rb +4 -6
  17. data/lib/avmtrf1/forponto/user/day_registers.rb +2 -2
  18. data/lib/avmtrf1/forponto/user/month.rb +2 -2
  19. data/lib/avmtrf1/forponto/user.rb +1 -1
  20. data/lib/avmtrf1/git/cached_repository.rb +2 -2
  21. data/lib/avmtrf1/git/push_large/lfs_commit/helpers.rb +1 -1
  22. data/lib/avmtrf1/git/push_large/lfs_commit/push.rb +1 -1
  23. data/lib/avmtrf1/git/push_large/lfs_commit.rb +1 -1
  24. data/lib/avmtrf1/git/reference.rb +1 -1
  25. data/lib/avmtrf1/gitlab/repository.rb +2 -2
  26. data/lib/avmtrf1/ini/profile.rb +1 -1
  27. data/lib/avmtrf1/ini.rb +2 -2
  28. data/lib/avmtrf1/inventario_sistemas/parser/body_row.rb +1 -1
  29. data/lib/avmtrf1/inventario_sistemas/site_build/html_page_base/elements.rb +2 -2
  30. data/lib/avmtrf1/inventario_sistemas/site_build/html_page_base/layout.rb +21 -21
  31. data/lib/avmtrf1/inventario_sistemas/site_build/sistema.rb +2 -2
  32. data/lib/avmtrf1/inventario_sistemas/site_build.rb +3 -3
  33. data/lib/avmtrf1/jira/entities/issue.rb +2 -2
  34. data/lib/avmtrf1/jira/instance.rb +2 -2
  35. data/lib/avmtrf1/openvpn/config/builder.rb +1 -1
  36. data/lib/avmtrf1/openvpn/config/parser/builder.rb +1 -1
  37. data/lib/avmtrf1/openvpn/config/parser/simple.rb +1 -1
  38. data/lib/avmtrf1/oracle/connection/string_builder.rb +1 -2
  39. data/lib/avmtrf1/oracle/connection.rb +1 -1
  40. data/lib/avmtrf1/oracle/objects/sql_builder.rb +1 -1
  41. data/lib/avmtrf1/oracle/objects.rb +1 -1
  42. data/lib/avmtrf1/oracle/oci8.rb +2 -2
  43. data/lib/avmtrf1/oracle.rb +1 -1
  44. data/lib/avmtrf1/patches/avm/git/issue/complete.rb +3 -3
  45. data/lib/avmtrf1/patches/avm/git/issue.rb +1 -1
  46. data/lib/avmtrf1/patches/avm/git/launcher/base.rb +4 -4
  47. data/lib/avmtrf1/patches/avm/git/launcher.rb +1 -1
  48. data/lib/avmtrf1/patches/avm/git.rb +1 -1
  49. data/lib/avmtrf1/patches/avm.rb +1 -1
  50. data/lib/avmtrf1/patches.rb +1 -1
  51. data/lib/avmtrf1/php/docker_images/v5.rb +13 -13
  52. data/lib/avmtrf1/red/client.rb +1 -1
  53. data/lib/avmtrf1/redmine/instance.rb +1 -1
  54. data/lib/avmtrf1/rest_provider/request.rb +1 -1
  55. data/lib/avmtrf1/rest_provider/response.rb +1 -1
  56. data/lib/avmtrf1/result.rb +1 -1
  57. data/lib/avmtrf1/tools/msgraph/api/entity.rb +16 -3
  58. data/lib/avmtrf1/tools/msgraph/api/team/member_add.rb +36 -0
  59. data/lib/avmtrf1/tools/msgraph/api/team.rb +8 -1
  60. data/lib/avmtrf1/tools/msgraph/api.rb +2 -5
  61. data/lib/avmtrf1/tools/msgraph/error.rb +31 -0
  62. data/lib/avmtrf1/tools/msgraph/response_mixin.rb +5 -33
  63. data/lib/avmtrf1/tools/msgraph/token_retrieve.rb +2 -2
  64. data/lib/avmtrf1/{ruby/gems → tools/rubygems}/dependency.rb +4 -4
  65. data/lib/avmtrf1/{ruby/gems → tools/rubygems}/not_found_error.rb +4 -4
  66. data/lib/avmtrf1/{ruby/gems.rb → tools/rubygems.rb} +2 -2
  67. data/lib/avmtrf1/tools/runner/forponto/resumos.rb +2 -2
  68. data/lib/avmtrf1/tools/runner/forponto/saldo.rb +1 -1
  69. data/lib/avmtrf1/tools/runner/git/gitlab/commit_link.rb +3 -3
  70. data/lib/avmtrf1/tools/runner/git/gitlab.rb +2 -2
  71. data/lib/avmtrf1/tools/runner/git/issues_check.rb +1 -1
  72. data/lib/avmtrf1/tools/runner/git/push_large.rb +5 -5
  73. data/lib/avmtrf1/tools/runner/git.rb +2 -2
  74. data/lib/avmtrf1/tools/runner/msgraph/joined_teams.rb +10 -4
  75. data/lib/avmtrf1/tools/runner/msgraph/request.rb +1 -1
  76. data/lib/avmtrf1/tools/runner/msgraph/team/member/add.rb +48 -0
  77. data/lib/avmtrf1/tools/runner/msgraph/team/member.rb +25 -0
  78. data/lib/avmtrf1/tools/runner/msgraph/team/members.rb +11 -9
  79. data/lib/avmtrf1/tools/runner/openvpn.rb +2 -2
  80. data/lib/avmtrf1/tools/runner/oracle.rb +2 -2
  81. data/lib/avmtrf1/tools/runner/red.rb +4 -4
  82. data/lib/avmtrf1/tools/runner.rb +6 -5
  83. data/lib/avmtrf1/tools/version.rb +1 -1
  84. metadata +59 -22
  85. data/lib/avmtrf1/tools/msgraph/invalid_token_error.rb +0 -13
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- Dir["#{File.dirname(__FILE__)}/#{::File.basename(__FILE__, '.*')}/*.rb"].sort.each do |path|
3
+ Dir["#{File.dirname(__FILE__)}/#{File.basename(__FILE__, '.*')}/*.rb"].sort.each do |path|
4
4
  require path
5
5
  end
6
6
 
@@ -44,7 +44,7 @@ module Avmtrf1
44
44
  end
45
45
  end
46
46
 
47
- ::EacRubyUtils.patch(
48
- ::Avm::Git::Issue::Complete,
49
- ::Avmtrf1::Patches::Avm::Git::Issue::Complete
47
+ EacRubyUtils.patch(
48
+ Avm::Git::Issue::Complete,
49
+ Avmtrf1::Patches::Avm::Git::Issue::Complete
50
50
  )
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'eac_ruby_utils/require_sub'
4
- ::EacRubyUtils.require_sub(__FILE__)
4
+ EacRubyUtils.require_sub(__FILE__)
@@ -28,7 +28,7 @@ module Avmtrf1
28
28
 
29
29
  def parse_status_file(line)
30
30
  m = /\A(.)(.)\s*(\S.*)\z/.match(line.strip)
31
- return ::OpenStruct.new(stage: m[1], dirty: m[2], path: m[3]) if m
31
+ return ::OpenStruct.new(stage: m[1], dirty: m[2], path: m[3]) if m # rubocop:disable Style/OpenStructUse
32
32
 
33
33
  raise "\"#{line.strip}\" did not match pattern"
34
34
  end
@@ -40,7 +40,7 @@ module Avmtrf1
40
40
  end
41
41
  end
42
42
 
43
- ::EacRubyUtils.patch(
44
- ::Avm::Git::Launcher::Base,
45
- ::Avmtrf1::Patches::Avm::Git::Launcher::Base
43
+ EacRubyUtils.patch(
44
+ Avm::Git::Launcher::Base,
45
+ Avmtrf1::Patches::Avm::Git::Launcher::Base
46
46
  )
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'eac_ruby_utils/require_sub'
4
- ::EacRubyUtils.require_sub(__FILE__)
4
+ EacRubyUtils.require_sub(__FILE__)
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'eac_ruby_utils/require_sub'
4
- ::EacRubyUtils.require_sub(__FILE__)
4
+ EacRubyUtils.require_sub(__FILE__)
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'eac_ruby_utils/require_sub'
4
- ::EacRubyUtils.require_sub(__FILE__)
4
+ EacRubyUtils.require_sub(__FILE__)
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'eac_ruby_utils/require_sub'
4
- ::EacRubyUtils.require_sub(__FILE__)
4
+ EacRubyUtils.require_sub(__FILE__)
@@ -8,20 +8,20 @@ module Avmtrf1
8
8
  module DockerImages
9
9
  class V5 < ::Avmtrf1::Php::DockerImages::Base
10
10
  MCRYPT_INSTALL = <<~CODE
11
- RUN docker-php-ext-install mcrypt
11
+ RUN docker-php-ext-install mcrypt
12
+ CODE
13
+ XDEBUG_INSTALL = <<~CODE
14
+ RUN apt-get install -y git
15
+ RUN cd /tmp && \
16
+ git clone https://github.com/xdebug/xdebug.git && \
17
+ cd xdebug && \
18
+ git checkout XDEBUG_2_5_5 && \
19
+ phpize && \
20
+ ./configure --enable-xdebug && \
21
+ make && \
22
+ make install && \
23
+ rm -rf /tmp/xdebug
12
24
  CODE
13
- XDEBUG_INSTALL = <<CODE
14
- RUN apt-get install -y git
15
- RUN cd /tmp && \
16
- git clone https://github.com/xdebug/xdebug.git && \
17
- cd xdebug && \
18
- git checkout XDEBUG_2_5_5 && \
19
- phpize && \
20
- ./configure --enable-xdebug && \
21
- make && \
22
- make install && \
23
- rm -rf /tmp/xdebug
24
- CODE
25
25
 
26
26
  # @return [String]
27
27
  def apt_setup
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'avmtrf1/red/server'
4
4
  require 'avmtrf1/red/helper'
5
- require 'pp'
5
+ require 'pp' # rubocop:disable Lint/RedundantRequireStatement
6
6
  require 'tempfile'
7
7
 
8
8
  module Avmtrf1
@@ -12,7 +12,7 @@ module Avmtrf1
12
12
  class << self
13
13
  def parse_issue_id(issue_id)
14
14
  m = ISSUE_ID_PATTERN.match(issue_id)
15
- m ? ::OpenStruct.new(provider_issue_id: m[1]) : nil
15
+ m ? ::OpenStruct.new(provider_issue_id: m[1]) : nil # rubocop:disable Style/OpenStructUse
16
16
  end
17
17
  end
18
18
 
@@ -10,7 +10,7 @@ module Avmtrf1
10
10
  common_constructor :url, :body_data_proc, default: [nil]
11
11
 
12
12
  def autenticate(username, password)
13
- self.auth = ::OpenStruct.new(username: username, password: password)
13
+ self.auth = ::OpenStruct.new(username: username, password: password) # rubocop:disable Style/OpenStructUse
14
14
  end
15
15
 
16
16
  def header(name, value)
@@ -31,7 +31,7 @@ module Avmtrf1
31
31
  body_str
32
32
  end
33
33
 
34
- def raise_unless_200
34
+ def raise_unless_200 # rubocop:disable Naming/VariableNumber
35
35
  return nil if status == 200
36
36
 
37
37
  raise self
@@ -10,7 +10,7 @@ module Avmtrf1
10
10
  lists.add_string :type, :success, :error, :neutral
11
11
 
12
12
  lists.type.values.each do |type| # rubocop:disable Style/HashEachMethods
13
- class_eval <<-RUBY_EVAL, __FILE__, __LINE__ + 1
13
+ class_eval <<-RUBY_EVAL, __FILE__, __LINE__ + 1 # rubocop:disable Style/DocumentDynamicEvalDefinition
14
14
  def self.#{type}(output)
15
15
  new(TYPE_#{type.upcase}, output)
16
16
  end
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'avmtrf1/tools/msgraph/request_mixin'
3
4
  require 'eac_rest/entity'
4
5
  require 'eac_ruby_utils/core_ext'
5
6
 
@@ -8,13 +9,25 @@ module Avmtrf1
8
9
  module Msgraph
9
10
  class Api < ::EacRest::Api
10
11
  class Entity < ::EacRest::Entity
11
- def request_data(url_suffix)
12
- req = api.request(url_suffix)
12
+ def request_data(url_suffix, &block)
13
+ req = request_data_request(url_suffix, &block)
13
14
  req.response.body_data_or_raise
14
- rescue ::Avmtrf1::Tools::Msgraph::InvalidTokenError
15
+ rescue ::Avmtrf1::Tools::Msgraph::Error => e
16
+ raise e unless e.invalid_token?
17
+
15
18
  api.clear_token_info
16
19
  req.response.body_data_or_raise
17
20
  end
21
+
22
+ private
23
+
24
+ # @return [EacRest::Request]
25
+ def request_data_request(url_suffix, &block)
26
+ req = api.request(url_suffix)
27
+ req = block.call(req) if block
28
+ req.singleton_class.prepend(::Avmtrf1::Tools::Msgraph::RequestMixin)
29
+ req
30
+ end
18
31
  end
19
32
  end
20
33
  end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avmtrf1/tools/msgraph/api/entity'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avmtrf1
7
+ module Tools
8
+ module Msgraph
9
+ class Api < ::EacRest::Api
10
+ class Team < ::Avmtrf1::Tools::Msgraph::Api::Entity
11
+ class MemberAdd
12
+ acts_as_instance_method
13
+
14
+ common_constructor :team, :user_id
15
+
16
+ # @return [Hash]
17
+ def result
18
+ team.members_request do |req|
19
+ req.verb(:post).header('Content-type', 'application/json')
20
+ .body_data(body_hash.to_json)
21
+ end
22
+ end
23
+
24
+ # @return [Hash]
25
+ def body_hash
26
+ {
27
+ '@odata.type' => '#microsoft.graph.aadUserConversationMember',
28
+ 'user@odata.bind' => "https://graph.microsoft.com/v1.0/users('#{user_id}')"
29
+ }
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -21,10 +21,17 @@ module Avmtrf1
21
21
  end
22
22
 
23
23
  def members
24
- request_data("/teams/#{id}/members").map do |member_data|
24
+ members_request.map do |member_data|
25
25
  child_entity(::Avmtrf1::Tools::Msgraph::Api::Member, member_data)
26
26
  end
27
27
  end
28
+
29
+ # @return [EacRest::Request]
30
+ def members_request(&block)
31
+ request_data("/teams/#{id}/members", &block)
32
+ end
33
+
34
+ require_sub __FILE__, require_mode: :kernel
28
35
  end
29
36
  end
30
37
  end
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'avmtrf1/tools/msgraph/request_mixin'
4
3
  require 'eac_rest/api'
5
4
  require 'eac_ruby_utils/core_ext'
6
5
 
@@ -26,10 +25,8 @@ module Avmtrf1
26
25
 
27
26
  # @return [EacRest::Request]
28
27
  def request(service_url_suffix, headers = {}, &body_data_proc)
29
- r = super(service_url_suffix, headers, &body_data_proc)
30
- .header('Authorization', "Bearer #{access_token}")
31
- r.singleton_class.prepend(::Avmtrf1::Tools::Msgraph::RequestMixin)
32
- r
28
+ super(service_url_suffix, headers, &body_data_proc)
29
+ .header('Authorization', "Bearer #{access_token}")
33
30
  end
34
31
 
35
32
  def fs_object_id
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_rest/error'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avmtrf1
7
+ module Tools
8
+ module Msgraph
9
+ class Error < ::EacRest::Error
10
+ INVALID_TOKEN_CODE = 'InvalidAuthenticationToken'
11
+
12
+ attr_reader :data
13
+
14
+ def initialize(data)
15
+ @data = data
16
+ super(data.pretty_inspect)
17
+ end
18
+
19
+ # @return [String]
20
+ def code
21
+ data.fetch('code')
22
+ end
23
+
24
+ # @return [Boolean]
25
+ def invalid_token?
26
+ code == INVALID_TOKEN_CODE
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'avmtrf1/tools/msgraph/invalid_token_error'
3
+ require 'eac_rest/response'
4
+ require 'avmtrf1/tools/msgraph/error'
4
5
  require 'eac_ruby_utils/core_ext'
5
6
 
6
7
  module Avmtrf1
@@ -8,42 +9,13 @@ module Avmtrf1
8
9
  module Msgraph
9
10
  module ResponseMixin
10
11
  ERROR_KEY = 'error'
11
- INVALID_TOKEN_CODE = 'InvalidAuthenticationToken'
12
12
  VALUE_KEY = 'value'
13
13
 
14
14
  def body_data_or_raise
15
- check_invalid_token
16
15
  r = super
17
- return r unless r.is_a?(::Hash)
18
-
19
- body_hash_or_raise(r)
20
- end
21
-
22
- # @return [String, nil]
23
- def error_code
24
- return false unless body_data.is_a?(::Hash)
25
- return false unless body_data.key?(ERROR_KEY)
26
-
27
- body_data.fetch(ERROR_KEY).fetch('code')
28
- end
29
-
30
- protected
31
-
32
- def body_hash_or_raise(result_data)
33
- return result_data.fetch(VALUE_KEY) if result_data.key?(VALUE_KEY)
34
- return raise_error_from_hash(result_data.fetch(ERROR_KEY)) if result_data.key?(ERROR_KEY)
35
-
36
- nbr
37
- end
38
-
39
- def check_invalid_token
40
- return unless error_code == INVALID_TOKEN_CODE
41
-
42
- raise ::Avmtrf1::Tools::Msgraph::InvalidTokenError
43
- end
44
-
45
- def raise_error_from_hash(error_hash)
46
- raise ::EacRest::Error, error_hash.pretty_inspect
16
+ r.is_a?(::Hash) && r.key?(VALUE_KEY) ? r.fetch(VALUE_KEY) : r
17
+ rescue ::EacRest::Response => e
18
+ raise ::Avmtrf1::Tools::Msgraph::Error, e.body_data.fetch(ERROR_KEY)
47
19
  end
48
20
  end
49
21
  end
@@ -26,8 +26,8 @@ module Avmtrf1
26
26
  # @return [String]
27
27
  def result_string
28
28
  ::EacRubyUtils::Fs::Temp.on_file do |file|
29
- raise ::RuntimeError, result.pretty_inspect unless python_retrieve_command(file.to_path)
30
- .system
29
+ raise result.pretty_inspect.to_s unless python_retrieve_command(file.to_path)
30
+ .system
31
31
 
32
32
  file.read
33
33
  end
@@ -1,18 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'eac_ruby_utils/core_ext'
4
- require 'avmtrf1/ruby/gems/not_found_error'
4
+ require 'avmtrf1/tools/rubygems/not_found_error'
5
5
 
6
6
  module Avmtrf1
7
- module Ruby
8
- module Gems
7
+ module Tools
8
+ module Rubygems
9
9
  class Dependency
10
10
  common_constructor :gem_name, :lib_name
11
11
 
12
12
  def require_lib
13
13
  require lib_name
14
14
  rescue LoadError
15
- raise ::Avmtrf1::Ruby::Gems::NotFoundError, self
15
+ raise ::Avmtrf1::Tools::Rubygems::NotFoundError, self
16
16
  end
17
17
  end
18
18
  end
@@ -1,15 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Avmtrf1
4
- module Ruby
5
- module Gems
4
+ module Tools
5
+ module Rubygems
6
6
  class NotFoundError < ::StandardError
7
7
  attr_reader :dependency
8
8
 
9
9
  def initialize(dependency)
10
10
  @dependency = dependency
11
- super("Gem \"#{dependency.gem_name}\" not found" \
12
- " (Library required: \"#{dependency.lib_name}\")")
11
+ super("Gem \"#{dependency.gem_name}\" not found " \
12
+ "(Library required: \"#{dependency.lib_name}\")")
13
13
  end
14
14
  end
15
15
  end
@@ -3,8 +3,8 @@
3
3
  require 'eac_ruby_utils/core_ext'
4
4
 
5
5
  module Avmtrf1
6
- module Ruby
7
- module Gems
6
+ module Tools
7
+ module Rubygems
8
8
  require_sub __FILE__
9
9
  end
10
10
  end
@@ -18,7 +18,7 @@ module Avmtrf1
18
18
  end
19
19
 
20
20
  def head_month
21
- today = ::Date.today
21
+ today = ::Date.today # rubocop:disable Rails/Date
22
22
  date = ::Date.civil(today.year, today.month, 1)
23
23
  runner_context.call(:user).month(date.year, date.month)
24
24
  end
@@ -37,7 +37,7 @@ module Avmtrf1
37
37
 
38
38
  def show_month_summaries(month)
39
39
  month.os_data.summaries.each do |s|
40
- infov ' * ' + summary_to_label(s), summary_to_value(s)
40
+ infov ' * ' + summary_to_label(s), summary_to_value(s) # rubocop:disable Style/StringConcatenation
41
41
  end
42
42
  end
43
43
 
@@ -58,7 +58,7 @@ module Avmtrf1
58
58
  end
59
59
 
60
60
  def show_month_end_resume(mba)
61
- infov ' * Left', minutes_to_s(mba.left) + ' ' + left_status(mba)
61
+ infov ' * Left', minutes_to_s(mba.left) + ' ' + left_status(mba) # rubocop:disable Style/StringConcatenation
62
62
  infov ' * After trigger', minutes_to_s(mba.after_trigger)
63
63
  infov ' * After trigger acum.', minutes_to_s(mba.after_trigger_acum)
64
64
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'avm/tools/runner/git'
3
+ require 'avm/git/runners/base'
4
4
  require 'avmtrf1/tools/core_ext'
5
5
  require 'avmtrf1/gitlab/commit'
6
6
  require 'avmtrf1/gitlab/repository'
@@ -8,7 +8,7 @@ require 'avmtrf1/gitlab/repository'
8
8
  module Avmtrf1
9
9
  module Tools
10
10
  class Runner
11
- class Git < ::Avm::Tools::Runner::Git
11
+ class Git < ::Avm::Git::Runners::Base
12
12
  class Gitlab
13
13
  class CommitLink
14
14
  runner_with :help, :output do
@@ -60,7 +60,7 @@ module Avmtrf1
60
60
  end
61
61
 
62
62
  def output_content
63
- commits.map { |c| commit_output(c) + "\n" }.join
63
+ commits.map { |c| commit_output(c) + "\n" }.join # rubocop:disable Style/StringConcatenation
64
64
  end
65
65
 
66
66
  def repository_banner
@@ -1,12 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'avm/tools/runner/git'
3
+ require 'avm/git/runners/base'
4
4
  require 'avmtrf1/tools/core_ext'
5
5
 
6
6
  module Avmtrf1
7
7
  module Tools
8
8
  class Runner
9
- class Git < ::Avm::Tools::Runner::Git
9
+ class Git < ::Avm::Git::Runners::Base
10
10
  class Gitlab
11
11
  require_sub __FILE__
12
12
  runner_with :help, :subcommands do
@@ -6,7 +6,7 @@ require 'avmtrf1/git/cached_repository'
6
6
  module Avmtrf1
7
7
  module Tools
8
8
  class Runner
9
- class Git < ::Avm::Tools::Runner::Git
9
+ class Git < ::Avm::Git::Runners::Base
10
10
  class IssuesCheck
11
11
  runner_with :help do
12
12
  desc 'Confronta situação das demandas no Git com a situação nos trackers.'
@@ -6,16 +6,16 @@ require 'avmtrf1/git/push_large'
6
6
  module Avmtrf1
7
7
  module Tools
8
8
  class Runner
9
- class Git < ::Avm::Tools::Runner::Git
9
+ class Git < ::Avm::Git::Runners::Base
10
10
  class PushLarge
11
11
  DEFAULT_REPO_PATH = '.'
12
12
  DEFAULT_REMOTE = 'origin'
13
13
 
14
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}]."
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
19
  arg_opt '-r', '--remote', "Nome do remoto [default: #{DEFAULT_REMOTE}]."
20
20
  pos_arg :source_ref
21
21
  pos_arg :target_ref
@@ -1,12 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'avm/tools/runner/git'
3
+ require 'avm/git/runners/base'
4
4
  require 'avmtrf1/tools/core_ext'
5
5
 
6
6
  module Avmtrf1
7
7
  module Tools
8
8
  class Runner
9
- class Git < ::Avm::Tools::Runner::Git
9
+ class Git < ::Avm::Git::Runners::Base
10
10
  require_sub __FILE__
11
11
  end
12
12
  end
@@ -8,7 +8,9 @@ module Avmtrf1
8
8
  class Runner
9
9
  class Msgraph
10
10
  class JoinedTeams
11
- runner_with :help, :output do
11
+ LIST_COLUMNS = %w[id display_name].freeze
12
+
13
+ runner_with :help, :output_list do
12
14
  desc 'Lista as próprias equipes no MS Teams.'
13
15
  end
14
16
 
@@ -17,12 +19,16 @@ module Avmtrf1
17
19
  run_output
18
20
  end
19
21
 
20
- private
22
+ def list_columns
23
+ LIST_COLUMNS
24
+ end
21
25
 
22
- def output_content
23
- teams.map { |t| "#{t.id}|#{t.display_name}\n" }.join
26
+ def list_rows
27
+ teams
24
28
  end
25
29
 
30
+ private
31
+
26
32
  def teams_uncached
27
33
  api.root_entity.joined_teams.sort_by { |t| [t.display_name, t.id] }
28
34
  end
@@ -28,7 +28,7 @@ module Avmtrf1
28
28
  infov 'Response status', response.status
29
29
  infov 'Response body class', response.body_data.class
30
30
  infov 'Response body', '*'
31
- out response.body_data.to_yaml + "\n"
31
+ out response.body_data.to_yaml + "\n" # rubocop:disable Style/StringConcatenation
32
32
  end
33
33
 
34
34
  def request_uncached
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avmtrf1/tools/core_ext'
4
+ require 'avmtrf1/tools/msgraph/error'
5
+
6
+ module Avmtrf1
7
+ module Tools
8
+ class Runner
9
+ class Msgraph
10
+ class Team
11
+ class Member
12
+ class Add
13
+ runner_with :help, :output_item
14
+
15
+ def run
16
+ start_banner
17
+ add_member
18
+ run_output
19
+ fatal_error error.code if error.present?
20
+ end
21
+
22
+ private
23
+
24
+ attr_accessor :error, :result_data
25
+
26
+ def add_member
27
+ self.error = nil
28
+ self.result_data = team.member_add(member_id)
29
+ rescue ::Avmtrf1::Tools::Msgraph::Error => e
30
+ self.error = e
31
+ self.result_data = error.data
32
+ end
33
+
34
+ def start_banner
35
+ infov 'Team', team.id
36
+ infov 'Member ID', member_id
37
+ end
38
+
39
+ def item_hash
40
+ result_data
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end