trk 0.1.6 → 0.1.8

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: daa75cf6eea07a201c466b5d8d18bf320ed898bf9458d94345b8481a0b9ec110
4
- data.tar.gz: d1698a006089a9e4a49b6d63efed1aace33a9bdd9a311f99e6014e14994e5a26
3
+ metadata.gz: d801933ed2fbbba2061aa5c63fa026f44204ac35b0b3d9c2a7268e024b924d87
4
+ data.tar.gz: bf385c29ba9af81e616f969261fa491ec4a649a7ec54ef13c63de4bb103cc9dd
5
5
  SHA512:
6
- metadata.gz: 0d77302b31fe36f291dd222e777de1f3f05999e8b67b03288296817e2e81e596017fe9a73507f5f89697e269c08e570eed3597774d0e2860ee163e00d607e574
7
- data.tar.gz: ea4d57c56eb0edffc2498a10780b3f797d3d75f1b0c57a34b512dd01cf762111a7c6630a7cdcc683f71b866d73d317f9dfb54e68eadc8492aa9796833e85a8bc
6
+ metadata.gz: 206534aa53d7b5cc0f98b91e844b9468654fc8c7b913ca2603256a692bdb818be50421540328417791c8f34abe18a540b798728bfe0df15d31cdc0259ab83190
7
+ data.tar.gz: 46f5c88ab980c63e22edfbfd36090b97874dcc44e1d7235c1387e403a1db4110939a3f2eb08a8ad3e01a4835499b0c8681fdce21c0a7ca976663038d5190c450
data/README.md CHANGED
@@ -17,13 +17,13 @@ mkdir ~/trk
17
17
 
18
18
  ### Links for code in README
19
19
 
20
- For complete file
20
+ For a single line or for complete file we can use comment
21
21
  ```
22
22
  # This code is from: https://trk.tools/app/trk-readme-source-links/-/blob/main/README.md
23
23
  ```
24
24
 
25
- When only a part of the file is extracted from trk.tools use Start and End of
26
- code
25
+ When a part of the file is extracted from trk.tools we can use `Start` and `End
26
+ of code from:`
27
27
 
28
28
  ```
29
29
  # .bashrc
@@ -42,13 +42,18 @@ Using this gem you can get the string with
42
42
  trk link-show
43
43
  ```
44
44
 
45
+ ### Vim mapping link show
46
+
45
47
  For vim you can use mapping
46
48
  ```
47
49
  # .vimrc
50
+ # Start of code from: https://trk.tools/app/trk-readme-source-links/-/blob/main/README.md
48
51
  nnoremap <leader>s :r !trk link-show %<CR>
52
+ # End of code from: https://trk.tools/app/trk-readme-source-links/-/blob/main/README.md
49
53
 
50
54
  # local gem
51
55
  nnoremap <leader>s :r !cd ~/trk.tools/app/trk-readme-source-links && bundle exec exe/trk link-show %:p<CR>
56
+ nnoremap <leader>e :r !cd ~/trk.tools/app/trk-readme-source-links && bundle exec exe/trk link-show-end %:p<CR>
52
57
  nnoremap <leader>r :r !cd ~/trk.tools/app/trk-readme-source-links && bundle exec exe/trk link-show-raw %:p<CR>
53
58
  ```
54
59
 
@@ -82,6 +87,8 @@ trk pull
82
87
 
83
88
  ## Development
84
89
 
90
+ To install this gem onto your local machine, run `bundle exec rake install`.
91
+
85
92
  Run without installing the gem
86
93
  ```
87
94
  bundle exec exe/trk pull
@@ -112,8 +119,12 @@ ruby -Itest test/test_link.rb --name test_link_show_success
112
119
 
113
120
  ## Gem push
114
121
 
115
- To install this gem onto your local machine, run `bundle exec rake install`.
116
- To release a new version, update the version number in `lib/trk/version.rb`, and
122
+ To release a new version, update the version number, git commit
123
+ ```
124
+ vi lib/trk/version.rb
125
+
126
+ git commit -am"Update"
127
+ ```
117
128
  then deploy with:
118
129
  ```
119
130
  bundle exec rake release
