Move CLI code in the lib.
This commit is contained in:
parent
73605910ed
commit
283303e45c
3 changed files with 79 additions and 83 deletions
|
@ -8,92 +8,11 @@
|
||||||
#
|
#
|
||||||
require 'bundler/setup'
|
require 'bundler/setup'
|
||||||
require 'pp'
|
require 'pp'
|
||||||
require 'thor'
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# project libraries
|
# project libraries
|
||||||
#
|
#
|
||||||
require 'qasim'
|
require 'qasim'
|
||||||
|
|
||||||
module Qasim
|
|
||||||
|
|
||||||
class Cli < Thor
|
|
||||||
|
|
||||||
desc "init", "initialize user configuration"
|
|
||||||
def init
|
|
||||||
raise NotImplementedError
|
|
||||||
end
|
|
||||||
|
|
||||||
desc "list", "list"
|
|
||||||
def list
|
|
||||||
raise NotImplementedError
|
|
||||||
end
|
|
||||||
|
|
||||||
desc "mount MAPS", "mount selected maps"
|
|
||||||
def mount
|
|
||||||
raise NotImplementedError
|
|
||||||
end
|
|
||||||
|
|
||||||
private
|
|
||||||
#
|
|
||||||
#
|
|
||||||
#
|
|
||||||
def initializez
|
|
||||||
@all_maps = nil
|
|
||||||
@active_maps = nil
|
|
||||||
|
|
||||||
puts "-- sshfs-mapper --"
|
|
||||||
@config = Config.new
|
|
||||||
@config.parse_cmd_line ARGV
|
|
||||||
@config.parse_file
|
|
||||||
|
|
||||||
@all_maps = {}
|
|
||||||
pp @config
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# create default map for each selected map
|
|
||||||
# or default.map if none selected
|
|
||||||
def run_init
|
|
||||||
end
|
|
||||||
|
|
||||||
def run_mount
|
|
||||||
|
|
||||||
# asynchronous mount
|
|
||||||
selected_maps = @config.maps.select do |map|
|
|
||||||
pp map
|
|
||||||
map.online?
|
|
||||||
# if map.available? then
|
|
||||||
# map.connect!
|
|
||||||
# end
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
def run_umount
|
|
||||||
end
|
|
||||||
|
|
||||||
#
|
|
||||||
#
|
|
||||||
#
|
|
||||||
def run
|
|
||||||
case @config.action
|
|
||||||
when Config::ACTION_INIT
|
|
||||||
run_init
|
|
||||||
when Config::ACTION_MOUNT
|
|
||||||
run_mount
|
|
||||||
when Config::ACTION_UMOUNT
|
|
||||||
run_umount
|
|
||||||
else
|
|
||||||
raise RuntimeError, "Unknown action"
|
|
||||||
end
|
|
||||||
|
|
||||||
puts "--run"
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
Qasim::Cli.start(ARGV)
|
Qasim::Cli.start(ARGV)
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
|
|
||||||
|
|
||||||
require 'qasim/version'
|
|
||||||
require 'qasim/constants'
|
require 'qasim/constants'
|
||||||
|
|
||||||
module Qasim
|
module Qasim
|
||||||
autoload :Config, 'qasim/config'
|
autoload :Config, 'qasim/config'
|
||||||
autoload :Map, 'qasim/map'
|
autoload :Map, 'qasim/map'
|
||||||
autoload :Ui, 'qasim/ui'
|
autoload :Ui, 'qasim/ui'
|
||||||
|
autoload :Cli, 'qasim/cli'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
78
lib/qasim/cli.rb
Normal file
78
lib/qasim/cli.rb
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
require 'thor'
|
||||||
|
|
||||||
|
module Qasim
|
||||||
|
class Cli < Thor
|
||||||
|
desc "init", "initialize user configuration"
|
||||||
|
def init
|
||||||
|
raise NotImplementedError
|
||||||
|
end
|
||||||
|
|
||||||
|
desc "list", "list"
|
||||||
|
def list
|
||||||
|
raise NotImplementedError
|
||||||
|
end
|
||||||
|
|
||||||
|
desc "mount MAPS", "mount selected maps"
|
||||||
|
def mount
|
||||||
|
raise NotImplementedError
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#
|
||||||
|
def initializez
|
||||||
|
@all_maps = nil
|
||||||
|
@active_maps = nil
|
||||||
|
|
||||||
|
puts "-- sshfs-mapper --"
|
||||||
|
@config = Config.new
|
||||||
|
@config.parse_cmd_line ARGV
|
||||||
|
@config.parse_file
|
||||||
|
|
||||||
|
@all_maps = {}
|
||||||
|
pp @config
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# create default map for each selected map
|
||||||
|
# or default.map if none selected
|
||||||
|
def run_init
|
||||||
|
end
|
||||||
|
|
||||||
|
def run_mount
|
||||||
|
# asynchronous mount
|
||||||
|
selected_maps = @config.maps.select do |map|
|
||||||
|
pp map
|
||||||
|
map.online?
|
||||||
|
# if map.available? then
|
||||||
|
# map.connect!
|
||||||
|
# end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def run_umount
|
||||||
|
end
|
||||||
|
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#
|
||||||
|
def run
|
||||||
|
case @config.action
|
||||||
|
when Config::ACTION_INIT
|
||||||
|
run_init
|
||||||
|
when Config::ACTION_MOUNT
|
||||||
|
run_mount
|
||||||
|
when Config::ACTION_UMOUNT
|
||||||
|
run_umount
|
||||||
|
else
|
||||||
|
raise RuntimeError, "Unknown action"
|
||||||
|
end
|
||||||
|
|
||||||
|
puts "--run"
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
Loading…
Reference in a new issue