takelage 0.13.2 → 0.13.3

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 (48) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -0
  3. data/bin/tau +1 -0
  4. data/lib/Thorfile +2 -0
  5. data/lib/takelage/bit/check/cli.rb +2 -2
  6. data/lib/takelage/bit/check/module.rb +21 -12
  7. data/lib/takelage/bit/cli.rb +1 -3
  8. data/lib/takelage/bit/clipboard/cli.rb +2 -4
  9. data/lib/takelage/bit/clipboard/module.rb +264 -194
  10. data/lib/takelage/bit/scope/cli.rb +2 -2
  11. data/lib/takelage/bit/scope/module.rb +64 -59
  12. data/lib/takelage/completion/cli.rb +2 -2
  13. data/lib/takelage/docker/check/cli.rb +2 -2
  14. data/lib/takelage/docker/check/module.rb +6 -8
  15. data/lib/takelage/docker/cli.rb +2 -3
  16. data/lib/takelage/docker/container/check/cli.rb +2 -2
  17. data/lib/takelage/docker/container/check/module.rb +28 -19
  18. data/lib/takelage/docker/container/cli.rb +13 -10
  19. data/lib/takelage/docker/container/module.rb +143 -110
  20. data/lib/takelage/docker/image/check/cli.rb +2 -3
  21. data/lib/takelage/docker/image/check/module.rb +26 -12
  22. data/lib/takelage/docker/image/cli.rb +3 -4
  23. data/lib/takelage/docker/image/module.rb +19 -14
  24. data/lib/takelage/docker/image/tag/check/cli.rb +2 -3
  25. data/lib/takelage/docker/image/tag/check/module.rb +33 -17
  26. data/lib/takelage/docker/image/tag/cli.rb +2 -3
  27. data/lib/takelage/docker/image/tag/latest/cli.rb +2 -3
  28. data/lib/takelage/docker/image/tag/latest/module.rb +6 -5
  29. data/lib/takelage/docker/image/tag/list/cli.rb +2 -3
  30. data/lib/takelage/docker/image/tag/list/module.rb +19 -16
  31. data/lib/takelage/docker/socket/cli.rb +2 -3
  32. data/lib/takelage/docker/socket/module.rb +137 -107
  33. data/lib/takelage/git/check/cli.rb +2 -2
  34. data/lib/takelage/git/check/module.rb +53 -35
  35. data/lib/takelage/git/cli.rb +2 -3
  36. data/lib/takelage/info/cli.rb +2 -3
  37. data/lib/takelage/info/project/cli.rb +2 -2
  38. data/lib/takelage/lib/config.rb +62 -45
  39. data/lib/takelage/lib/logging.rb +33 -16
  40. data/lib/takelage/lib/project.rb +43 -28
  41. data/lib/takelage/lib/subcmd.rb +2 -0
  42. data/lib/takelage/lib/system.rb +43 -27
  43. data/lib/takelage/self/cli.rb +2 -0
  44. data/lib/takelage/self/config/cli.rb +2 -0
  45. data/lib/takelage/self/module.rb +2 -0
  46. data/lib/takelage/version +1 -1
  47. data/lib/takelage.rb +6 -7
  48. metadata +1 -1
@@ -1,9 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # takelage docker container module
2
4
  module DockerContainerModule
3
-
4
5
  # Backend method for docker container run.
5
6
  def docker_container_command(command)
6
- log.debug "Running command in container"
7
+ log.debug 'Running command in container'
7
8
 
8
9
  return false unless docker_check_running
9
10
 
@@ -11,9 +12,10 @@ module DockerContainerModule
11
12
 
12
13
  _create_network @hostname unless docker_container_check_network @hostname
13
14
 
14
- container_created = true
15
- container_created = _create_container @hostname unless docker_container_check_existing @hostname
16
- return false unless container_created
15
+ unless docker_container_check_existing @hostname
16
+ return false unless _docker_container_create_container @hostname
17
+ end
18
+
17
19
  _run_command_in_container @hostname, command
18
20
  end
19
21
 
@@ -25,9 +27,11 @@ module DockerContainerModule
25
27
 
26
28
  _create_network @hostname unless docker_container_check_network @hostname
27
29
 
28
- container_created = true
29
- container_created = _create_container @hostname unless docker_container_check_existing @hostname
30
- return false unless container_created
30
+ unless docker_container_check_existing @hostname
31
+ return false unless _docker_container_create_container @hostname
32
+ end
33
+
34
+ true
31
35
  end
32
36
 