data/lib/trk/cli.rb CHANGED
@@ -16,8 +16,8 @@ module Trk
16
16
 
17
17
  def self.help(shell, subcommand = false)
18
18
  super
19
- puts "\n To enable autocomplete, put in .bashrc: 'complete -W \"$(trk completion)\" trk', eg:\n"
20
- puts "echo '# https://trk.tools/app/trk-readme-source-links\ncomplete -W \"$(trk completion)\" trk' >> ~/.bashrc && source ~/.bashrc"
19
+ puts "\nTo enable autocomplete, put in .bashrc following two lines:"
20
+ puts "# https://trk.tools/app/trk-readme-source-links\ntrk completion > /dev/null 2>&1 && complete -W \"$(trk completion)\" trk"
21
21
  end
22
22
 
23
23
  desc "completion", "Outputs available commands for autocompletion"
@@ -58,18 +58,24 @@ module Trk
58
58
  puts "#{CHECK_ICON} Git pull push successful in: #{dir}"
59
59
  else
60
60
  puts "#{UNCHECK_ICON} Git status --porcelain failed in: #{dir}\n#{stdout}\n#{stderr}"
61
- puts "Opening shell for manual fix. Type 'exit' when done."
62
- system('PS1="trk pull paused on [$(basename $(pwd))]$ " bash --norc')
61
+ system "git status"
62
+ system "git diff"
63
+ puts "Do you want to run 'git add . && git commit -amUpdate' and continue (Y/n) ?"
64
+ answer = $stdin.gets.strip.downcase
65
+ if answer == "" || answer == "y"
66
+ success = system "git add . && git commit -amUpdate && git push"
67
+ open_shell unless success
68
+ else
69
+ open_shell
70
+ end
63
71
  end
64
72
  else
65
73
  puts "#{UNCHECK_ICON} Git push failed in: #{dir}\n#{stderr}"
66
- puts "Opening shell for manual fix. Type 'exit' when done."
67
- system('PS1="trk pull paused on [$(basename $(pwd))]$ " bash --norc')
74
+ open_shell
68
75
  end
69
76
  else
70
77
  puts "#{UNCHECK_ICON} Git pull failed in: #{dir}\n#{stderr}"
71
- puts "Opening shell for manual fix. Type 'exit' when done."
72
- system('PS1="trk pull paused on [$(basename $(pwd))]$ " bash --norc')
78
+ open_shell
73
79
  end
74
80
  end
75
81
  end
@@ -77,7 +83,12 @@ module Trk
77
83
  puts "\n#{CHECK_ICON} All done!"
78
84
  end
79
85
 
80
- desc "link-show FILENAME", "Show link of the file"
86
+ def open_shell
87
+ puts "Opening shell for manual fix. Type 'exit' when done."
88
+ system('PS1="trk pull paused on [$(basename $(pwd))]$ " bash --norc')
89
+ end
90
+
91
+ desc "link-show FILENAME", "Show start link of the file"
81
92
  def link_show(filename)
82
93
  result = Link.new(filename).show
83
94
  if result.success?
@@ -88,6 +99,17 @@ module Trk
88
99
  end
89
100
  end
90
101
 
102
+ desc "link-show-end FILENAME", "Show end link of the file"
103
+ def link_show_end(filename)
104
+ result = Link.new(filename).show_end
105
+ if result.success?
106
+ # puts "#{CHECK_ICON} link done #{result.message}\n#{result.data[:link]}"
107
+ puts result.data[:link]
108
+ else
109
+ puts "#{UNCHECK_ICON} link failed\n#{result.message}"
110
+ end
111
+ end
112
+
91
113
  desc "link-show-raw FILENAME", "Show wget link of the file"
92
114
  def link_show_raw(filename)
93
115
  result = Link.new(filename).raw
data/lib/trk/link.rb CHANGED
@@ -13,26 +13,35 @@ module Trk
13
13
  end
14
14
 
15
15
  def show
