takelage 0.21.0 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -1
  3. data/lib/takelage.rb +4 -13
  4. data/lib/takelage/bit/clipboard/cli.rb +1 -1
  5. data/lib/takelage/bit/clipboard/copy.rb +1 -1
  6. data/lib/takelage/bit/clipboard/lib.rb +20 -8
  7. data/lib/takelage/bit/clipboard/paste.rb +1 -1
  8. data/lib/takelage/bit/clipboard/pull.rb +1 -3
  9. data/lib/takelage/bit/clipboard/push.rb +1 -3
  10. data/lib/takelage/bit/require/cli.rb +1 -1
  11. data/lib/takelage/bit/require/import.rb +1 -1
  12. data/lib/takelage/bit/scope/add.rb +2 -2
  13. data/lib/takelage/bit/scope/cli.rb +1 -1
  14. data/lib/takelage/default.yml +8 -6
  15. data/lib/takelage/docker/container/cli.rb +3 -4
  16. data/lib/takelage/docker/container/lib.rb +1 -1
  17. data/lib/takelage/docker/container/login.rb +0 -13
  18. data/lib/takelage/docker/image/cli.rb +0 -5
  19. data/lib/takelage/docker/image/tag/check.rb +42 -0
  20. data/lib/takelage/docker/image/tag/cli.rb +59 -6
  21. data/lib/takelage/docker/image/tag/latest.rb +20 -0
  22. data/lib/takelage/docker/image/tag/list.rb +19 -0
  23. data/lib/takelage/docker/image/update.rb +3 -9
  24. data/lib/takelage/docker/socket/host.rb +14 -5
  25. data/lib/takelage/git/check/cli.rb +7 -7
  26. data/lib/takelage/git/check/main.rb +26 -0
  27. data/lib/takelage/info/project/cli.rb +13 -0
  28. data/lib/takelage/lib/logging.rb +1 -1
  29. data/lib/takelage/lib/project.rb +8 -5
  30. data/lib/takelage/lib/subcmd.rb +2 -0
  31. data/lib/takelage/version +1 -1
  32. metadata +5 -13
  33. data/lib/takelage/docker/image/check/cli.rb +0 -39
  34. data/lib/takelage/docker/image/check/outdated.rb +0 -40
  35. data/lib/takelage/docker/image/tag/check/cli.rb +0 -48
  36. data/lib/takelage/docker/image/tag/check/local.rb +0 -42
  37. data/lib/takelage/docker/image/tag/check/remote.rb +0 -38
  38. data/lib/takelage/docker/image/tag/latest/cli.rb +0 -57
  39. data/lib/takelage/docker/image/tag/latest/local.rb +0 -20
  40. data/lib/takelage/docker/image/tag/latest/remote.rb +0 -25
  41. data/lib/takelage/docker/image/tag/list/cli.rb +0 -53
  42. data/lib/takelage/docker/image/tag/list/local.rb +0 -19
  43. data/lib/takelage/docker/image/tag/list/remote.rb +0 -28
  44. data/lib/takelage/git/check/master.rb +0 -26
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: eb34019e556b714fcd893cf3141e23a1fbf63aad8bb695e2b205cfffb657a2ee
4
- data.tar.gz: a0a2b8c6b6987f52057042ef410b2a94fb5628d519aa9f3c7ede9d4831d04a0d
3
+ metadata.gz: be86ab05e3007ca479cf08765723c1dd3f28c229a78de2be07618a7e30278577
4
+ data.tar.gz: 03037ef870580fa492323163cfb1754a1059329d6cb5ed1d384bfe7a690be21e
5
5
  SHA512:
6
- metadata.gz: 0ef2f83567050eaf5578f793417ca4f65de20ce9d1409bef4503793a58b0ba0b8ad9fac6e889c19f33ebb3d20617519714a93e7db92b6e06283520281690ccab
7
- data.tar.gz: ba45ccafbddeeda014a74eed0fcad687ad6d2287773cadb7d0aafde9854bc381d8003aea47965196f7faf5f7b3c8205daef0c03696eb0b0328d18838093f030f
6
+ metadata.gz: f3dbb9cd02e027bffafc7e0d5e9060746bf1164e7a394810f0b010298db8039923bad224a01c4b625294a1618dd326d477478a3c24e3067a79edbb9474eba6c5
7
+ data.tar.gz: a6c473fabe3c219a3a10f1c7102b7f37bb605ec5ec30791aaef2470eee31f5004f19695f913658168ed7f7c2a6c30ce8ed17f4b8f7b560c900c20c6b7770e621
data/README.md CHANGED
@@ -81,9 +81,10 @@ tau [docker socket scheme](features/cucumber/features/docker/docker.socket.schem
81
81
  tau [docker socket start](features/cucumber/features/docker/docker.socket.start.feature) | Start sockets for docker container
82
82
  tau [docker socket stop](features/cucumber/features/docker/docker.socket.stop.feature) | Stop sockets for docker container
83
83
  tau [git check clean](features/cucumber/features/git/git.check.clean.feature) | Check if the git workspace is clean
84
- tau [git check master](features/cucumber/features/git/git.check.master.feature) | Check if we are on the git master branch
84
+ tau [git check main](features/cucumber/features/git/git.check.main.feature) | Check if we are on the git main branch
85
85
  tau [git check workspace](features/cucumber/features/git/git.check.workspace.feature) | Check if a git workspace exists
86
86
  tau [info project active](features/cucumber/features/info/info.project.active.feature) | Print active project info
87
+ tau [info project dir](features/cucumber/features/info/info.project.dir.feature) | Print project root directory
87
88
  tau [info project main](features/cucumber/features/info/info.project.main.feature) | Print main project info
88
89
  tau [info project private](features/cucumber/features/info/info.project.private.feature) | Print private project info
89
90
  tau [self config active](features/cucumber/features/self/self.config.active.feature) | Print active takelage configuration
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'docker_registry2'
4
3
  require 'etc'
5
4
  require 'fileutils'
6
5
  require 'fylla'
@@ -21,7 +20,7 @@ require_relative 'takelage/lib/config'
21
20
  require_relative 'takelage/lib/project'
22
21
 
23
22
  require_relative 'takelage/git/check/clean'
24
- require_relative 'takelage/git/check/master'
23
+ require_relative 'takelage/git/check/main'
25
24
  require_relative 'takelage/git/check/workspace'
26
25
  require_relative 'takelage/git/check/cli'
27
26
  require_relative 'takelage/git/cli'
@@ -52,18 +51,10 @@ require_relative 'takelage/docker/socket/scheme'
52
51
  require_relative 'takelage/docker/socket/start'
53
52
  require_relative 'takelage/docker/socket/stop'
54
53
  require_relative 'takelage/docker/socket/cli'
55
- require_relative 'takelage/docker/image/tag/list/local'
56
- require_relative 'takelage/docker/image/tag/list/remote'
57
- require_relative 'takelage/docker/image/tag/list/cli'
58
- require_relative 'takelage/docker/image/tag/latest/local'
59
- require_relative 'takelage/docker/image/tag/latest/remote'
60
- require_relative 'takelage/docker/image/tag/latest/cli'
61
- require_relative 'takelage/docker/image/tag/check/local'
62
- require_relative 'takelage/docker/image/tag/check/remote'
63
- require_relative 'takelage/docker/image/tag/check/cli'
54
+ require_relative 'takelage/docker/image/tag/list'
55
+ require_relative 'takelage/docker/image/tag/latest'
56
+ require_relative 'takelage/docker/image/tag/check'
64
57
  require_relative 'takelage/docker/image/tag/cli'
65
- require_relative 'takelage/docker/image/check/outdated'
66
- require_relative 'takelage/docker/image/check/cli'
67
58
  require_relative 'takelage/docker/image/update'
68
59
  require_relative 'takelage/docker/image/cli'
69
60
  require_relative 'takelage/docker/container/check/existing'
@@ -7,7 +7,7 @@ module Takelage
7
7
  include ConfigModule
8
8
  include SystemModule
9
9
  include GitCheckClean
10
- include GitCheckMaster
10
+ include GitCheckMain
11
11
  include GitCheckWorkspace
12
12
  include BitCheckWorkspace
13
13
  include BitClipboardLib
@@ -71,7 +71,7 @@ module BitClipboardCopy
71
71
  bit_dev = config.active['bit_dev_user']
72
72
 
73
73
  # check if scope is a candidate for a bit.dev remote scope
74
- if scope.start_with? bit_dev + '.'
74
+ if scope.start_with? "#{bit_dev}."
75
75
  return false unless _bit_clipboard_bit_dev_scope_exists scope
76
76
  else
77
77
  return false unless _bit_clipboard_custom_scope_exists scope
@@ -4,6 +4,14 @@
4
4
  module BitClipboardLib
5
5
  private
6
6
 
7
+ # Run bit status.
8
+ def _bit_clipboard_lib_bit_status
9
+ log.debug 'Running bit status'
10
+
11
+ cmd_bit_status = config.active['cmd_bit_clipboard_lib_bit_status']
12
+ run_and_exit cmd_bit_status
13
+ end
14
+
7
15
  # Prepare workspace for bit clipboard.
8
16
  def _bit_clipboard_lib_prepare_workspace
9
17
  unless bit_check_workspace
@@ -18,8 +26,8 @@ module BitClipboardLib
18
26
 
19
27
  # Prepare git workspace for bit clipboard.
20
28
  def _bit_clipboard_lib_prepare_git_workspace
21
- unless git_check_master
22
- log.error 'Not on git master branch'
29
+ unless git_check_main
30
+ log.error 'Not on git main branch'
23
31
  return false
24
32
  end
25
33
 
@@ -83,12 +91,14 @@ module BitClipboardLib
83
91
  run cmd_bit_clipboard_git_commit
84
92
  end
85
93
 
86
- # git push origin master.
94
+ # git push origin main.
87
95
  def _bit_clipboard_lib_git_push
88
- log.debug 'Pushing master branch to origin'
96
+ log.debug 'Pushing main branch to origin'
89
97
 
90
- cmd_bit_clipboard_git_push =
91
- config.active['cmd_bit_clipboard_git_push']
98
+ cmd_bit_clipboard_git_push = format(
99
+ config.active['cmd_bit_clipboard_git_push'],
100
+ main: config.active['git_main_branch']
101
+ )
92
102
 
93
103
  run cmd_bit_clipboard_git_push
94
104
  end
@@ -96,8 +106,10 @@ module BitClipboardLib
96
106
  # git pull.
97
107
  def _bit_clipboard_lib_git_pull
98
108
  log.debug 'Updating git workspace'
99
- cmd_bit_clipboard_git_pull =
100
- config.active['cmd_bit_clipboard_git_pull']
109
+ cmd_bit_clipboard_git_pull = format(
110
+ config.active['cmd_bit_clipboard_git_pull'],
111
+ main: config.active['git_main_branch']
112
+ )
101
113
 
102
114
  return true if try cmd_bit_clipboard_git_pull
103
115
 
@@ -42,7 +42,7 @@ module BitClipboardPaste
42
42
 
43
43
  bit_list_scope = _bit_clipboard_paste_cid_exists_list_scope scope
44
44
 
45
- return true if bit_list_scope.include? '"id": "' + cid + '",'
45
+ return true if bit_list_scope.include? "\"id\": \"#{cid}\","
46
46
 
47
47
  log.error "No remote component \"#{cid}\""
48
48
  false
@@ -14,9 +14,7 @@ module BitClipboardPull
14
14
  _bit_clipboard_pull_checkout_all
15
15
  _bit_clipbpard_lib_remove_bit_artifacts
16
16
  _bit_clipboard_lib_sync_workspace
17
-
18
- log.info 'Pulled bit components'
19
- true
17
+ _bit_clipboard_lib_bit_status
20
18
  end
21
19
 
22
20
  private
@@ -14,9 +14,7 @@ module BitClipboardPush
14
14
  _bit_clipboard_push_export_all
15
15
  _bit_clipbpard_lib_remove_bit_artifacts
16
16
  _bit_clipboard_lib_sync_workspace
17
-
18
- log.info 'Pushed bit components'
19
- true
17
+ _bit_clipboard_lib_bit_status
20
18
  end
21
19
 
22
20
  private
@@ -7,7 +7,7 @@ module Takelage
7
7
  include ConfigModule
8
8
  include SystemModule
9
9
  include GitCheckClean
10
- include GitCheckMaster
10
+ include GitCheckMain
11
11
  include GitCheckWorkspace
12
12
  include BitCheckWorkspace
13
13
  include BitScopeList
@@ -71,7 +71,7 @@ module BitRequireImport
71
71
 
72
72
  # Check if there are bit components
73
73
  def _bit_require_import_check_component_valid(component, scope)
74
- return true if (component.class == Hash) && component.key?('name')
74
+ return true if component.instance_of?(Hash) && component.key?('name')
75
75
 
76
76
  log.error "No component in #{scope}"
77
77
  false
@@ -28,9 +28,9 @@ module BitScopeAdd
28
28
 
29
29
  return true unless git_check_workspace
30
30
 
31
- return true if git_check_master
31
+ return true if git_check_main
32
32
 
33
- log.error 'Not on git master branch'
33
+ log.error 'Not on git main branch'
34
34
  false
35
35
  end
36
36
 
@@ -6,7 +6,7 @@ module Takelage
6
6
  include LoggingModule
7
7
  include SystemModule
8
8
  include ConfigModule
9
- include GitCheckMaster
9
+ include GitCheckMain
10
10
  include GitCheckWorkspace
11
11
  include BitCheckWorkspace
12
12
  include BitScopeAdd
@@ -6,6 +6,7 @@ bit_root: '/bit'
6
6
  bit_ssh: ''
7
7
  cmd_bit_check_workspace_bit_list: 'bit list'
8
8
  cmd_bit_check_workspace_pwd: 'pwd'
9
+ cmd_bit_clipboard_lib_bit_status: 'bit status'
9
10
  cmd_bit_clipboard_copy_bit_list_scope: 'bit list --skip-update --json %{scope}'
10
11
  cmd_bit_clipboard_copy_bit_list_remotes: 'bit remote --skip-update'
11
12
  cmd_bit_clipboard_copy_bit_add_dir: 'bit add --skip-update --id %{id} --main %{dir}/README.bit %{dir}'
@@ -13,8 +14,8 @@ cmd_bit_clipboard_copy_bit_tag_id: 'bit tag --skip-update --skip-tests %{id}'
13
14
  cmd_bit_clipboard_copy_bit_export_to_scope: 'bit export --skip-update %{scope}'
14
15
  cmd_bit_clipboard_git_add: 'git add %{file}'
15
16
  cmd_bit_clipboard_git_commit: 'git commit --message="%{message}"'
16
- cmd_bit_clipboard_git_pull: 'git pull origin master'
17
- cmd_bit_clipboard_git_push: 'git push origin master'
17
+ cmd_bit_clipboard_git_pull: 'git pull origin %{main}'
18
+ cmd_bit_clipboard_git_push: 'git push origin %{main}'
18
19
  cmd_bit_clipboard_paste_bit_list_scope: 'bit list --skip-update --json %{scope}'
19
20
  cmd_bit_clipboard_paste_bit_import_cid: 'bit import --ignore-package-json --ignore-dist --skip-update --path %{dir} %{cid}'
20
21
  cmd_bit_clipboard_pull_bit_import_all: 'bit import --ignore-package-json --ignore-dist --skip-update'
@@ -40,9 +41,9 @@ cmd_docker_container_get_containers: 'docker ps --all --filter name=^%{docker_re
40
41
  cmd_docker_container_remove_network: 'docker network rm %{network}'
41
42
  cmd_docker_container_docker_exec: 'docker exec %{container} su %{username} -c "LANG=en_US.UTF-8 %{command}"'
42
43
  cmd_docker_container_stop_container: 'docker stop %{container}'
43
- cmd_docker_image_tag_check_local_docker_images: 'docker images --quiet %{image}'
44
- cmd_docker_image_tag_list_local_docker_images: 'docker images %{docker_user}\/%{docker_repo} --format "{{.Tag}}"'
45
- cmd_docker_image_update_docker_pull_latest: 'docker pull %{docker_user}/%{docker_repo}:%{tag_latest_remote}'
44
+ cmd_docker_image_tag_check_docker_images: 'docker images --quiet %{image}'
45
+ cmd_docker_image_tag_list_docker_images: 'docker images %{docker_user}\/%{docker_repo} --format "{{.Tag}}"'
46
+ cmd_docker_image_update_docker_pull_latest: 'docker pull %{docker_user}/%{docker_repo}:latest'
46
47
  cmd_docker_image_update_docker_remove_dangling: 'docker image prune --force'
47
48
  cmd_docker_socket_config_agent_socket_path: 'gpgconf --list-dirs agent-socket'
48
49
  cmd_docker_socket_config_agent_ssh_socket_path: 'gpgconf --list-dirs agent-ssh-socket'
@@ -53,7 +54,7 @@ cmd_docker_socket_stop_docker_socket_kill: 'sudo kill -SIGTERM %{pid}'
53
54
  cmd_git_check_clean_git_unstaged: 'git diff --exit-code'
54
55
  cmd_git_check_clean_git_uncommitted: 'git diff --cached --exit-code'
55
56
  cmd_git_check_clean_git_status: 'git status --porcelain'
56
- cmd_git_check_master_git_branch: 'git symbolic-ref HEAD'
57
+ cmd_git_check_main_git_branch: 'git symbolic-ref HEAD'
57
58
  cmd_git_check_workspace_git_repo: 'git -C . rev-parse'
58
59
  cmd_git_check_workspace_pwd: 'pwd'
59
60
  docker_debug: 'ansible/roles/takel-takelage/files/takelscripts'
@@ -67,5 +68,6 @@ docker_socket_gpg_agent_port: 17874
67
68
  docker_socket_gpg_ssh_agent_port: 17875
68
69
  docker_tag: 'latest'
69
70
  docker_user: 'takelage'
71
+ git_main_branch: 'main'
70
72
  info_project_main: 'project.yml'
71
73
  info_project_private: 'private/project.yml'
@@ -16,10 +16,9 @@ module Takelage
16
16
  include DockerContainerLogin
17
17
  include DockerContainerClean
18
18
  include DockerContainerPrune
19
- include DockerImageTagLatestLocal
20
- include DockerImageTagListLocal
21
- include DockerImageTagCheckLocal
22
- include DockerImageCheckOutdated
19
+ include DockerImageTagLatest
20
+ include DockerImageTagList
21
+ include DockerImageTagCheck
23
22
  include DockerSocketLib
24
23
  include DockerSocketHost
25
24
  include DockerSocketScheme
@@ -115,7 +115,7 @@ module DockerContainerLib
115
115
 
116
116
  # Check if docker image is available
117
117
  def _docker_container_lib_image_available?(image)
118
- return true if docker_image_tag_list_local.include? @docker_tag
118
+ return true if docker_image_tag_list.include? @docker_tag
119
119
 
120
120
  log.error "No local image \"#{image}\" available"
121
121
  log.info "Try: docker pull #{image}"
@@ -8,7 +8,6 @@ module DockerContainerLogin
8
8
 
9
9
  return false unless docker_check_running
10
10
 
11
- _docker_container_login_check_outdated
12
11
  docker_socket_start
13
12
  return false unless _docker_container_lib_create_net_and_ctr @hostname
14
13
 
@@ -17,18 +16,6 @@ module DockerContainerLogin
17
16
 
18
17
  private
19
18
 
20
- # Check if newer docker container is available.
21
- def _docker_container_login_check_outdated
22
- return if @docker_tag == 'latest'
23
-
24
- outdated = docker_image_check_outdated @docker_tag
25
- return unless outdated
26
-
27
- tag_latest = docker_image_tag_latest_remote
28
- log.warn "#{@docker_user}/#{@docker_repo}:#{@docker_tag} is outdated"
29
- log.warn "#{@docker_user}/#{@docker_repo}:#{tag_latest} is available"
30
- end
31
-
32
19
  # Prepare enter existing container command.
33
20
  def _docker_container_login_enter_container(container)
34
21
  log.debug "Entering container \"#{container}\""
@@ -7,8 +7,6 @@ module Takelage
7
7
  include SystemModule
8
8
  include ConfigModule
9
9
  include DockerCheckRunning
10
- include DockerImageTagListRemote
11
- include DockerImageTagLatestRemote
12
10
  include DockerImageUpdate
13
11
 
14
12
  # Initialize takelage docker image
@@ -21,9 +19,6 @@ module Takelage
21
19
  @docker_registry = config.active['docker_registry']
22
20
  end
23
21
 
24
- desc 'check [COMMAND]', 'Check docker image'
25
- subcommand 'check', DockerImageCheck
26
-
27
22
  desc 'tag [COMMAND]', 'Handle docker image tags'
28
23
  subcommand 'tag', DockerImageTag
29
24
 
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ # takelage docker image tag check
4
+ module DockerImageTagCheck
5
+ # Backend method for docker image tag check.
6
+ # @return [Boolean] does docker image tag exist?
7
+ def docker_image_tag_check(tag)
8
+ log.debug "Check if docker image tag \"#{tag}\" exists"
9
+
10
+ return false unless docker_check_running
11
+
12
+ if tag.to_s.strip.empty?
13
+ log.warn 'No docker image tag specified'
14
+ return false
15
+ end
16
+
17
+ image = "#{@docker_user}/#{@docker_repo}:#{tag}"
18
+
19
+ return false unless _docker_image_check_image? image
20
+
21
+ log.debug "Found docker image \"#{image}\""
22
+ true
23
+ end
24
+
25
+ private
26
+
27
+ # Check if image exists.
28
+ def _docker_image_check_image?(image)
29
+ cmd_docker_images =
30
+ format(
31
+ config.active['cmd_docker_image_tag_check_docker_images'],
32
+ image: image
33
+ )
34
+
35
+ if (run cmd_docker_images).to_s.strip.empty?
36
+ log.debug "No docker image \"#{image}\" found"
37
+ return false
38
+ end
39
+
40
+ true
41
+ end
42
+ end
@@ -3,13 +3,66 @@
3
3
  module Takelage
4
4
  # takelage docker image tag
5
5
  class DockerImageTag < SubCommandBase
6
- desc 'check [COMMAND]', 'Check docker image tag'
7
- subcommand 'check', DockerImageTagCheck
6
+ include LoggingModule
7
+ include SystemModule
8
+ include ConfigModule
9
+ include DockerCheckRunning
10
+ include DockerImageTagList
11
+ include DockerImageTagList
12
+ include DockerImageTagLatest
13
+ include DockerImageTagCheck
8
14
 
9
- desc 'latest [COMMAND]', 'Print latest local or remote docker image tag'
10
- subcommand 'latest', DockerImageTagLatest
15
+ # Initialize takelage docker image tag check
16
+ def initialize(args = [], local_options = {}, configuration = {})
17
+ # initialize thor parent class
18
+ super args, local_options, configuration
11
19
 
12
- desc 'list [COMMAND]', 'Print local or remote docker image tags'
13
- subcommand 'list', DockerImageTagList
20
+ @docker_user = config.active['docker_user']
21
+ @docker_repo = config.active['docker_repo']
22
+ @docker_registry = config.active['docker_registry']
23
+ end
24
+
25
+ #
26
+ # docker image tag check
27
+ #
28
+ desc 'check [TAG]', 'Check if docker image [TAG] exists'
29
+ long_desc <<-LONGDESC.gsub("\n", "\x5")
30
+ Check if docker image tag exists
31
+ LONGDESC
32
+ # Check if docker image tag exists.
33
+ def check(tag)
34
+ exit docker_image_tag_check tag
35
+ end
36
+
37
+ #
38
+ # docker image tag latest
39
+ #
40
+ desc 'list', 'Print latest docker image tag'
41
+ long_desc <<-LONGDESC.gsub("\n", "\x5")
42
+ Print latest docker image tag
43
+ Print the tag of the docker image with the highest tag.
44
+ LONGDESC
45
+ # Print latest docker image tag.
46
+ def latest
47
+ tag_latest = docker_image_tag_latest
48
+ exit false if tag_latest == false
49
+ say tag_latest
50
+ true
51
+ end
52
+
53
+ #
54
+ # docker image tag list
55
+ #
56
+ desc 'list', 'Print docker image tags'
57
+ long_desc <<-LONGDESC.gsub("\n", "\x5")
58
+ Print docker image tags
59
+ LONGDESC
60
+ # Print docker image tags.
61
+ def list
62
+ tag_list = docker_image_tag_list
63
+ exit false if tag_list == false
64
+ say tag_list
65
+ true
66
+ end
14
67
  end
15
68
  end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ # takelage docker image tag latest
4
+ module DockerImageTagLatest
5
+ # Backend method for docker image tag latest.
6
+ # @return [String] latest docker image tag
7
+ def docker_image_tag_latest
8
+ log.debug 'Getting latest docker image tag'
9
+
10
+ return false unless docker_check_running
11
+
12
+ tags = docker_image_tag_list
13
+
14
+ tag_latest = tags[-1]
15
+
16
+ log.debug "Latest docker tag: #{tag_latest}"
17
+
18
+ tag_latest
19
+ end
20
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ # takelage docker image tag list
4
+ module DockerImageTagList
5
+ # Backend method for docker image tag list.
6
+ # @return [Array] docker image tags
7
+ def docker_image_tag_list
8
+ cmd_docker_tags =
9
+ format(
10
+ config.active['cmd_docker_image_tag_list_docker_images'],
11
+ docker_user: @docker_user,
12
+ docker_repo: @docker_repo
13
+ )
14
+
15
+ tags = (run cmd_docker_tags).split("\n")
16
+
17
+ VersionSorter.sort(tags)
18
+ end
19
+ end
@@ -6,12 +6,7 @@ module DockerImageUpdate
6
6
  def docker_image_update
7
7
  return false unless docker_check_running
8
8
 
9
- tags_remote = docker_image_tag_list_remote
10
-
11
- tag = 'latest'
12
- tag = docker_image_tag_latest_remote unless tags_remote.include?('latest')
13
-
14
- cmd_docker_pull_latest = _docker_image_update_cmd_docker_pull_latest tag
9
+ cmd_docker_pull_latest = _docker_image_update_cmd_docker_pull_latest
15
10
 
16
11
  cmd_docker_remove_dangling =
17
12
  config.active['cmd_docker_image_update_docker_remove_dangling']
@@ -22,12 +17,11 @@ module DockerImageUpdate
22
17
  private
23
18
 
24
19
  # Prepare dpcker pull latest command.
25
- def _docker_image_update_cmd_docker_pull_latest(tag)
20
+ def _docker_image_update_cmd_docker_pull_latest
26
21
  format(
27
22
  config.active['cmd_docker_image_update_docker_pull_latest'],
28
23
  docker_user: @docker_user,
29
- docker_repo: @docker_repo,
30
- tag_latest_remote: tag
24
+ docker_repo: @docker_repo
31
25
  )
32
26
  end
33
27
  end
@@ -6,6 +6,17 @@ module DockerSocketHost
6
6
  def docker_socket_host
7
7
  log.debug 'Getting docker socket host ip address'
8
8
 
9
+ socket_host = _docker_socket_host_get_socket_host
10
+
11
+ log.debug "Docker socket host ip address is \"#{socket_host}\""
12
+
13
+ socket_host
14
+ end
15
+
16
+ private
17
+
18
+ # Get the socket host, i.e. the ip of the docker host.
19
+ def _docker_socket_host_get_socket_host
9
20
  socket_host = '127.0.0.1'
10
21
 
11
22
  addr_infos = Socket.getifaddrs
@@ -13,12 +24,10 @@ module DockerSocketHost
13
24
  # if interface docker0 exists (== linux host)
14
25
  # then return the ip address
15
26
  addr_infos.each do |addr_info|
16
- if addr_info.name == 'docker0'
17
- socket_host = addr_info.addr.ip_address if addr_info.addr.ipv4?
18
- end
19
- end
27
+ next unless (addr_info.name == 'docker0') && addr_info.addr.ipv4?
20
28
 
21
- log.debug "Docker socket host ip address is \"#{socket_host}\""
29
+ socket_host = addr_info.addr.ip_address
30
+ end
22
31
 
23
32
  socket_host
24
33
  end
@@ -7,7 +7,7 @@ module Takelage
7
7
  include SystemModule
8
8
  include ConfigModule
9
9
  include GitCheckClean
10
- include GitCheckMaster
10
+ include GitCheckMain
11
11
  include GitCheckWorkspace
12
12
 
13
13
  #
@@ -23,15 +23,15 @@ module Takelage
23
23
  end
24
24
 
25
25
  #
26
- # git check master
26
+ # git check main
27
27
  #
28
- desc 'master', 'Check if we are on the git master branch'
28
+ desc 'main', 'Check if we are on the git main branch'
29
29
  long_desc <<-LONGDESC.gsub("\n", "\x5")
30
- Check if we are on the git master branch
30
+ Check if we are on the git main branch
31
31
  LONGDESC
32
- # Check if we are on the git master branch.
33
- def master
34
- exit git_check_master
32
+ # Check if we are on the git main branch.
33
+ def main
34
+ exit git_check_main
35
35
  end
36
36
 
37
37
  #
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ # takelage git check main
4
+ module GitCheckMain
5
+ # Backend method for git check main.
6
+ # @return [Boolean] are we on the git main branch?
7
+ def git_check_main
8
+ log.debug 'Check if we are on the git main branch'
9
+
10
+ return false unless git_check_workspace
11
+
12
+ branch = _git_check_main_get_branch
13
+ log.debug "We are on git branch \"#{branch}\""
14
+
15
+ branch == config.active['git_main_branch']
16
+ end
17
+
18
+ private
19
+
20
+ # Get git branch.
21
+ def _git_check_main_get_branch
22
+ cmd_get_branch =
23
+ config.active['cmd_git_check_main_git_branch']
24
+ (run cmd_get_branch).strip.split('/')[-1]
25
+ end
26
+ end
@@ -52,5 +52,18 @@ module Takelage
52
52
  say project_main_yaml
53
53
  true
54
54
  end
55
+
56
+ #
57
+ # info project dir
58
+ #
59
+ desc 'dir', 'Print project root directory'
60
+ long_desc <<-LONGDESC.gsub("\n", "\x5")
61
+ Print project root directory
62
+ LONGDESC
63
+ # Print project root directory.
64
+ def dir
65
+ say project.dir
66
+ true
67
+ end
55
68
  end
56
69
  end
@@ -9,7 +9,7 @@ module LoggingModule
9
9
  attr_accessor :logger
10
10
 
11
11
  def initialize
12
- @logger = Logger.new(STDOUT)
12
+ @logger = Logger.new($stdout)
13
13
  end
14
14
  end
15
15
 
@@ -9,12 +9,13 @@ module ProjectModule
9
9
  include SystemModule
10
10
  include ConfigModule
11
11
 
12
- attr_accessor :active, :private, :main
12
+ attr_accessor :active, :private, :main, :dir
13
13
 
14
14
  def initialize
15
15
  @active = {}
16
16
  @private = {}
17
17
  @main = {}
18
+ @dir = {}
18
19
  end
19
20
  end
20
21
 
@@ -23,6 +24,8 @@ module ProjectModule
23
24
  TakelageProject.instance.main = _project_read_main
24
25
  TakelageProject.instance.private = _project_read_private
25
26
  TakelageProject.instance.active = _project_merge_active
27
+ TakelageProject.instance.dir =
28
+ TakelageProject.instance.config.active['project_root_dir']
26
29
  end
27
30
 
28
31
  # @return [Object] global singleton project
@@ -34,8 +37,8 @@ module ProjectModule
34
37
 
35
38
  # Read main YAML file.
36
39
  def _project_read_main
37
- path = TakelageProject.instance.config.active['project_root_dir']
38
- main_file = "#{path}/" \
40
+ dir = TakelageProject.instance.config.active['project_root_dir']
41
+ main_file = "#{dir}/" \
39
42
  "#{TakelageProject.instance.config.active['info_project_main']}"
40
43
 
41
44
  return {} unless File.exist? main_file
@@ -45,8 +48,8 @@ module ProjectModule
45
48
 
46
49
  # Read private YAML file.
47
50
  def _project_read_private
48
- path = TakelageProject.instance.config.active['project_root_dir']
49
- private_file = "#{path}/" \
51
+ dir = TakelageProject.instance.config.active['project_root_dir']
52
+ private_file = "#{dir}/" \
50
53
  "#{TakelageProject.instance.config.active['info_project_private']}"
51
54
 
52
55
  return {} unless File.exist? private_file
@@ -3,9 +3,11 @@
3
3
  # Thor with subcommands that work correctly with help
4
4
  class SubCommandBase < Thor
5
5
  # Set the subcommand banner.
6
+ # rubocop:disable Style/OptionalBooleanParameter
6
7
  def self.banner(command, _namespace = nil, _subcommand = false)
7
8
  "#{basename} #{subcommand_prefix} #{command.usage}"
8
9
  end
10
+ # rubocop:enable Style/OptionalBooleanParameter
9
11
 
10
12
  # Set the subcommand prefix.
11
13
  def self.subcommand_prefix
@@ -1 +1 @@
1
- 0.21.0
1
+ 0.23.0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: takelage
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.21.0
4
+ version: 0.23.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Geospin
@@ -239,19 +239,11 @@ files:
239
239
  - lib/takelage/docker/container/lib.rb
240
240
  - lib/takelage/docker/container/login.rb
241
241
  - lib/takelage/docker/container/prune.rb
242
- - lib/takelage/docker/image/check/cli.rb
243
- - lib/takelage/docker/image/check/outdated.rb
244
242
  - lib/takelage/docker/image/cli.rb
245
- - lib/takelage/docker/image/tag/check/cli.rb
246
- - lib/takelage/docker/image/tag/check/local.rb
247
- - lib/takelage/docker/image/tag/check/remote.rb
243
+ - lib/takelage/docker/image/tag/check.rb
248
244
  - lib/takelage/docker/image/tag/cli.rb
249
- - lib/takelage/docker/image/tag/latest/cli.rb
250
- - lib/takelage/docker/image/tag/latest/local.rb
251
- - lib/takelage/docker/image/tag/latest/remote.rb
252
- - lib/takelage/docker/image/tag/list/cli.rb
253
- - lib/takelage/docker/image/tag/list/local.rb
254
- - lib/takelage/docker/image/tag/list/remote.rb
245
+ - lib/takelage/docker/image/tag/latest.rb
246
+ - lib/takelage/docker/image/tag/list.rb
255
247
  - lib/takelage/docker/image/update.rb
256
248
  - lib/takelage/docker/socket/cli.rb
257
249
  - lib/takelage/docker/socket/host.rb
@@ -261,7 +253,7 @@ files:
261
253
  - lib/takelage/docker/socket/stop.rb
262
254
  - lib/takelage/git/check/clean.rb
263
255
  - lib/takelage/git/check/cli.rb
264
- - lib/takelage/git/check/master.rb
256
+ - lib/takelage/git/check/main.rb
265
257
  - lib/takelage/git/check/workspace.rb
266
258
  - lib/takelage/git/cli.rb
267
259
  - lib/takelage/info/cli.rb
@@ -1,39 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Takelage
4
- # takelage docker image check
5
- class DockerImageCheck < SubCommandBase
6
- include LoggingModule
7
- include SystemModule
8
- include ConfigModule
9
- include DockerCheckRunning
10
- include DockerImageTagListRemote
11
- include DockerImageTagLatestRemote
12
- include DockerImageCheckOutdated
13
-
14
- # Initialize takelage docker image check
15
- def initialize(args = [], local_options = {}, configuration = {})
16
- # initialize thor parent class
17
- super args, local_options, configuration
18
-
19
- @docker_user = config.active['docker_user']
20
- @docker_repo = config.active['docker_repo']
21
- @docker_registry = config.active['docker_registry']
22
- @docker_tag = config.active['docker_tag']
23
- end
24
-
25
- #
26
- # docker image check outdated
27
- #
28
- desc 'outdated', 'Check if a docker image is outdated'
29
- long_desc <<-LONGDESC.gsub("\n", "\x5")
30
- Check if a docker image is outdated
31
- LONGDESC
32
- # Check if a docker image is outdated.
33
- def outdated
34
- outdated = docker_image_check_outdated @docker_tag
35
- say "Your takelage version \"#{@docker_tag}\" is outdated" if outdated
36
- exit outdated
37
- end
38
- end
39
- end
@@ -1,40 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # takelage docker image check outdated
4
- module DockerImageCheckOutdated
5
- # Backend method for docker image check outdated.
6
- # @return [Boolean] is docker image tag older than latest remote image tag?
7
- def docker_image_check_outdated(tag)
8
- log.debug "Check if docker image version \"#{tag}\" is outdated"
9
-
10
- return false unless docker_check_running
11
-
12
- return false if _docker_outdated_tag_latest? tag
13
-
14
- tag_latest_remote = docker_image_tag_latest_remote
15
- tags = [tag, docker_image_tag_latest_remote]
16
- # rubocop:disable Style/RedundantSort
17
- outdated = (tag != VersionSorter.sort(tags).last)
18
- # rubocop:enable Style/RedundantSort
19
-
20
- _docker_outdated_log_info tag, tag_latest_remote if outdated
21
-
22
- outdated
23
- end
24
-
25
- private
26
-
27
- # Check if the tag is "latest".
28
- def _docker_outdated_tag_latest?(tag)
29
- return false unless tag == 'latest'
30
-
31
- log.debug 'Docker image version "latest" is by definition never outdated'
32
- true
33
- end
34
-
35
- # Log info if docker image is outdated.
36
- def _docker_outdated_log_info(tag, tag_latest_remote)
37
- log.debug "Docker image version is outdated: #{tag}"
38
- log.debug "Docker image version is available: #{tag_latest_remote}"
39
- end
40
- end
@@ -1,48 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Takelage
4
- # takelage docker image tag check
5
- class DockerImageTagCheck < SubCommandBase
6
- include LoggingModule
7
- include SystemModule
8
- include ConfigModule
9
- include DockerCheckRunning
10
- include DockerImageTagListRemote
11
- include DockerImageTagCheckLocal
12
- include DockerImageTagCheckRemote
13
-
14
- # Initialize takelage docker image tag check
15
- def initialize(args = [], local_options = {}, configuration = {})
16
- # initialize thor parent class
17
- super args, local_options, configuration
18
-
19
- @docker_user = config.active['docker_user']
20
- @docker_repo = config.active['docker_repo']
21
- @docker_registry = config.active['docker_registry']
22
- end
23
-
24
- #
25
- # docker image tag check local
26
- #
27
- desc 'local [TAG]', 'Check if local docker image [TAG] exists'
28
- long_desc <<-LONGDESC.gsub("\n", "\x5")
29
- Check if local docker image tag exists
30
- LONGDESC
31
- # Check if local docker image tag exists.
32
- def local(tag)
33
- exit docker_image_tag_check_local tag
34
- end
35
-
36
- #
37
- # docker image tag check remote
38
- #
39
- desc 'remote [TAG]', 'Check if remote docker image [TAG] exists'
40
- long_desc <<-LONGDESC.gsub("\n", "\x5")
41
- Check if remote docker image tag exists
42
- LONGDESC
43
- # Check if remote docker image tag exists.
44
- def remote(tag)
45
- exit docker_image_tag_check_remote tag
46
- end
47
- end
48
- end
@@ -1,42 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # takelage docker image tag check local
4
- module DockerImageTagCheckLocal
5
- # Backend method for docker image check tag local.
6
- # @return [Boolean] does local docker image tag exist?
7
- def docker_image_tag_check_local(tag)
8
- log.debug "Check if local docker image tag \"#{tag}\" exists"
9
-
10
- return false unless docker_check_running
11
-
12
- if tag.to_s.strip.empty?
13
- log.warn 'No local docker image tag specified'
14
- return false
15
- end
16
-
17
- image = "#{@docker_user}/#{@docker_repo}:#{tag}"
18
-
19
- return false unless _docker_image_check_local_image? image
20
-
21
- log.debug "Found local docker image \"#{image}\""
22
- true
23
- end
24
-
25
- private
26
-
27
- # Check if local image exists.
28
- def _docker_image_check_local_image?(image)
29
- cmd_docker_images =
30
- format(
31
- config.active['cmd_docker_image_tag_check_local_docker_images'],
32
- image: image
33
- )
34
-
35
- if (run cmd_docker_images).to_s.strip.empty?
36
- log.debug "No local docker image \"#{image}\" found"
37
- return false
38
- end
39
-
40
- true
41
- end
42
- end
@@ -1,38 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # takelage docker image tag check remote
4
- module DockerImageTagCheckRemote
5
- # Backend method for docker image check tag remote.
6
- # @return [Boolean] does remote docker image tag exist?
7
- def docker_image_tag_check_remote(tag)
8
- log.debug "Check if remote image tag \"#{tag}\" exists"
9
-
10
- return false unless docker_check_running
11
-
12
- if tag.to_s.strip.empty?
13
- log.warn 'No remote docker image tag specified'
14
- return false
15
- end
16
-
17
- image = "#{@docker_user}/#{@docker_repo}:#{tag}"
18
-
19
- return false unless _docker_iamge_check_remote_image? image, tag
20
-
21
- log.debug "Found remote docker image \"#{image}\""
22
- true
23
- end
24
-
25
- private
26
-
27
- # Check if remote image exists.
28
- def _docker_iamge_check_remote_image?(image, tag)
29
- tags = docker_image_tag_list_remote
30
-
31
- unless tags != false && tags.include?(tag)
32
- log.debug "No remote docker image \"#{image}\" found"
33
- return false
34
- end
35
-
36
- true
37
- end
38
- end
@@ -1,57 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Takelage
4
- # takelage docker image tag latest
5
- class DockerImageTagLatest < SubCommandBase
6
- include LoggingModule
7
- include SystemModule
8
- include ConfigModule
9
- include DockerCheckRunning
10
- include DockerImageTagListLocal
11
- include DockerImageTagListRemote
12
- include DockerImageTagLatestLocal
13
- include DockerImageTagLatestRemote
14
-
15
- # Initialize takelage docker image tag latest
16
- def initialize(args = [], local_options = {}, configuration = {})
17
- # initialize thor parent class
18
- super args, local_options, configuration
19
-
20
- @docker_user = config.active['docker_user']
21
- @docker_repo = config.active['docker_repo']
22
- @docker_registry = config.active['docker_registry']
23
- end
24
-
25
- #
26
- # docker image tag latest local
27
- #
28
- desc 'local', 'Print latest local docker image tag'
29
- long_desc <<-LONGDESC.gsub("\n", "\x5")
30
- Print latest local docker image tag
31
- Print the tag of the local docker image with the highest tag.
32
- LONGDESC
33
- # Print latest local docker image tag.
34
- def local
35
- tag_latest_local = docker_image_tag_latest_local
36
- exit false if tag_latest_local == false
37
- say tag_latest_local
38
- true
39
- end
40
-
41
- #
42
- # docker image tag latest remote
43
- #
44
- desc 'remote', 'Print latest remote docker image tag'
45
- long_desc <<-LONGDESC.gsub("\n", "\x5")
46
- Print latest remote docker image tag
47
- Print the tag of the remote docker image with the highest tag.
48
- LONGDESC
49
- # Print latest remote docker image tag.
50
- def remote
51
- tag_latest_remote = docker_image_tag_latest_remote
52
- exit false if tag_latest_remote == false
53
- say tag_latest_remote
54
- true
55
- end
56
- end
57
- end
@@ -1,20 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # takelage docker image tag latest local
4
- module DockerImageTagLatestLocal
5
- # Backend method for docker image tag latest local.
6
- # @return [String] latest local docker image tag
7
- def docker_image_tag_latest_local
8
- log.debug 'Getting latest local docker image tag'
9
-
10
- return false unless docker_check_running
11
-
12
- tags = docker_image_tag_list_local
13
-
14
- tag_latest_local = tags[-1]
15
-
16
- log.debug "Latest docker local tag: #{tag_latest_local}"
17
-
18
- tag_latest_local
19
- end
20
- end
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # takelage docker image tag latest remote
4
- module DockerImageTagLatestRemote
5
- # Backend method for docker image tag latest remote.
6
- # @return [String] latest remote docker image tag
7
- def docker_image_tag_latest_remote
8
- log.debug 'Getting latest remote docker image tag'
9
-
10
- return false unless docker_check_running
11
-
12
- tags = docker_image_tag_list_remote
13
-
14
- if tags == false || tags.nil?
15
- log.warn 'No latest docker remote tag'
16
- return ''
17
- end
18
-
19
- tag_latest_remote = tags[-1]
20
-
21
- log.debug "Latest docker remote tag: #{tag_latest_remote}"
22
-
23
- tag_latest_remote
24
- end
25
- end
@@ -1,53 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Takelage
4
- # takelage docker image tag list
5
- class DockerImageTagList < SubCommandBase
6
- include LoggingModule
7
- include SystemModule
8
- include ConfigModule
9
- include DockerCheckRunning
10
- include DockerImageTagListLocal
11
- include DockerImageTagListRemote
12
-
13
- # Initialize takelage docker image tag list
14
- def initialize(args = [], local_options = {}, configuration = {})
15
- # initialize thor parent class
16
- super args, local_options, configuration
17
-
18
- @docker_user = config.active['docker_user']
19
- @docker_repo = config.active['docker_repo']
20
- @docker_registry = config.active['docker_registry']
21
- end
22
-
23
- #
24
- # docker image tag list local
25
- #
26
- desc 'local', 'Print local docker image tags'
27
- long_desc <<-LONGDESC.gsub("\n", "\x5")
28
- Print local docker image tags
29
- LONGDESC
30
- # Print local docker image tags.
31
- def local
32
- tag_list_local = docker_image_tag_list_local
33
- exit false if tag_list_local == false
34
- say tag_list_local
35
- true
36
- end
37
-
38
- #
39
- # docker image tag list remote
40
- #
41
- desc 'remote', 'Print remote docker image tags'
42
- long_desc <<-LONGDESC.gsub("\n", "\x5")
43
- Print remote docker image tags
44
- LONGDESC
45
- # Print latest remote docker image tag.
46
- def remote
47
- tag_list_remote = docker_image_tag_list_remote
48
- exit false if tag_list_remote == false
49
- say tag_list_remote
50
- true
51
- end
52
- end
53
- end
@@ -1,19 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # takelage docker image tag list local
4
- module DockerImageTagListLocal
5
- # Backend method for docker image tag list local.
6
- # @return [Array] local docker image tags
7
- def docker_image_tag_list_local
8
- cmd_docker_tags =
9
- format(
10
- config.active['cmd_docker_image_tag_list_local_docker_images'],
11
- docker_user: @docker_user,
12
- docker_repo: @docker_repo
13
- )
14
-
15
- tags = (run cmd_docker_tags).split("\n")
16
-
17
- VersionSorter.sort(tags)
18
- end
19
- end
@@ -1,28 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # takelage docker image tag list remote
4
- module DockerImageTagListRemote
5
- # Backend method for docker image tag list remote.
6
- # @return [Array] remote docker image tags
7
- def docker_image_tag_list_remote
8
- log.debug 'Getting docker remote tags ' \
9
- "of \"#{@docker_user}/#{@docker_repo}\" " \
10
- "from \"#{@docker_registry}\""
11
- _docker_image_tag_list_remote_tags
12
- end
13
-
14
- private
15
-
16
- # Get docker remote tags.
17
- def _docker_image_tag_list_remote_tags
18
- user = File.basename @docker_user
19
- begin
20
- registry = DockerRegistry2.connect(@docker_registry)
21
- tags = registry.tags("#{user}/#{@docker_repo}")
22
- VersionSorter.sort(tags['tags'])
23
- rescue RestClient::Exceptions::OpenTimeout
24
- log.error "Timeout while connecting to \"#{@docker_registry}\""
25
- false
26
- end
27
- end
28
- end
@@ -1,26 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # takelage git check master
4
- module GitCheckMaster
5
- # Backend method for git check master.
6
- # @return [Boolean] are we on the git master branch?
7
- def git_check_master
8
- log.debug 'Check if we are on the git master branch'
9
-
10
- return false unless git_check_workspace
11
-
12
- branch = _git_check_master_get_branch
13
- log.debug "We are on git branch \"#{branch}\""
14
-
15
- branch == 'master'
16
- end
17
-
18
- private
19
-
20
- # Get git branch.
21
- def _git_check_master_get_branch
22
- cmd_get_branch =
23
- config.active['cmd_git_check_master_git_branch']
24
- (run cmd_get_branch).strip.split('/')[-1]
25
- end
26
- end