docker-cli 0.1.1 → 0.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 772cf53882bfb45cf43be6d235ecca8ed718bbc8967cb9552b52fcdcc39ec4b7
4
- data.tar.gz: 6ab201e6b5b70d5d3b07e0b06d9b007139c98b4a65c0a31b5cd8f47f1f774c8d
3
+ metadata.gz: 70e675b039f436ae267c09f5ff766d6c6fe80781b3502f01c1684614c994735e
4
+ data.tar.gz: 1e01b0315a9507886da689d63f6f061b4e0455f650b210d4cdce603c8086c036
5
5
  SHA512:
6
- metadata.gz: 3287974fed58b9d9ddc311f3ace54cc28ceb427ad9a9049efc8936374afec8866bbd393d1e61590c5ad7930873c0885e73042fd8f9d63f5ee122624f9fc293a4
7
- data.tar.gz: e7a40193271218b1bf5100acd1a1c606d30c5d327163f74c97aed420b7f82061b91b6af00ab669efeb723a6c766ee2463b1fd0156ca44d76d5509c1815f092d9
6
+ metadata.gz: 617a1e09957069d7d53876c179f30b22c91efa792d28bec7306913832db9a7369318076ded4328e36c5095437f3984b008bffde276b22a2789110514340e4215
7
+ data.tar.gz: 36be5d9e521662e5da112e495004290935ab2883d62ca7a8dfd8cffc8be3dc269148df1697c935d0d8e70b7f7b879f2b23c6c2d0176678bc170936bcc05acabc
data/.release_history.yml CHANGED
@@ -2,3 +2,7 @@
2
2
  docker-cli:
3
3
  - :version: 0.1.0
4
4
  :timestamp: 1670315972.6015687
5
+ - :version: 0.1.1
6
+ :timestamp: 1670648500.3751137
7
+ - :version: 0.2.0
8
+ :timestamp: 1679547303.774784
data/Gemfile CHANGED
@@ -8,3 +8,10 @@ gemspec
8
8
  gem "rake", "~> 13.0"
9
9
 
10
10
  gem "rspec", "~> 3.0"
11
+
12
+ #gem 'toolrack', git: 'toolrack', branch: 'master'
13
+ #
14
+ #gem 'git_cli', git: "git_cli", branch: "master"
15
+ #gem 'git_cli_prompt', git: "git_cli_prompt", branch: 'master'
16
+ #gem 'devops_assist', git: "devops_assist", branch: "master"
17
+
data/Gemfile.lock CHANGED
@@ -1,18 +1,18 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- docker-cli (0.1.0)
5
- ptools
6
- teLogger
7
- toolrack
8
- tty-command
9
- tty-prompt
4
+ docker-cli (0.2.1)
5
+ ptools (~> 1.4.3)
6
+ teLogger (~> 0.2.2)
7
+ toolrack (~> 0.20.1)
8
+ tty-command (~> 0.10.1)
9
+ tty-prompt (~> 0.23.1)
10
10
 
11
11
  GEM
12
12
  remote: https://rubygems.org/
13
13
  specs:
14
14
  base58 (0.2.3)
15
- devops_assist (0.3.1)
15
+ devops_assist (0.3.3)
16
16
  git_cli
17
17
  git_cli_prompt
18
18
  gvcs
@@ -20,7 +20,7 @@ GEM
20
20
  toolrack
21
21
  tty-prompt
22
22
  diff-lcs (1.5.0)
23
- git_cli (0.10.0)
23
+ git_cli (0.11.2)
24
24
  gvcs
25
25
  ptools (~> 1.4.0)
26
26
  teLogger
@@ -29,7 +29,7 @@ GEM
29
29
  teLogger
30
30
  toolrack
31
31
  tty-prompt
32
- gvcs (0.1.0)
32
+ gvcs (0.1.1)
33
33
  pastel (0.8.0)
34
34
  tty-color (~> 0.5)
35
35
  ptools (1.4.3)
@@ -38,17 +38,17 @@ GEM
38
38
  rspec-core (~> 3.12.0)
39
39
  rspec-expectations (~> 3.12.0)
40
40
  rspec-mocks (~> 3.12.0)
41
- rspec-core (3.12.0)
41
+ rspec-core (3.12.1)
42
42
  rspec-support (~> 3.12.0)
43
- rspec-expectations (3.12.0)
43
+ rspec-expectations (3.12.2)
44
44
  diff-lcs (>= 1.2.0, < 2.0)
45
45
  rspec-support (~> 3.12.0)
46
- rspec-mocks (3.12.0)
46
+ rspec-mocks (3.12.4)
47
47
  diff-lcs (>= 1.2.0, < 2.0)
