takelage 0.21.1 → 0.23.1

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 (58) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -1
  3. data/lib/takelage.rb +8 -15
  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 +10 -7
  15. data/lib/takelage/docker/check/cli.rb +18 -5
  16. data/lib/takelage/docker/check/{running.rb → daemon.rb} +3 -3
  17. data/lib/takelage/docker/check/socat.rb +23 -0
  18. data/lib/takelage/docker/container/check/cli.rb +2 -1
  19. data/lib/takelage/docker/container/check/existing.rb +1 -1
  20. data/lib/takelage/docker/container/check/network.rb +1 -1
  21. data/lib/takelage/docker/container/check/orphaned.rb +1 -1
  22. data/lib/takelage/docker/container/clean.rb +1 -1
  23. data/lib/takelage/docker/container/cli.rb +5 -5
  24. data/lib/takelage/docker/container/command.rb +1 -1
  25. data/lib/takelage/docker/container/daemon.rb +1 -1
  26. data/lib/takelage/docker/container/lib.rb +1 -1
  27. data/lib/takelage/docker/container/login.rb +1 -14
  28. data/lib/takelage/docker/container/prune.rb +1 -1
  29. data/lib/takelage/docker/image/cli.rb +1 -6
  30. data/lib/takelage/docker/image/tag/check.rb +42 -0
  31. data/lib/takelage/docker/image/tag/cli.rb +59 -6
  32. data/lib/takelage/docker/image/tag/latest.rb +20 -0
  33. data/lib/takelage/docker/image/tag/list.rb +19 -0
  34. data/lib/takelage/docker/image/update.rb +4 -10
  35. data/lib/takelage/docker/socket/cli.rb +2 -1
  36. data/lib/takelage/docker/socket/host.rb +14 -5
  37. data/lib/takelage/docker/socket/start.rb +3 -1
  38. data/lib/takelage/docker/socket/stop.rb +4 -3
  39. data/lib/takelage/git/check/cli.rb +7 -7
  40. data/lib/takelage/git/check/main.rb +26 -0
  41. data/lib/takelage/info/project/cli.rb +13 -0
  42. data/lib/takelage/lib/logging.rb +1 -1
  43. data/lib/takelage/lib/project.rb +8 -5
  44. data/lib/takelage/lib/subcmd.rb +2 -0
  45. data/lib/takelage/version +1 -1
  46. metadata +7 -14
  47. data/lib/takelage/docker/image/check/cli.rb +0 -39
  48. data/lib/takelage/docker/image/check/outdated.rb +0 -40
  49. data/lib/takelage/docker/image/tag/check/cli.rb +0 -48
  50. data/lib/takelage/docker/image/tag/check/local.rb +0 -42
  51. data/lib/takelage/docker/image/tag/check/remote.rb +0 -38
  52. data/lib/takelage/docker/image/tag/latest/cli.rb +0 -57
  53. data/lib/takelage/docker/image/tag/latest/local.rb +0 -20
  54. data/lib/takelage/docker/image/tag/latest/remote.rb +0 -25
  55. data/lib/takelage/docker/image/tag/list/cli.rb +0 -53
  56. data/lib/takelage/docker/image/tag/list/local.rb +0 -19
  57. data/lib/takelage/docker/image/tag/list/remote.rb +0 -28
  58. data/lib/takelage/git/check/master.rb +0 -26
@@ -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.1
1
+ 0.23.1
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.1
4
+ version: 0.23.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Geospin
@@ -226,7 +226,8 @@ files:
226
226
  - lib/takelage/completion/cli.rb
227
227
  - lib/takelage/default.yml
228
228
  - lib/takelage/docker/check/cli.rb
229
- - lib/takelage/docker/check/running.rb
229
+ - lib/takelage/docker/check/daemon.rb
230
+ - lib/takelage/docker/check/socat.rb
230
231
  - lib/takelage/docker/cli.rb
231
232
  - lib/takelage/docker/container/check/cli.rb
232
233
  - lib/takelage/docker/container/check/existing.rb
@@ -239,19 +240,11 @@ files:
239
240
  - lib/takelage/docker/container/lib.rb
240
241
  - lib/takelage/docker/container/login.rb
241
242
  - lib/takelage/docker/container/prune.rb
242
- - lib/takelage/docker/image/check/cli.rb
243
- - lib/takelage/docker/image/check/outdated.rb
244
243
  - 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
244
+ - lib/takelage/docker/image/tag/check.rb
248
245
  - 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
246
+ - lib/takelage/docker/image/tag/latest.rb
247
+ - lib/takelage/docker/image/tag/list.rb
255
248
  - lib/takelage/docker/image/update.rb
256
249
  - lib/takelage/docker/socket/cli.rb
257
250
  - lib/takelage/docker/socket/host.rb
@@ -261,7 +254,7 @@ files:
261
254
  - lib/takelage/docker/socket/stop.rb
262
255
  - lib/takelage/git/check/clean.rb
263
256
  - lib/takelage/git/check/cli.rb
264
- - lib/takelage/git/check/master.rb
257
+ - lib/takelage/git/check/main.rb
265
258
  - lib/takelage/git/check/workspace.rb
266
259
  - lib/takelage/git/cli.rb
267
260
  - 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