33
37
  # Backend method for docker container login.
@@ -36,24 +40,17 @@ module DockerContainerModule
36
40
 
37
41
  return false unless docker_check_running
38
42
 
39
- unless @docker_tag == 'latest'
40
- outdated = docker_image_check_outdated @docker_tag
41
- if outdated
42
- tag_latest_remote = docker_image_tag_latest_remote
43
- log.warn "#{@docker_user}/#{@docker_repo}:#{@docker_tag} is outdated"
44
- log.warn "#{@docker_user}/#{@docker_repo}:#{tag_latest_remote} is available"
45
- end
46
- end
47
-
43
+ _docker_container_login_check_outdated
48
44
  docker_socket_start
49
-
50
45
  _create_network @hostname unless docker_container_check_network @hostname
51
46
 
52
- container_created = true
53
- container_created = _create_container @hostname unless docker_container_check_existing @hostname
54
- return false unless container_created
47
+ unless docker_container_check_existing @hostname
48
+ return false unless _docker_container_create_container @hostname
49
+ end
50
+
51
+ cmd_enter_container = _docker_container_enter_container @hostname
55
52
 
56
- _enter_container @hostname
53
+ run_and_exit cmd_enter_container
57
54
  end
58
55
 
59
56
  # Backend method for docker container nuke.
@@ -62,20 +59,9 @@ module DockerContainerModule
62
59
 
63
60
  return false unless docker_check_running
64
61
 
65
- hostname = ENV['HOSTNAME'] || ''
66
- if hostname.start_with? "#{@docker_repo}_"
67
- log.error "Please run \"tau nuke\" outside of #{@docker_repo} containers"
68
- log.info "Run \"tau purge\" to remove orphaned #{@docker_repo} containers"
69
- return false
70
- end
71
-
72
- networks = []
62
+ return false if _docker_container_harakiri?
73
63
 
74
- _get_containers.each do |container|
75
- name = _get_container_name_by_id container
76
- _stop_container container
77
- networks << name unless networks.include? name
78
- end
64
+ networks = _docker_container_kill_existing_containers
79
65
 
80
66
  networks.each do |network|
81
67
  _remove_network network if docker_container_check_network network
@@ -88,39 +74,38 @@ module DockerContainerModule
88
74
 
89
75
  return false unless docker_check_running
90
76
 
91
- networks = []
92
-
93
- _get_containers.each do |container|
94
- if docker_container_check_orphaned container
95
- name = _get_container_name_by_id container
96
- _stop_container container
97
- networks << name unless networks.include? name
98
- end
99
- end
77
+ networks = _docker_container_kill_orphaned_containers
100
78
 
101
79
  networks.each do |network|
102
80
  _remove_network network if docker_container_check_network network
103
81
  end
104
82
  end
105
83
 
84
+ private
85
+
86
+ # Check if newer docker container is available.
87
+ def _docker_container_login_check_outdated
88
+ return if @docker_tag == 'latest'
89
+
90
+ outdated = docker_image_check_outdated @docker_tag
91
+ return unless outdated
92
+
93
+ tag_latest = docker_image_tag_latest_remote
94
+ log.warn "#{@docker_user}/#{@docker_repo}:#{@docker_tag} is outdated"
95
+ log.warn "#{@docker_user}/#{@docker_repo}:#{tag_latest} is available"
96
+ end
97
+
106
98
  # Create docker container.
107
- def _create_container(container)
99
+ # rubocop:disable Metrics/MethodLength
100
+ def _docker_container_create_container(container)
108
101
  log.debug "Creating container \"#{container}\""
109
102
 
110
103
  image = "#{@docker_user}/#{@docker_repo}:#{@docker_tag}"
111
104
 
112
- unless docker_image_tag_list_local.include? @docker_tag
113
- log.error "No local image \"#{image}\" available"
114
- return false
115
- end
105
+ return false unless _docker_container_image_available? image
116
106
 
117
107
  log.debug "Using docker image \"#{image}\""
118
108
 
119
- unless docker_image_tag_check_local @docker_tag
120
- log.error "Image \"#{image}\" does not exist"
121
- return false
122
- end
123
-
124
109
  unless @socket_host == '127.0.0.1'
125
110
  addhost = "--add-host host.docker.internal:#{@socket_host}"
126
111
  end
@@ -128,74 +113,93 @@ module DockerContainerModule
128
113
  entrypoint = '/entrypoint.py '
129
114
  volume_dev = ''
130
115
  if options[:development]