48
48
  rspec-support (~> 3.12.0)
49
49
  rspec-support (3.12.0)
50
- teLogger (0.2.0)
51
- toolrack (0.19.1)
50
+ teLogger (0.2.2)
51
+ toolrack (0.20.1)
52
52
  base58
53
53
  tty-color (0.6.0)
54
54
  tty-command (0.10.1)
@@ -65,13 +65,13 @@ GEM
65
65
  wisper (2.0.1)
66
66
 
67
67
  PLATFORMS
68
- x86_64-linux
68
+ x86_64-darwin-21
69
69
 
70
70
  DEPENDENCIES
71
- devops_assist
71
+ devops_assist (~> 0.3.3)
72
72
  docker-cli!
73
73
  rake (~> 13.0)
74
74
  rspec (~> 3.0)
75
75
 
76
76
  BUNDLED WITH
77
- 2.2.28
77
+ 2.4.6
data/docker-cli.gemspec CHANGED
@@ -30,15 +30,15 @@ Gem::Specification.new do |spec|
30
30
  spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
31
31
  spec.require_paths = ["lib"]
32
32
 
33
- spec.add_dependency 'toolrack'
34
- spec.add_dependency 'teLogger'
33
+ spec.add_dependency 'toolrack', "~> 0.20.1"
34
+ spec.add_dependency 'teLogger', "~> 0.2.2"
35
35
 
36
- spec.add_dependency 'ptools'
36
+ spec.add_dependency 'ptools', "~> 1.4.3"
37
37
 
38
- spec.add_dependency 'tty-command'
39
- spec.add_dependency 'tty-prompt'
38
+ spec.add_dependency 'tty-command', "~> 0.10.1"
39
+ spec.add_dependency 'tty-prompt', "~> 0.23.1"
40
40
 
41
- spec.add_development_dependency 'devops_assist'
41
+ spec.add_development_dependency 'devops_assist', "~> 0.3.3"
42
42
 
43
43
  # Uncomment to register a new dependency of your gem
44
44
  # spec.add_dependency "example-gem", "~> 1.0"
@@ -3,6 +3,8 @@ require 'tty/command'
3
3
  require 'tty/prompt'
4
4
  require 'ptools'
5
5
 
6
+ require 'toolrack'
7
+
6
8
  require_relative 'command_result'
7
9
 
8
10
  module Docker
@@ -41,15 +43,40 @@ module Docker
41
43
  `#{terminal} -x "#{@command_buffer.join(" ")}"`
42
44
  when "gnome-terminal"
43
45
  `#{terminal} -- bash -c "#{@command_buffer.join(" ")}; exec bash"`
46
+ when "iTerm2"
47
+ `osascript -e \
48
+ 'tell application "iTerm"
49
+ activate
50
+
51
+ create window with default profile
52
+ delay 0.5
53
+
54
+ set currentWindow to current window
55
+
56
+ tell current session of currentWindow
57
+ write text "#{@command_buffer.join(" ")}"
58
+ end tell
59
+
60
+ end tell'
61
+ `
62
+ when "Terminal"
63
+ `osascript -e \
64
+ 'tell application "Terminal"
65
+ activate
66
+ do script "#{@command_buffer.join(" ")}"
67
+ end tell'
68
+ `
44
69
  else
45
70
  raise Error, "Unfinished supporting terminal : #{terminal}"
46
71
  end
72
+
73
+ pmt.puts "\n Prompt running inside the Docker shall be opened in a new window\n\n"
47
74
  end
48
75
 
49
76
  else
50
77
  @outStream = []
51
78
  @errStream = []
52
- @result = @runner.run!(@command_buffer.join(" ")) do |out, err|
79
+ result = @runner.run!(@command_buffer.join(" ")) do |out, err|
53
80
  if block
54
81
  block.call(:outstream, out)
55
82
  block.call(:errstream, err)
@@ -59,7 +86,7 @@ module Docker
59
86
  end
60
87
  end
61
88
 
62
- CommandResult.new(@result, @outStream, @errStream)
89
+ CommandResult.new(result, @outStream, @errStream)
63
90
  #{ outStream: @outStream, errStream: @errStream, result: @result }
64
91
  end
65
92
  end
@@ -70,10 +97,17 @@ module Docker
70
97
 
71
98
  private
72
99
  def detect_terminal
73
- possible = [ "gnome-terminal","konsole","cmd.exe", "tilix", "terminator" ]
74
100
  avail = []
