#!/usr/bin/ruby #$DEBUG = true #$VERBOSE = true # # external libraries # require 'bundler/setup' require 'pp' require 'thor' # # project libraries # 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)