131
- entrypoint = '/debug/entrypoint.py --debug '
116
+ entrypoint += ' --debug '
132
117
  volume_dev = "--volume #{@workdir}/#{@docker_debug}:/debug "
133
118
  end
134
119
 
135
120
  cmd_docker_create =
136
- config.active['cmd_docker_container_create'] % {
137
- workdir: @workdir,
138
- timezone: @timezone,
139
- container: container,
140
- dockersock: @dockersock,
141
- homedir: @homedir,
142
- volume_dev: volume_dev,
143
- image: image,
144
- addhost: addhost,
145
- dockerrun_options: @dockerrun_options,
146
- entrypoint: entrypoint,
147
- gid: @gid,
148
- uid: @uid,
149
- username: @username,
150
- gpg_agent_port: @gpg_agent_port,
151
- gpg_ssh_agent_port: @gpg_ssh_agent_port,
152
- extra: @entrypoint_extra,
153
- entrypoint_options: @entrypoint_options
154
- }
121
+ format(
122
+ config.active['cmd_docker_container_create'],
123
+ workdir: @workdir,
124
+ timezone: @timezone,
125
+ container: container,
126
+ dockersock: @dockersock,
127
+ homedir: @homedir,
128
+ volume_dev: volume_dev,
129
+ image: image,
130
+ addhost: addhost,
131
+ dockerrun_options: @dockerrun_options,
132
+ entrypoint: entrypoint,
133
+ gid: @gid,
134
+ uid: @uid,
135
+ username: @username,
136
+ gpg_agent_port: @gpg_agent_port,
137
+ gpg_ssh_agent_port: @gpg_ssh_agent_port,
138
+ extra: @entrypoint_extra,
139
+ entrypoint_options: @entrypoint_options
140
+ )
155
141
 
156
142
  run cmd_docker_create
157
143
  true
158
144
  end
145
+ # rubocop:enable Metrics/MethodLength
146
+
147
+ # Check if docker image is available
148
+ def _docker_container_image_available?(image)
149
+ return true if docker_image_tag_list_local.include? @docker_tag
150
+
151
+ log.error "No local image \"#{image}\" available"
152
+ log.info "Try: docker pull #{image}"
153
+ false
154
+ end
159
155
 
160
156
  # Create docker network.
161
157
  def _create_network(network)
162
158
  log.debug "Create network \"#{network}\""
163
159
 
164
160
  cmd_create_network =
165
- config.active['cmd_docker_container_create_network'] % {
166
- network: network
167
- }
161
+ format(
162
+ config.active['cmd_docker_container_create_network'],
163
+ network: network
164
+ )
168
165
 
169
166
  run cmd_create_network
170
167
  end
171
168
 
172
169
  # Enter existing docker container.
173
- def _enter_container(container)
170
+ def _docker_container_enter_container(container)
174
171
  log.debug "Entering container \"#{container}\""
175
172
 
176
- loginpoint = '/loginpoint.py '
177
- if options[:development]
178
- loginpoint = '/loginpoint.py --debug '
179
- end
173
+ loginpoint = '/loginpoint.py'
174
+ loginpoint += ' --debug ' if options[:development]
175
+
176
+ format(
177
+ config.active['cmd_docker_container_enter_container'],
178
+ container: container,
179
+ loginpoint: loginpoint,
180
+ username: @username
181
+ )
182
+ end
180
183
 
181
- cmd_docker_enter =
182
- config.active['cmd_docker_container_enter_container'] % {
183
- container: container,
184
- loginpoint: loginpoint,
185
- username: @username
186
- }
184
+ # Check if we are running tau nuke inside a takelage container
185
+ def _docker_container_harakiri?
186
+ hostname = ENV['HOSTNAME'] || ''
187
+ return false unless hostname.start_with? "#{@docker_repo}_"
187
188
 
188
- run_and_exit cmd_docker_enter
189
+ log.error "Please run \"tau nuke\" outside of #{@docker_repo} containers"
190
+ log.info "Run \"tau purge\" to remove orphaned #{@docker_repo} containers"
191
+ true
189
192
  end
190
193
 
191
194
  # Get container name by id.
192
- def _get_container_name_by_id container
195
+ def _docker_container_get_container_name_by_id(container)
193
196
  log.debug "Getting name of container \"#{container}\""
194
197
 
195
198
  cmd_get_container_name_by_id =
196
- config.active['cmd_docker_container_get_container_name'] % {
197
- container: container
198
- }
199
+ format(
200
+ config.active['cmd_docker_container_get_container_name'],
201
+ container: container
202
+ )
199
203
 
