takelage 0.19.2 → 0.20.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6aa0131de034a40fab39f1bdc5435a6b0fc7492fb04095e9ce9cafdafd0397f7
4
- data.tar.gz: c692ea862efc2de07fc8dee8b270ea619be072bffc55e6aaa1161ac213a98ef1
3
+ metadata.gz: ff76a5fa994c76003af554e174ec3d4ae3e1a8b4e08caf61df2101e0bedd5607
4
+ data.tar.gz: 85de4c4db687bfa14385614ba4960314655909775b975c7a32c01aabe7573cb4
5
5
  SHA512:
6
- metadata.gz: 368e12c99f24c3b3ecc0d514f316185a7fc3db8fb655aed1638c495e79dec54007f0949ef30a175bfefa1b96e677112c40bc306c9269aa7764b798a38080a479
7
- data.tar.gz: a93aaa7eac509fcdb520b059e8635d3b23b7e63400e7eb213ecd1477406483cbf236ea2c8ec41f0c851202906cb8f2ef0baa91692450c9f67729191a11ce0e66
6
+ metadata.gz: e51313c752ce726c55d786541ff273a63291e3c31cee20416bf70e2ee48906b3e02ccfef97bbfe1c6164ce1dbad4dc781f5ec1ce0f4e11915495e59cc73f8390
7
+ data.tar.gz: fb5458e2480025692fb344dba806c595570a756bf59abd45dfe948bc4af0edd4f315c3e7d5f23f2c7511d8b96d1996d4156d1e1e63323de39213f93b1db5c985
data/README.md CHANGED
@@ -52,6 +52,8 @@ tau [bit clipboard copy](features/takelage/bit/bit.clipboard.copy.feature) [DIR]
52
52
  tau [bit clipboard paste](features/takelage/bit/bit.clipboard.paste.feature) [COMPONENT] [DIR] | Paste bit [COMPONENT] into [DIR]
53
53
  tau [bit clipboard pull](features/takelage/bit/bit.clipboard.pull.feature) | Pull all updates for bit components from bit remote scopes
54
54
  tau [bit clipboard push](features/takelage/bit/bit.clipboard.push.feature) | Push all updates of bit components to bit remote scopes
55
+ tau [bit require export](features/takelage/bit/bit.require.export.feature) | Show requirements file of bit components
56
+ tau [bit require import](features/takelage/bit/bit.require.import.feature) | Import bit components from requirements file
55
57
  tau [bit scope add](features/takelage/bit/bit.scope.add.feature) [SCOPE] | Add a bit [SCOPE]
56
58
  tau [bit scope inbit](features/takelage/bit/bit.scope.inbit.feature) | Log in to bit remote server
57
59
  tau [bit scope list](features/takelage/bit/bit.scope.list.feature) | List bit remote scopes
@@ -38,6 +38,10 @@ require_relative 'takelage/bit/clipboard/paste'
38
38
  require_relative 'takelage/bit/clipboard/pull'
39
39
  require_relative 'takelage/bit/clipboard/push'
40
40
  require_relative 'takelage/bit/clipboard/cli'
41
+ require_relative 'takelage/bit/require/lib'
42
+ require_relative 'takelage/bit/require/export'
43
+ require_relative 'takelage/bit/require/import'
44
+ require_relative 'takelage/bit/require/cli'
41
45
  require_relative 'takelage/bit/cli'
42
46
  require_relative 'takelage/completion/cli'
43
47
  require_relative 'takelage/docker/check/running'
@@ -112,7 +116,7 @@ module Takelage
112
116
  # Initialize global singleton project
113
117
  initialize_project
114
118
 
115
- # prepare for the worst
119
+ # Prepare for the worst
116
120
  @docker_daemon_running = false
117
121
 
118
122
  # fylla bash completion code
@@ -9,6 +9,9 @@ module Takelage
9
9
  desc 'clipboard [COMMAND]', 'Manage bit clipboard'