75
- possible.each do |app|
76
- avail << app if not File.which(app).nil?
101
+ if TR::RTUtils.on_linux?
102
+ possible = [ "gnome-terminal","konsole","tilix", "terminator" ]
103
+ possible.each do |app|
104
+ avail << app if not File.which(app).nil?
105
+ end
106
+ elsif TR::RTUtils.on_windows?
107
+ avail << "cmd.exe"
108
+ elsif TR::RTUtils.on_mac?
109
+ avail << "Terminal"
110
+ avail << "iTerm2"
77
111
  end
78
112
  avail
79
113
  end
@@ -192,15 +192,13 @@ module Docker
192
192
 
193
193
  isTty = false
194
194
  isInteractive = false
195
- if is_empty?(opts[:command])
196
- if not_empty?(opts[:tty]) and opts[:tty] == true
197
- cmd << "-t"
198
- isTty = true
199
- end
200
- if not_empty?(opts[:interactive]) and opts[:interactive] == true
201
- cmd << "-i"
202
- isInteractive = true
203
- end
195
+ if not_empty?(opts[:tty]) and opts[:tty] == true
196
+ cmd << "-t"
197
+ isTty = true
198
+ end
199
+ if not_empty?(opts[:interactive]) and opts[:interactive] == true
200
+ cmd << "-i"
201
+ isInteractive = true
204
202
  end
205
203
 
206
204
  cmd << container
@@ -1,4 +1,5 @@
1
1
 
2
+ require 'toolrack'
2
3
 
3
4
  module Docker
4
5
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Docker
4
4
  module Cli
5
- VERSION = "0.1.1"
5
+ VERSION = "0.2.1"
6
6
  end
7
7
  end
data/ruby-iterm2.sh ADDED
@@ -0,0 +1,46 @@
1
+ #!/bin/sh
2
+ PATH_AND_FILE=$1
3
+
4
+ THE_PATH="${PATH_AND_FILE%/*}"
5
+ FILENAME="${PATH_AND_FILE##*/}"
6
+ echo "Script called"
7
+ echo "PATH_AND_FILE=$PATH_AND_FILE"
8
+ echo "THE_PATH=$THE_PATH"
9
+ echo "FILENAME=$FILENAME"
10
+
11
+ osascript <<EOF
12
+
13
+ tell application "iTerm"
14
+ activate
15
+
16
+ # Check to see if we have an open window. If not, open one.
17
+ if (count windows) is 0 then # no window is open.
18
+ create window with default profile
19
+ delay 0.5
20
+ end if
21
+
22
+ set currentWindow to current window # get a reference to current window
23
+
24
+ # We have an open window.
25
+ tell current session of currentWindow
26
+ if (is processing) or (name is not "bash") then # the current session is busy
27
+ tell currentWindow
28
+ create tab with default profile #- create a new tab
29
+ delay 0.5
30
+ end tell
31
+ end if
32
+ end tell
33
+
34
+ tell current session of currentWindow
35
+ # make sure we're in the right directory
36
+ write text "cd '$THE_PATH'"
37
+ delay 0.5
38
+
39
+ # run the script
40
+ set script_string to "$2" & " " & quoted form of "$FILENAME"
41
+ write text script_string
42
+
43
+ end tell
44
+
45
+ end tell
46
+ EOF
metadata CHANGED
@@ -1,99 +1,99 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: docker-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ian
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-12-10 00:00:00.000000000 Z
11
+ date: 2023-03-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: toolrack
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 0.20.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 0.20.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: teLogger
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 0.2.2
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 0.2.2
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: ptools
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 1.4.3
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 1.4.3
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: tty-command
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: 0.10.1
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: 0.10.1
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: tty-prompt
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: 0.23.1
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: 0.23.1
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: devops_assist
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0'
89
+ version: 0.3.3
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '0'
96
+ version: 0.3.3
97
97
  description: ''
98
98
  email:
99
99
  - cameronian0@protonmail.com
@@ -116,10 +116,11 @@ files:
116
116
  - lib/docker/cli/command_factory.rb
117
117
  - lib/docker/cli/command_result.rb
118
118
  - lib/docker/cli/version.rb
119
+ - ruby-iterm2.sh
119
120
  homepage: ''
120
121
  licenses: []
121
122
  metadata: {}
122
- post_install_message:
123
+ post_install_message:
123
124
  rdoc_options: []
124
125
  require_paths:
125
126
  - lib
@@ -134,8 +135,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
134
135
  - !ruby/object:Gem::Version
135
136
  version: '0'
136
137
  requirements: []
137
- rubygems_version: 3.2.22
138
- signing_key:
138
+ rubygems_version: 3.4.6
139
+ signing_key:
139
140
  specification_version: 4
140
141
  summary: ''
141
142
  test_files: []