200
204
  stdout_str = run cmd_get_container_name_by_id
201
205
 
@@ -208,13 +212,14 @@ module DockerContainerModule
208
212
 
209
213
  # Get all docker containers.
210
214
  # @return [Array] list of docker containers
211
- def _get_containers
215
+ def _docker_container_get_containers
212
216
  log.debug "Getting all containers of image \"#{@docker_repo}\""
213
217
 
214
218
  cmd_docker_get =
215
- config.active['cmd_docker_container_get_containers'] % {
216
- docker_repo: @docker_repo
217
- }
219
+ format(
220
+ config.active['cmd_docker_container_get_containers'],
221
+ docker_repo: @docker_repo
222
+ )
218
223
 
219
224
  stdout_str = run cmd_docker_get
220
225
 
@@ -222,14 +227,40 @@ module DockerContainerModule
222
227
  stdout_str.split(/\n+/)
223
228
  end
224
229
 
230
+ # Kill all docker containers and return list of networks
231
+ def _docker_container_kill_existing_containers
232
+ networks = []
233
+ _docker_container_get_containers.each do |container|
234
+ name = _docker_container_get_container_name_by_id container
235
+ _docker_container_stop_container container
236
+ networks << name unless networks.include? name
237
+ end
238
+ networks
239
+ end
240
+
241
+ # Kill orphaned docker containers and return list of networks
242
+ def _docker_container_kill_orphaned_containers
243
+ networks = []
244
+
245
+ _docker_container_get_containers.each do |container|
246
+ next unless docker_container_check_orphaned container
247
+
248
+ name = _docker_container_get_container_name_by_id container
249
+ _docker_container_stop_container container
250
+ networks << name unless networks.include? name
251
+ end
252
+ networks
253
+ end
254
+
225
255
  # Remove docker network.
226
- def _remove_network network
256
+ def _remove_network(network)
227
257
  log.debug "Remove network \"#{network}\""
228
258
 
229
259
  cmd_remove_network =
230
- config.active['cmd_docker_container_remove_network'] % {
231
- network: network
232
- }
260
+ format(
261
+ config.active['cmd_docker_container_remove_network'],
262
+ network: network
263
+ )
233
264
 
234
265
  run cmd_remove_network
235
266
  end
@@ -239,23 +270,25 @@ module DockerContainerModule
239
270
  log.debug "Running command \"#{command}\" in container \"#{container}\""
240
271
 
241
272
  cmd_docker_run_command =
242
- config.active['cmd_docker_container_docker_exec'] % {
243
- container: container,
244
- username: @username,
245
- command: command
246
- }
273
+ format(
274
+ config.active['cmd_docker_container_docker_exec'],
275
+ container: container,
276
+ username: @username,
277
+ command: command
278
+ )
247
279
 
248
280
  run_and_exit cmd_docker_run_command
249
281
  end
250
282
 
251
283
  # Stop container.
252
- def _stop_container(container)
284
+ def _docker_container_stop_container(container)
253
285
  log.debug "Stopping container \"#{container}\""
254
286
 
255
287
  cmd_docker_stop =
256
- config.active['cmd_docker_container_stop_container'] % {
257
- container: container
258
- }
288
+ format(
289
+ config.active['cmd_docker_container_stop_container'],
290
+ container: container
291
+ )
259
292
 
260
293
  run cmd_docker_stop
261
294
  end
@@ -1,8 +1,8 @@
1
- module Takelage
1
+ # frozen_string_literal: true
2
2
 
3
+ module Takelage
3
4
  # takelage docker image check
4
5
  class DockerImageCheck < SubCommandBase
5
-
6
6
  include LoggingModule
7
7
  include SystemModule
8
8
  include ConfigModule
@@ -13,7 +13,6 @@ module Takelage
13
13
 
14
14
  # Initialize takelage docker image check
15
15
  def initialize(args = [], local_options = {}, configuration = {})
16
-
17
16
  # initialize thor parent class
18
17
  super args, local_options, configuration
19
18
 
@@ -1,27 +1,41 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # takelage docker image check module
2
4
  module DockerImageCheckModule
3
-
4
5
  # Backend method for docker image check outdated.
5
- # @return [Boolean] is docker image tag older than latest remote docker image tag?
6
+ # @return [Boolean] is docker image tag older than latest remote image tag?
7
+ # rubocop:disable Style/RedundantSort
6
8
  def docker_image_check_outdated(tag)