10
10
  subcommand 'clipboard', BitClipboard
11
11
 
12
+ desc 'require [COMMAND]', 'Manage bit requirements'
13
+ subcommand 'require', BitRequire
14
+
12
15
  desc 'scope [COMMAND]', 'Manage bit scopes'
13
16
  subcommand 'scope', BitScope
14
17
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Takelage
4
- # takelage bit
4
+ # takelage bit clipboard
5
5
  class BitClipboard < SubCommandBase
6
6
  include LoggingModule
7
7
  include ConfigModule
@@ -43,7 +43,7 @@ module BitClipboardCopy
43
43
  end
44
44
  # rubocop:enable Metrics/MethodLength
45
45
 
46
- # touch README.bit if necessary
46
+ # Touch README.bit if necessary.
47
47
  def _bit_clipboard_copy_touch_readme_bit(dir)
48
48
  readme_bit = "#{dir}/README.bit"
49
49
  return if File.file? readme_bit
@@ -52,7 +52,7 @@ module BitClipboardCopy
52
52
  File.open(readme_bit, 'w') {}
53
53
  end
54
54
 
55
- # check if a README.bit file exists in a subdirectory
55
+ # Check if a README.bit file exists in a subdirectory.
56
56
  def _bit_clipboard_copy_readme_bit_exists_in_subdir?(dir)
57
57
  Dir.glob("#{dir}/**/README.bit").each do |file|
58
58
  unless file == "#{dir}/README.bit"
@@ -64,7 +64,7 @@ module BitClipboardCopy
64
64
  false
65
65
  end
66
66
 
67
- # Check if bit scope exists
67
+ # Check if bit scope exists.
68
68
  def _bit_clipboard_copy_dir_scope_exists?(scope)
69
69
  bit_dev = config.active['bit_dev_user']
70
70
 
@@ -78,7 +78,7 @@ module BitClipboardCopy
78
78
  true
79
79
  end
80
80
 
81
- # check if bit.dev remote scope exists
81
+ # Check if bit.dev remote scope exists.
82
82
  def _bit_clipboard_bit_dev_scope_exists(scope)
