Class: Trk::Link

Inherits:
Object
  • Object
show all
Defined in:
lib/trk/link.rb

Constant Summary collapse

BASE_URL =
"https://trk.tools"
BRANCH_PREFIX =
"-/blob/main/"
BRANCH_RAW_PREFIX =
"-/raw/main/"
THIS_CODE_IS_FROM =
"This code is from:"
START_OF_CODE_FROM =
"Start of code from:"
END_OF_CODE_FROM =
"End of code from:"
WGET =
"#   wget -P"

Instance Method Summary collapse

Constructor Details

#initialize(filename = nil) ⇒ Link

Returns a new instance of Link.



11
12
13
# File 'lib/trk/link.rb', line 11

def initialize(filename = nil)
  @filename = filename
end

Instance Method Details

#rawObject



37
38
39
40
41
42
43
44
45
46
47
# File 'lib/trk/link.rb', line 37

def raw
  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
  folders_from_trk_tools = full_path.sub(/.*trk.tools\//, "")
  return Error.new "File #{@filename} is not inside trk.tools" if full_path == folders_from_trk_tools

  repo_path = folders_from_trk_tools.split("/")[0..1].join("/")
  file_path = folders_from_trk_tools.split("/")[2..].join("/")
  file_folder = folders_from_trk_tools.split("/")[2..-2].join("/") || "."
  link = "#{WGET} #{file_folder} #{BASE_URL}/#{repo_path}/#{BRANCH_RAW_PREFIX}#{file_path}"
  Result.new "OK", link: link
end

#showObject



15
16
17
18
19
20
21
22
23
24
# File 'lib/trk/link.rb', line 15

def show
  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
  folders_from_trk_tools = full_path.sub(/.*trk.tools\//, "")
  return Error.new "File #{@filename} is not inside trk.tools" if full_path == folders_from_trk_tools

  repo_path = folders_from_trk_tools.split("/")[0..1].join("/")
  file_path = folders_from_trk_tools.split("/")[2..].join("/")
  link = "# #{START_OF_CODE_FROM} #{BASE_URL}/#{repo_path}/#{BRANCH_PREFIX}#{file_path}"
  Result.new "OK", link: link
end

#show_endObject



26
27
28
29
30
31
32
33
34
35
# File 'lib/trk/link.rb', line 26

def show_end
  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
  folders_from_trk_tools = full_path.sub(/.*trk.tools\//, "")
  return Error.new "File #{@filename} is not inside trk.tools" if full_path == folders_from_trk_tools

  repo_path = folders_from_trk_tools.split("/")[0..1].join("/")
  file_path = folders_from_trk_tools.split("/")[2..].join("/")
  link = "# #{END_OF_CODE_FROM} #{BASE_URL}/#{repo_path}/#{BRANCH_PREFIX}#{file_path}"
  Result.new "OK", link: link
end