7
9
  log.debug "Check if docker image version \"#{tag}\" is outdated"
8
10
 
9
11
  return false unless docker_check_running
10
12
 
11
- if tag == 'latest'
12
- log.debug "Docker image version \"latest\" is by definition never outdated"
13
- return false
14
- end
13
+ return false if _docker_outdated_tag_latest? tag
15
14
 
16
15
  tag_latest_remote = docker_image_tag_latest_remote
17
- tags = [tag, tag_latest_remote]
18
- outdated = tag != VersionSorter.sort(tags).last
16
+ tags = [tag, docker_image_tag_latest_remote]
17
+ outdated = (tag != VersionSorter.sort(tags).last)
19
18
 
20
- if outdated
21
- "Docker image version \"#{tag}\" is outdated"
22
- "Docker image version \"#{tag_latest_remote}\" is available"
23
- end
19
+ _docker_outdated_log_info tag, tag_latest_remote if outdated
24
20
 
25
21
  outdated
26
22
  end
23
+
24
+ # rubocop:enable Style/RedundantSort
25
+
26
+ private
27
+
28
+ # Check if the tag is "latest".
29
+ def _docker_outdated_tag_latest?(tag)
30
+ return false unless tag == 'latest'
31
+
32
+ log.debug 'Docker image version "latest" is by definition never outdated'
33
+ true
34
+ end
35
+
36
+ # Log info if docker image is outdated.
37
+ def _docker_outdated_log_info(tag, tag_latest_remote)
38
+ log.debug "Docker image version is outdated: #{tag}"
39
+ log.debug "Docker image version is available: #{tag_latest_remote}"
40
+ end
27
41
  end
@@ -1,8 +1,8 @@
1
- module Takelage
1
+ # frozen_string_literal: true
2
2
 
3
+ module Takelage
3
4
  # takelage docker image
4
5
  class DockerImage < SubCommandBase
5
-
6
6
  include LoggingModule
7
7
  include SystemModule
8
8
  include ConfigModule
@@ -12,8 +12,7 @@ module Takelage
12
12
  include DockerImageModule
13
13
 
14
14
  # Initialize takelage docker image
15
- def initialize(args=[], local_options={}, configuration={})
16
-
15
+ def initialize(args = [], local_options = {}, configuration = {})
17
16
  # initialize thor parent class
18
17
  super args, local_options, configuration
19
18
 
@@ -1,28 +1,33 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # takelage docker image module
2
4
  module DockerImageModule
3
-
4
5
  # Backend method for docker image update.
5
6
  def docker_image_update
6
7
  return false unless docker_check_running
7
8
 
8
9
  tags_remote = docker_image_tag_list_remote
9
10
 
10
- if tags_remote.include? 'latest'
11
- tag = 'latest'
12
- else
13
- tag = docker_image_tag_latest_remote
14
- end
11
+ tag = 'latest'
12
+ tag = docker_image_tag_latest_remote unless tags_remote.include?('latest')
15
13
 
16
- cmd_docker_pull_latest =
17
- config.active['cmd_docker_image_update_docker_pull_latest'] % {
18
- docker_user: @docker_user,
19
- docker_repo: @docker_repo,
20
- tag_latest_remote: tag
21
- }
14
+ cmd_docker_pull_latest = _docker_image_update_cmd_docker_pull_latest tag
22
15
 
23
16
  cmd_docker_remove_dangling =
24
- config.active['cmd_docker_image_update_docker_remove_dangling']
17
+ config.active['cmd_docker_image_update_docker_remove_dangling']
25
18
 
26
19
  run_and_exit "#{cmd_docker_pull_latest} && #{cmd_docker_remove_dangling}"
27
20
  end
28
- end
21
+
22
+ private
23
+
24
+ # Prepare dpcker pull latest command.
25
+ def _docker_image_update_cmd_docker_pull_latest(tag)
26
+ format(
27
+ config.active['cmd_docker_image_update_docker_pull_latest'],
28
+ docker_user: @docker_user,
29
+ docker_repo: @docker_repo,
30
+ tag_latest_remote: tag
31
+ )
32
+ end
33
+ end
@@ -1,8 +1,8 @@
1
- module Takelage
1
+ # frozen_string_literal: true
2
2
 
3
+ module Takelage
3
4
  # takelage docker image tag check
4
5
  class DockerImageTagCheck < SubCommandBase
5
-
6
6
  include LoggingModule
7
7
  include SystemModule
8
8
  include ConfigModule