83
83
  cmd_bit_list_scope = format(
84
84
  config.active['cmd_bit_clipboard_copy_bit_list_scope'],
@@ -93,7 +93,7 @@ module BitClipboardCopy
93
93
  false
94
94
  end
95
95
 
96
- # check if bit remote scope is added to local workspace
96
+ # Check if bit remote scope is added to local workspace.
97
97
  def _bit_clipboard_custom_scope_exists(scope)
98
98
  cmd_bit_list_remotes =
99
99
  config.active['cmd_bit_clipboard_copy_bit_list_remotes']
@@ -107,7 +107,7 @@ module BitClipboardCopy
107
107
  false
108
108
  end
109
109
 
110
- # bit tag dir
110
+ # bit tag dir.
111
111
  def _bit_clipboard_copy_add_dir(id, dir)
112
112
  cmd_bit_add_dir = format(
113
113
  config.active['cmd_bit_clipboard_copy_bit_add_dir'],
@@ -118,7 +118,7 @@ module BitClipboardCopy
118
118
  run cmd_bit_add_dir
119
119
  end
120
120
 
121
- # bit tag dir
121
+ # bit tag dir.
122
122
  def _bit_clipboard_copy_tag_dir(id)
123
123
  cmd_bit_tag_id = format(
124
124
  config.active['cmd_bit_clipboard_copy_bit_tag_id'],
@@ -128,7 +128,7 @@ module BitClipboardCopy
128
128
  run cmd_bit_tag_id
129
129
  end
130
130
 
131
- # bit export component to bit remote scope
131
+ # bit export component to bit remote scope.
132
132
  def _bit_clipboard_copy_export_to_scope(scope)
133
133
  cmd_bit_export_to_scope = format(
134
134
  config.active['cmd_bit_clipboard_copy_bit_export_to_scope'],
@@ -52,29 +52,28 @@ module BitClipboardLib
52
52
  log.debug 'Syncing git workspace'
53
53
 
54
54
  _rakefile, path = Rake.application.find_rakefile_location
55
- bitmap = "#{path}/.bitmap"
55
+ file = "#{path}/.bitmap"
56
+ message = 'Update .bitmap'
56
57
 
57
- _bit_clipboard_lib_git_add bitmap
58
- _bit_clipboard_lib_git_commit bitmap
58
+ _bit_clipboard_lib_git_add file
59
+ _bit_clipboard_lib_git_commit message
59
60
  _bit_clipboard_lib_git_push
60
61
  end
61
62
 
62
- # git add .bitmap
63
- def _bit_clipboard_lib_git_add(bitmap)
64
- log.debug "Adding \"#{bitmap}\" to git"
63
+ # git add .bitmap.
64
+ def _bit_clipboard_lib_git_add(file)
65
+ log.debug "Adding \"#{file}\" to git"
65
66
 
66
67
  cmd_bit_clipboard_git_add = format(
67
68
  config.active['cmd_bit_clipboard_git_add'],
68
- file: bitmap
69
+ file: file
69
70
  )
70
71
  run cmd_bit_clipboard_git_add
71
72
  end
72
73
 
73
- # git commit -m "Update .bitmap"
74
- def _bit_clipboard_lib_git_commit(bitmap)
75
- message = 'Update .bitmap'
76
-
77
- log.debug "Committing \"#{bitmap}\" to git"
74
+ # git commit -m "Update .bitmap".
75
+ def _bit_clipboard_lib_git_commit(message)
76
+ log.debug "Committing to git with message \"#{message}\""
78
77
 
79
78
  cmd_bit_clipboard_git_commit = format(
80
79
  config.active['cmd_bit_clipboard_git_commit'],
@@ -84,7 +83,7 @@ module BitClipboardLib
84
83
  run cmd_bit_clipboard_git_commit
85
84
  end
86
85
 
87
- # git push origin master
86
+ # git push origin master.
88
87
  def _bit_clipboard_lib_git_push
89
88
  log.debug 'Pushing master branch to origin'
90
89
 
@@ -94,7 +93,7 @@ module BitClipboardLib
94
93
  run cmd_bit_clipboard_git_push
95
94
  end
96
95
 
97
- # git pull
96
+ # git pull.
98
97
  def _bit_clipboard_lib_git_pull
99
98
  log.debug 'Updating git workspace'
100
99
  cmd_bit_clipboard_git_pull =
@@ -20,7 +20,7 @@ module BitClipboardPaste
20
20
 
21
21
  private
22
22
 
23
- # paste bit component into directory
23
+ # paste bit component into directory.
24
24
  def _bit_clipboard_paste_import_cid(cid, dir)
25
25
  cmd_bit_import_cid = format(
26
26
  config.active['cmd_bit_clipboard_paste_bit_import_cid'],
@@ -31,6 +31,7 @@ module BitClipboardPaste
31
31
  run cmd_bit_import_cid
32
32
  end
33
33
 
34
+ # Check if remote component exists.
34
35
  def _bit_clipboard_paste_cid_exists?(cid)
35
36
  scope = cid.scan(%r{([^/]*).*}).first.first
36
37
 
@@ -45,7 +46,7 @@ module BitClipboardPaste
45
46
  false
46
47
  end
47
48
 
48
- # get components in remote scope
49
+ # Get components in remote scope.
49
50
  def _bit_clipboard_paste_cid_exists_list_scope(scope)
50
51
  cmd_bit_list_scope = format(
51
52
  config.active['cmd_bit_clipboard_paste_bit_list_scope'],
@@ -19,7 +19,7 @@ module BitClipboardPull
19
19
 
20
20
  private
21
21
 
22
- # bit import components into workspace
22
+ # bit import components into workspace.
23
23
  def _bit_clipboard_pull_import_all
24
24
  cmd_bit_import_all =
25
25
  config.active['cmd_bit_clipboard_pull_bit_import_all']
@@ -27,7 +27,7 @@ module BitClipboardPull
27
27
  run cmd_bit_import_all
28
28
  end
29
29
 
30
- # checkout components and merge them
30
+ # Checkout components and merge them.
31
31
  def _bit_clipboard_pull_checkout_all
32
32
  cmd_bit_checkout_all =
33
33
  config.active['cmd_bit_clipboard_pull_bit_checkout_all']
@@ -2,7 +2,7 @@
2
2
 
3
3
  # takelage bit clipboard push
4
4
  module BitClipboardPush
5
- # Backend method for bit push
5
+ # Backend method for bit push.
6
6
  def bit_clipboard_push
7
7
  log.debug 'Running bit push'
8
8
 
@@ -19,7 +19,7 @@ module BitClipboardPush
19
19
 
20
20
  private
21
21
 
22
- # bit tag all components
22
+ # bit tag all components.
23
23
  def _bit_clipboard_push_tag_all
24
24
  cmd_bit_tag_all =
25
25
  config.active['cmd_bit_clipboard_push_bit_tag_all']
@@ -27,7 +27,7 @@ module BitClipboardPush
27
27
  run cmd_bit_tag_all
28
28
  end
29
29
 
30
- # bit export components
30
+ # bit export components.
31
31
  def _bit_clipboard_push_export_all
32
32
  cmd_bit_export_all =
33
33
  config.active['cmd_bit_clipboard_push_bit_export_all']
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Takelage
4
+ # takelage bit requiere
5
+ class BitRequire < SubCommandBase
6
+ include LoggingModule
7
+ include ConfigModule
8
+ include SystemModule
9
+ include GitCheckClean
10
+ include GitCheckMaster
11
+ include GitCheckWorkspace
12
+ include BitCheckWorkspace
13
+ include BitScopeList
14
+ include BitScopeAdd
15
+ include BitClipboardLib
16
+ include BitClipboardCopy
17
+ include BitClipboardPaste
18
+ include BitRequireLib
19
+ include BitRequireExport
20
+ include BitRequireImport
21
+
22
+ # Initialize bit require
23
+ def initialize(args = [], local_options = {}, configuration = {})
24
+ # initialize thor parent class
25
+ super args, local_options, configuration
26
+
27
+ @bit_require_file = config.active['bit_require_file']
28
+ end
29
+
30
+ #
31
+ # bit require export
32
+ #
33
+ desc 'export', 'Create requirements file with bit components.'
34
+ long_desc <<-LONGDESC.gsub("\n", "\x5")
35
+ Create requirements file with bit components
36
+ LONGDESC
37
+ # Create requirements file with bit components.
38
+ def export
39
+ bit_require_yml = bit_require_export
40
+ exit false if bit_require_yml == false
41
+ say bit_require_yml
42
+ true
43
+ end
44
+
45
+ #
46
+ # bit require import
47
+ #
48
+ desc 'import', 'Import bit components from requirements file.'
49
+ long_desc <<-LONGDESC.gsub("\n", "\x5")
50
+ Import bit components from requirements file
51
+ LONGDESC
52
+ # Import bit components from requirements file.
53
+ def import
54
+ exit bit_require_import
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ # takelage bit require export
4
+ module BitRequireExport
5
+ # Backend method for bit require export.
6
+ def bit_require_export
7
+ log.debug 'Running bit require export'
8
+
9
+ components = _bit_require_lib_get_components
10
+ bitrequire_yml = _bit_require_export_get_bitrequire_yml components
11
+
12
+ log.debug "bitrequire.yml of this project:\n#{bitrequire_yml}"
13
+ bitrequire_yml
14
+ end
15
+
16
+ private
17
+
18
+ # Create contents of bitrequire yaml file.
19
+ # rubocop:disable Metrics/AbcSize
20
+ def _bit_require_export_get_bitrequire_yml(components)
21
+ bitrequire = {}
22
+ components.each do |component|
23
+ scope = component['id'].clone.gsub!(%r{/.*}, '')
24
+ name = component['id'].clone.gsub!(%r{#{scope}/}, '')
25
+ bitrequire['scopes'] = { scope => [] } if bitrequire['scopes'].nil?
26
+ bitrequire['scopes'] = { scope => [] } unless bitrequire['scopes'].key? scope
27
+ bitrequire['scopes'][scope] << { 'name' => name }
28
+ end
29
+ hash_to_yaml bitrequire
30
+ end
31
+ # rubocop:enable Metrics/AbcSize
32
+ end
@@ -0,0 +1,129 @@
1
+ # frozen_string_literal: true
2
+
3
+ # takelage bit require import
4
+ module BitRequireImport
5
+ # Backend method for bit require import.
6
+ def bit_require_import
7
+ log.debug 'Running bit require import'
8
+
9
+ return false unless _bit_clipboard_lib_prepare_workspace
10
+
11
+ return false unless _bit_require_import_check_require_file_exists
12
+
13
+ scopes = _bit_require_import_get_scopes_and_components
14
+ return false unless scopes
15
+
16
+ components = _bit_require_import_get_components scopes
17
+ return false unless components
18
+
19
+ return false unless _bit_require_import_add_scopes scopes
20
+
21
+ _bit_require_import_paste_components components
22
+ end
23
+
24
+ private
25
+
26
+ # Check if a bit requirements file exists.
27
+ def _bit_require_import_check_require_file_exists
28
+ return true if File.exist? @bit_require_file
29
+
30
+ log.error "No #{@bit_require_file} file found"
31
+ false
32
+ end
33
+
34
+ # Get scopes and components from requirements file.
35
+ def _bit_require_import_get_scopes_and_components
36
+ bit_require = read_yaml_file(@bit_require_file)
37
+ return bit_require['scopes'] if bit_require.key?('scopes')
38
+
39
+ log.error "No scopes in #{@bit_require_file} file"
40
+ false
41
+ end
42
+
43
+ # Get flat components array.
44
+ def _bit_require_import_get_components(scopes)
45
+ components_all = []
46
+ scopes.each do |scope, components|
47
+ scope_components = _bit_require_import_get_scope_components scope, components
48
+ return false unless scope_components
49
+
50
+ components_all |= scope_components
51
+ end
52
+ components_all
53
+ end
54
+
55
+ # Get bit components of a scope.
56
+ def _bit_require_import_get_scope_components(scope, components)
57
+ scope_components = []
58
+ components.each do |component|
59
+ return false unless _bit_require_import_check_component_valid component, scope
60
+
61
+ name = component['name']
62
+ path = name
63
+ path = component['path'] if component.key?('path')
64
+ scope_components << { name: name, path: path, scope: scope }
65
+ log.debug "Identified bit component \"#{name}\" with path \"#{path}\" in scope \"#{scope}\""
66
+ end
67
+ scope_components
68
+ end
69
+
70
+ # Check if there are bit components
71
+ def _bit_require_import_check_component_valid(component, scope)
72
+ return true if (component.class == Hash) && component.key?('name')
73
+
74
+ log.error "No component in #{scope}"
75
+ false
76
+ end
77
+
78
+ # Add bit scopes to workspace.
79
+ def _bit_require_import_add_scopes(scopes)
80
+ scopes.each do |scope, _components|
81
+ bit_scope_add scope unless _bit_clipboard_bit_dev_scope_exists scope
82
+ end
83
+ end
84
+
85
+ # Paste bit components.
86
+ def _bit_require_import_paste_components(components)
87
+ _rakefile, path = Rake.application.find_rakefile_location
88
+ components.each do |component|
89
+ next if _bit_require_import_check_component_exists component, path
90
+
91
+ return false unless _bit_require_import_paste_component component
92
+
93
+ _bit_require_import_commit_component component, path
94
+ end
95
+ true
96
+ end
97
+
98
+ # Check if there are bit components
99
+ def _bit_require_import_check_component_exists(component, path)
100
+ scope = component[:scope]
101
+ cid = component[:name]
102
+ dir = component[:path]
103
+ dest = "#{path}/#{dir}"
104
+ cids = _bit_require_lib_get_components_ids
105
+ return false unless cids.include? "#{scope}/#{cid}"
106
+
107
+ log.warn "Skipping existing bit component \"#{scope}/#{cid}\" with path \"#{dest}\""
108
+ true
109
+ end
110
+
111
+ # Paste a bit component
112
+ def _bit_require_import_paste_component(component)
113
+ scope = component[:scope]
114
+ cid = component[:name]
115
+ dir = component[:path]
116
+ bit_clipboard_paste "#{scope}/#{cid}", dir
117
+ end
118
+
119
+ # Commit a bit component
120
+ def _bit_require_import_commit_component(component, path)
121
+ scope = component[:scope]
122
+ cid = component[:name]
123
+ dir = component[:path]
124
+ dest = "#{path}/#{dir}"
125
+ message = "Add bit component \"#{scope}/#{cid}\" to path \"#{dest}\""
126
+ _bit_clipboard_lib_git_add dest
127
+ _bit_clipboard_lib_git_commit message
128
+ end
129
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ # takelage bit require lib
4
+ module BitRequireLib
5
+ private
6
+
7
+ # Get bit components.
8
+ def _bit_require_lib_get_components
9
+ cmd_bit_list = config.active['cmd_bit_require_lib_bit_list']
10
+ bit_list = run cmd_bit_list
11
+ JSON.parse bit_list
12
+ end
13
+
14
+ # Get bit components ids.
15
+ def _bit_require_lib_get_components_ids
16
+ cmd_bit_list_ids = config.active['cmd_bit_require_lib_bit_list_ids']
17
+ run cmd_bit_list_ids
18
+ end
19
+ end
@@ -9,7 +9,7 @@ module BitScopeList
9
9
 
10
10
  return false unless configured? %w[bit_ssh bit_remote]
11
11
 
12
- # get ssh command from active config
12
+ # get ssh command from active config.
13
13
  cmd_bit_ssh =
14
14
  config.active['bit_ssh']
15
15
 
@@ -17,7 +17,7 @@ module BitScopeList
17
17
 
18
18
  cmd_bit_scope_list = _bit_scope_list_cmd root
19
19
 
20
- # run ssh command with scope list command
20
+ # run ssh command with scope list command.
21
21
  scope_list = run "#{cmd_bit_ssh} '#{cmd_bit_scope_list}'"
22
22
 
23
23
  # remove bit remote root directory from results
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  bit_dev_user: 'takelage'
3
3
  bit_remote: ''
4
+ bit_require_file: 'bitrequire.yml'
4
5
  bit_root: '/bit'
5
6
  bit_ssh: ''
6
7
  cmd_bit_check_workspace_bit_list: 'bit list'
@@ -20,6 +21,9 @@ cmd_bit_clipboard_pull_bit_import_all: 'bit import --ignore-package-json --ignor
20
21
  cmd_bit_clipboard_pull_bit_checkout_all: 'bit checkout --ignore-package-json --ignore-dist --skip-update --skip-npm-install --all latest'
21
22
  cmd_bit_clipboard_push_bit_tag_all: 'bit tag --skip-update --skip-tests --all'
22
23
  cmd_bit_clipboard_push_bit_export_all: 'bit export --skip-update --all'
24
+ cmd_bit_clipboard_export_bit_list: 'bit list --skip-update --json %{scope}'
25
+ cmd_bit_require_lib_bit_list: 'bit list --skip-update --json'
26
+ cmd_bit_require_lib_bit_list_ids: 'bit list --skip-update --json --ids'
23
27
  cmd_bit_scope_add_scope: 'bit remote add %{remote}/%{scope}'
24
28
  cmd_bit_scope_list_find_scopes: 'find -L %{root} -name scope.json'
25
29
  cmd_bit_scope_new_bit_init: 'mkdir -p %{root}/%{scope} && cd %{root}/%{scope} && bit init --bare'
@@ -22,6 +22,7 @@ module DockerContainerCheckExisting
22
22
 
23
23
  private
24
24
 
25
+ # Format command to check if docker container exists.
25
26
  def _docker_container_cmd_check_existing(container)
26
27
  format(
27
28
  config.active['cmd_docker_container_check_existing_docker_ps'],
@@ -22,6 +22,7 @@ module DockerContainerCheckNetwork
22
22
 
23
23
  private
24
24
 
25
+ # Prepare command to check if docker network exists.
25
26
  def _docker_container_cmd_check_network(network)
26
27
  format(
27
28
  config.active['cmd_docker_container_check_network_docker_network'],
@@ -22,6 +22,7 @@ module DockerContainerCheckOrphaned
22
22
 
23
23
  private
24
24
 
25
+ # Format command to check if docker container is orphaned.
25
26
  def _docker_container_cmd_check_orphaned(container)
26
27
  format(
27
28
  config.active['cmd_docker_container_check_orphaned_docker_exec'],
@@ -16,7 +16,7 @@ module DockerContainerClean
16
16
 
17
17
  private
18
18
 
19
- # Check if we are running tau clean inside a takelage container
19
+ # Check if we are running tau clean inside a takelage container.
20
20
  def _docker_container_clean_harakiri?
21
21
  hostname = ENV['HOSTNAME'] || ''
22
22
  return false unless hostname.start_with? "#{@docker_repo}_"
@@ -26,7 +26,7 @@ module DockerContainerClean
26
26
  true
27
27
  end
28
28
 
29
- # Kill all docker containers and return list of networks
29
+ # Kill all docker containers and return list of networks.
30
30
  def _docker_container_clean_kill_existing_containers
31
31
  networks = []
32
32
  _docker_container_lib_get_containers.each do |container|
@@ -14,7 +14,7 @@ module DockerContainerPrune
14
14
 
15
15
  private
16
16
 
17
- # Kill orphaned docker containers and return list of networks
17
+ # Kill orphaned docker containers and return list of networks.
18
18
  def _docker_container_prune_kill_orphaned_containers
19
19
  networks = []
20
20
 
@@ -23,7 +23,7 @@ module DockerSocketLib
23
23
  cmds_start_socket
24
24
  end
25
25
 
26
- # Get socket start command
26
+ # Get socket start command.
27
27
  def _docker_socket_lib_get_start_cmd(mode, socket, host, port, path)
28
28
  if mode == 'start'
29
29
  unless _docker_socket_lib_socket_up? socket, host, port, path
@@ -45,7 +45,7 @@ module DockerSocketLib
45
45
  )
46
46
  end
47
47
 
48
- # Check if a socket is available by trying to connect to it via TCP
48
+ # Check if a socket is available by trying to connect to it via TCP.
49
49
  def _docker_socket_lib_socket_up?(socket, host, port, path)
50
50
  error_message = _docker_socket_lib_error_msg socket, host, port, path
51
51
  begin
@@ -19,6 +19,7 @@ module ConfigModule
19
19
  end
20
20
 
21
21
  # Initialze config
22
+ # rubocop:disable Metrics/AbcSize
22
23
  def initialize_config
23
24
  log.debug "takelage version: #{Takelage::VERSION}"
24
25
  log.debug "Current working directory: #{Dir.pwd}"
@@ -28,6 +29,7 @@ module ConfigModule
28
29
  TakelageConfig.instance.project = _config_read_project
29
30
  TakelageConfig.instance.active = _config_merge_active
30
31
  end
32
+ # rubocop:enable Metrics/AbcSize
31
33
 
32
34
  # @return [Object] global singleton config
33
35
  def config
@@ -55,7 +57,7 @@ module ConfigModule
55
57
  false
56
58
  end
57
59
 
58
- # Check if config key is nil or empty
60
+ # Check if config key is nil or empty.
59
61
  def _check_key_set?(config_key)
60
62
  takel_config_key = TakelageConfig.instance.active[config_key]
61
63
  return true unless takel_config_key.nil? || takel_config_key.empty?
@@ -99,7 +101,7 @@ module ConfigModule
99
101
  project_yaml.sort.to_h
100
102
  end
101
103
 
102
- # Merge active config
104
+ # Merge active config.
103
105
  def _config_merge_active
104
106
  # make a clone or else we'll change the original hash
105
107
  default = TakelageConfig.instance.default.clone
@@ -28,12 +28,14 @@ module LoggingModule
28
28
 
29
29
  private
30
30
 
31
+ # Get log format.
31
32
  def _logging_get_log_format
32
33
  proc do |severity, _datetime, _progname, msg|
33
34
  "[#{severity}] #{msg}\n"
34
35
  end
35
36
  end
36
37
 
38
+ # Get log level.
37
39
  def _logging_get_log_level(loglevel)
38
40
  if %w[FATAL ERROR WARN INFO DEBUG].include? loglevel
39
41
  loglevel
@@ -2,12 +2,12 @@
2
2
 
3
3
  # Thor with subcommands that work correctly with help
4
4
  class SubCommandBase < Thor
5
- # Set the subcommand banner
5
+ # Set the subcommand banner.
6
6
  def self.banner(command, _namespace = nil, _subcommand = false)
7
7
  "#{basename} #{subcommand_prefix} #{command.usage}"
8
8
  end
9
9
 
10
- # Set the subcommand prefix
10
+ # Set the subcommand prefix.
11
11
  def self.subcommand_prefix
12
12
  name.gsub(/.*::/, '')
13
13
  .gsub(/^[A-Z]/) { |match| match[0].downcase }
@@ -20,6 +20,7 @@ module SelfList
20
20
 
21
21
  private
22
22
 
23
+ # Manipulate output of thor list command.
23
24
  def _manipulate_output_(thor_list)
24
25
  thor_list.gsub!("takelage\n", '')
25
26
  thor_list.gsub!("------\n", '')
@@ -1 +1 @@
1
- 0.19.2
1
+ 0.20.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.19.2
4
+ version: 0.20.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Geospin
@@ -214,6 +214,10 @@ files:
214
214
  - lib/takelage/bit/clipboard/paste.rb
215
215
  - lib/takelage/bit/clipboard/pull.rb
216
216
  - lib/takelage/bit/clipboard/push.rb
217
+ - lib/takelage/bit/require/cli.rb
218
+ - lib/takelage/bit/require/export.rb
219
+ - lib/takelage/bit/require/import.rb
220
+ - lib/takelage/bit/require/lib.rb
217
221
  - lib/takelage/bit/scope/add.rb
218
222
  - lib/takelage/bit/scope/cli.rb
219
223
  - lib/takelage/bit/scope/inbit.rb
@@ -284,7 +288,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
284
288
  requirements:
285
289
  - - ">="
286
290
  - !ruby/object:Gem::Version
287
- version: '0'
291
+ version: '2.4'
288
292
  required_rubygems_version: !ruby/object:Gem::Requirement
289
293
  requirements:
290
294
  - - ">="