16
- full_path = File.absolute_path?(@filename) ? @filename : File.expand_path(@filename)
17
- home_path = Dir.home
18
- folders_from_home = full_path.sub(/^#{Regexp.escape(home_path)}\//, "").split("/")
19
- return Error.new "File #{@filename} is not inside ~/trk.tools" unless folders_from_home.first == "trk.tools"
16
+ full_path = File.absolute_path?(@filename) ? @filename : File.expand_path(@filename) # /Volumes/ONETB/dule/trk.tools/app/trk-readme-source-links/test/test_link.rb
17
+ folders_from_trk_tools = full_path.sub(/.*trk.tools\//, "")
18
+ return Error.new "File #{@filename} is not inside trk.tools" if full_path == folders_from_trk_tools
20
19
 
21
- repo_path = folders_from_home[1..2].join("/")
22
- file_path = folders_from_home[3..].join("/")
23
- link = "# #{THIS_CODE_IS_FROM} #{BASE_URL}/#{repo_path}/#{BRANCH_PREFIX}#{file_path}"
20
+ repo_path = folders_from_trk_tools.split("/")[0..1].join("/")
21
+ file_path = folders_from_trk_tools.split("/")[2..].join("/")
22
+ link = "# #{START_OF_CODE_FROM} #{BASE_URL}/#{repo_path}/#{BRANCH_PREFIX}#{file_path}"
23
+ Result.new "OK", link: link
24
+ end
25
+
26
+ def show_end
27
+ full_path = File.absolute_path?(@filename) ? @filename : File.expand_path(@filename) # /Volumes/ONETB/dule/trk.tools/app/trk-readme-source-links/test/test_link.rb
28
+ folders_from_trk_tools = full_path.sub(/.*trk.tools\//, "")
29
+ return Error.new "File #{@filename} is not inside trk.tools" if full_path == folders_from_trk_tools
30
+
31
+ repo_path = folders_from_trk_tools.split("/")[0..1].join("/")
32
+ file_path = folders_from_trk_tools.split("/")[2..].join("/")
33
+ link = "# #{END_OF_CODE_FROM} #{BASE_URL}/#{repo_path}/#{BRANCH_PREFIX}#{file_path}"
24
34
  Result.new "OK", link: link
25
35
  end
26
36
 
27
37
  def raw
28
- full_path = File.absolute_path?(@filename) ? @filename : File.expand_path(@filename)
29
- home_path = Dir.home
30
- folders_from_home = full_path.sub(/^#{Regexp.escape(home_path)}\//, "").split("/")
31
- return Error.new "File #{@filename} is not inside ~/trk.tools" unless folders_from_home.first == "trk.tools"
38
+ full_path = File.absolute_path?(@filename) ? @filename : File.expand_path(@filename) # /Volumes/ONETB/dule/trk.tools/app/trk-readme-source-links/test/test_link.rb
39
+ folders_from_trk_tools = full_path.sub(/.*trk.tools\//, "")
40
+ return Error.new "File #{@filename} is not inside trk.tools" if full_path == folders_from_trk_tools
32
41
 
33
- repo_path = folders_from_home[1..2].join("/")
34
- file_path = folders_from_home[3..].join("/")
35
- file_folder = folders_from_home[3..-2].join("/") || "."
42
+ repo_path = folders_from_trk_tools.split("/")[0..1].join("/")
43
+ file_path = folders_from_trk_tools.split("/")[2..].join("/")
44
+ file_folder = folders_from_trk_tools.split("/")[2..-2].join("/") || "."
36
45
  link = "#{WGET} #{file_folder} #{BASE_URL}/#{repo_path}/#{BRANCH_RAW_PREFIX}#{file_path}"
37
46
  Result.new "OK", link: link
38
47
  end
data/lib/trk/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Trk
4
- VERSION = "0.1.6"
4
+ VERSION = "0.1.8"
5
5
  CHECK_ICON = "✅ "
6
6
  UNCHECK_ICON = "❌ "
7
7
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dusan Orlovic
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-03-17 00:00:00.000000000 Z
10
+ date: 2025-05-24 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: thor
@@ -57,7 +57,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - ">="
59
59
  - !ruby/object:Gem::Version
60
- version: 3.0.0
60
+ version: 3.0.1
61
61
  required_rubygems_version: !ruby/object:Gem::Requirement
62
62
  requirements:
63
63
  - - ">="