trk 0.1.1 → 0.1.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 (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trk/cli.rb +26 -6
  3. data/lib/trk/version.rb +3 -1
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: feddb773ec28d36aad912b704ca488b29d2f6b12ee35db61207f2e8876e55b96
4
- data.tar.gz: ab1b844add9cec346e27370f60243e533b83ca5742edef3c190e4bff3cd49f1e
3
+ metadata.gz: 3da7a8df4179a04353de1da8f56b71fd084ea0b7323509669a033b5bbe0cd427
4
+ data.tar.gz: dcfe27b52720e39081f6c834e8b98becd7b142ccd033da7c59844c1ad10aa737
5
5
  SHA512:
6
- metadata.gz: 03f8dd4d1590db3f4e5174dcb7e03b60dc2770994bced3301175f843151ae97c659c93c379504e65572e07541c92721094a4486285ba3f7e1d52551577a641ea
7
- data.tar.gz: 2046e11599329a9759b71865543a8f44a895f119727f652d78a53e26249a1519a8080b2ebad6a2edd2d6f9ee18561b90f5f5be74b80f9f7a9ae2bc9416c98fb2
6
+ metadata.gz: 40d509303d7f61454e4d9c369c7600e7b6626bb2775160a27c69f2afe7709a4b256d393d4169592f791f7b8cdfba0b90ea88e151a1cc5c6bd532640214ea1241
7
+ data.tar.gz: 17d7a7f32106d78233e56a426d86000f7b08d53a6f161de9bc5d073409c7640eff887d15a9ace02434cff9019f232c60e0c691ea51b1937c37718104f8023381
data/lib/trk/cli.rb CHANGED
@@ -1,10 +1,24 @@
1
1
  require "thor"
2
2
  require "open3"
3
+ require "net/http"
4
+ require "uri"
3
5
 
4
6
  module Trk
5
7
  class CLI < Thor
6
- desc "pull", "Pulls Git repositories inside sub-sub directories"
8
+ desc "add_github_keys USERNAME", "Add Github user public keys to .ssh/authorized_keys"
9
+ def add_github_keys(username)
10
+ uri = URI "https://trk.tools/sh/ssh-tips/-/raw/main/add_github_keys_to_authorized_keys.sh"
11
+ script = Net::HTTP.get uri
12
+ stdout, stderr, status = Open3.capture3 "bash -s -- #{username}", stdin_data: script
13
+ puts stdout
14
+ if status.success?
15
+ puts "#{CHECK_ICON} add_github_keys #{username} done"
16
+ else
17
+ puts "#{UNCHECK_ICON} add_github_keys #{username} failed:\n#{stderr}"
18
+ end
19
+ end
7
20
 
21
+ desc "pull", "Pulls Git repositories inside sub-sub directories"
8
22
  def pull
9
23
  base_dir = File.expand_path("~/trk.tools")
10
24
  sub_sub_dirs = Dir.glob("#{base_dir}/*/*").select { |d| File.directory?(d) }
@@ -17,24 +31,30 @@ module Trk
17
31
  _stdout, stderr, status = Open3.capture3("git pull")
18
32
 
19
33
  if status.success?
20
- puts "✅ Git pull successful in: #{dir}"
21
34
  _stdout, stderr, status = Open3.capture3("git push")
22
35
  if status.success?
23
- puts "✅ Git pull successful in: #{dir}"
36
+ stdout, stderr, _status = Open3.capture3("git status --porcelain")
37
+ if stdout.empty?
38
+ puts "#{CHECK_ICON} Git pull push successful in: #{dir}"
39
+ else
40
+ puts "#{UNCHECK_ICON} Git status --porcelain failed in: #{dir}\n#{stdout}\n#{stderr}"
41
+ puts "Opening shell for manual fix. Type 'exit' when done."
42
+ system('PS1="trk pull paused on [$(basename $(pwd))]$ " bash --norc')
43
+ end
24
44
  else
25
- puts " Git push failed in: #{dir}\n#{stderr}"
45
+ puts "#{UNCHECK_ICON} Git push failed in: #{dir}\n#{stderr}"
26
46
  puts "Opening shell for manual fix. Type 'exit' when done."
27
47
  system('PS1="trk pull paused on [$(basename $(pwd))]$ " bash --norc')
28
48
  end
29
49
  else
30
- puts " Git pull failed in: #{dir}\n#{stderr}"
50
+ puts "#{UNCHECK_ICON} Git pull failed in: #{dir}\n#{stderr}"
31
51
  puts "Opening shell for manual fix. Type 'exit' when done."
32
52
  system('PS1="trk pull paused on [$(basename $(pwd))]$ " bash --norc')
33
53
  end
34
54
  end
35
55
  end
36
56
 
37
- puts "\n All done!"
57
+ puts "\n#{CHECK_ICON} All done!"
38
58
  end
39
59
  end
40
60
  end
data/lib/trk/version.rb CHANGED
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Trk
4
- VERSION = "0.1.1"
4
+ VERSION = "0.1.3"
5
+ CHECK_ICON = "✅ "
6
+ UNCHECK_ICON = "❌ "
5
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dusan Orlovic
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-03-10 00:00:00.000000000 Z
11
+ date: 2025-03-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor