feat: add support for sshfs option (-o) in config #51

Merged
glenux merged 1 commit from feature/50-add-support-for-sshfs-options into develop 2024-10-05 12:44:14 +00:00
3 changed files with 17 additions and 9 deletions

View file

@ -31,6 +31,6 @@ Log.setup do |config|
end end
end end
app = GX::Cli.new cli = GX::Cli.new
app.parse_command_line(ARGV) cli.parse_command_line(ARGV)
app.run cli.run

View file

@ -13,6 +13,7 @@ module GX::Models
getter remote_user : String = "" getter remote_user : String = ""
getter remote_host : String = "" getter remote_host : String = ""
getter remote_port : String = "22" getter remote_port : String = "22"
getter options : Array(String) = [] of String
include Concerns::Base include Concerns::Base
@ -28,13 +29,19 @@ module GX::Models
mount_point_safe = @mount_point mount_point_safe = @mount_point
raise InvalidMountpointError.new("Invalid mount point") if mount_point_safe.nil? raise InvalidMountpointError.new("Invalid mount point") if mount_point_safe.nil?
options = [] of String
# merge sshfs options
@options.each do |option|
options.push("-o", option)
end
options.push("-p", remote_port)
options.push(
"#{@remote_user}@#{@remote_host}:#{@remote_path}",
mount_point_safe
)
process = Process.new( process = Process.new(
"sshfs", "sshfs",
[ options,
"-p", remote_port,
"#{@remote_user}@#{@remote_host}:#{@remote_path}",
mount_point_safe,
],
input: STDIN, input: STDIN,
output: STDOUT, output: STDOUT,
error: STDERR error: STDERR
@ -43,3 +50,4 @@ module GX::Models
end end
end end
end end