@@ -12,7 +12,6 @@ module Takelage
12
12
 
13
13
  # Initialize takelage docker image tag check
14
14
  def initialize(args = [], local_options = {}, configuration = {})
15
-
16
15
  # initialize thor parent class
17
16
  super args, local_options, configuration
18
17
 
@@ -1,6 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # takelage docker image tag check module
2
4
  module DockerImageTagCheckModule
3
-
4
5
  # Backend method for docker image check tag local.
5
6
  # @return [Boolean] does local docker image tag exist?
6
7
  def docker_image_tag_check_local(tag)
@@ -9,23 +10,13 @@ module DockerImageTagCheckModule
9
10
  return false unless docker_check_running
10
11
 
11
12
  if tag.to_s.strip.empty?
12
- log.warn "No local docker image tag specified"
13
+ log.warn 'No local docker image tag specified'
13
14
  return false
14
15
  end
15
16
 
16
17
  image = "#{@docker_user}/#{@docker_repo}:#{tag}"
17
18
 
18
- cmd_docker_images =
19
- config.active['cmd_docker_image_tag_check_local_docker_images'] % {
20
- image: image
21
- }
22
-
23
- stdout_str = run cmd_docker_images
24
-
25
- if stdout_str.to_s.strip.empty?
26
- log.debug "No local docker image \"#{image}\" found"
27
- return false
28
- end
19
+ return false unless _docker_image_check_local_image? image
29
20
 
30
21
  log.debug "Found local docker image \"#{image}\""
31
22
  true
@@ -38,21 +29,46 @@ module DockerImageTagCheckModule
38
29
 
39
30
  return false unless docker_check_running
40
31
 
41
- if tag .to_s.strip.empty?
42
- log.warn "No remote docker image tag specified"
32
+ if tag.to_s.strip.empty?
33
+ log.warn 'No remote docker image tag specified'
43
34
  return false
44
35
  end
45
36
 
46
37
  image = "#{@docker_user}/#{@docker_repo}:#{tag}"
47
38
 
39
+ return false unless _docker_iamge_check_remote_image? image, tag
40
+
41
+ log.debug "Found remote docker image \"#{image}\""
42
+ true
43
+ end
44
+
45
+ private
46
+
47
+ # Check if local image exists.
48
+ def _docker_image_check_local_image?(image)
49
+ cmd_docker_images =
50
+ format(
51
+ config.active['cmd_docker_image_tag_check_local_docker_images'],
52
+ image: image
53
+ )
54
+
55
+ if (run cmd_docker_images).to_s.strip.empty?
56
+ log.debug "No local docker image \"#{image}\" found"
57
+ return false
58
+ end
59
+
60
+ true
61
+ end
62
+
63
+ # Check if remote image exists.
64
+ def _docker_iamge_check_remote_image?(image, tag)
48
65
  tags = docker_image_tag_list_remote
49
66
 
50
- unless tags != false and tags.include? tag
67
+ unless tags != false && tags.include?(tag)
51
68
  log.debug "No remote docker image \"#{image}\" found"
52
69
  return false
53
70
  end
54
71
 
55
- log.debug "Found remote docker image \"#{image}\""
56
72
  true
57
73
  end
58
74
  end
@@ -1,8 +1,8 @@
1
- module Takelage
1
+ # frozen_string_literal: true
2
2
 
3
+ module Takelage
3
4
  # takelage docker image tag
4
5
  class DockerImageTag < SubCommandBase
5
-
6
6
  desc 'check [COMMAND]', 'Check docker image tag'
7
7
  subcommand 'check', DockerImageTagCheck
8
8
 
@@ -11,6 +11,5 @@ module Takelage
11
11
 
12
12
  desc 'list [COMMAND]', 'Print local or remote docker image tags'
13
13
  subcommand 'list', DockerImageTagList
14
-
15
14
  end
16
15
  end
@@ -1,8 +1,8 @@
1
- module Takelage
1
+ # frozen_string_literal: true
2
2
 
3
+ module Takelage
3
4
  # takelage docker image tag latest
4
5
  class DockerImageTagLatest < SubCommandBase
5
-
6
6
  include LoggingModule
7
7
  include SystemModule
8
8
  include ConfigModule
@@ -12,7 +12,6 @@ module Takelage
12
12
 
13
13
  # Initialize takelage docker image tag latest
14
14
  def initialize(args = [], local_options = {}, configuration = {})
15
-
16
15
  # initialize thor parent class
17
16
  super args, local_options, configuration
18
17