class DoCli::Parser

Public Class Methods

droplets_parse(argv) click to toggle source
# File lib/docli/options_parse.rb, line 7
def self.droplets_parse argv
        opt_parser = OptionParser.new do |opt|
                opt.banner = "Usage: docli droplets [COMMAND]"
                opt.separator  ""
                opt.separator  "Commands"
                opt.separator  "     create: create new droplets on DigitalOcean"
                opt.separator  "     list: list all droplets on DigitalOcean"
                opt.separator  ""
                opt.separator  "Options"
                opt.on("-h","--help","show help message")
                opt.separator  ""
                opt.separator  "Show help command:"
                opt.separator  "docli droplets [COMMAND] --help"
        end

        case ARGV[1]
        when "create"
                Docli::Droplets.create_new_droplets argv
        when "list"
                DoCli::Droplets.list_all_droplets
        else
                puts opt_parser
        end
end
file_parse(argv) click to toggle source
# File lib/docli/options_parse.rb, line 32
def self.file_parse argv
        options = {}
        opt_parser = OptionParser.new do |opt|
                opt.banner = "Usage: docli create -f [FILE]"
                opt.banner = "               docli apply --file [FILE]"
                opt.separator  ""
                opt.separator  "Commands"
                opt.separator  "     create: create new droplets on DigitalOcean"
                opt.separator  "     list: list all droplets on DigitalOcean"
                opt.separator  ""
                opt.separator  "Options"
                opt.on("-f ","--file ","File contain the resources define") do |file|
                        options[:file_config] = file
                end
                opt.on("-h","--help","show help message")
                opt.separator  ""
                opt.separator  "Show help command:"
                opt.separator  "docli droplets [COMMAND] --help"
        end

        opt_parser.parse!
        if options[:file_config].nil?
                puts "Please specify your config file".red
                puts opt_parser
                exit
        end
        context = YAML.load(File.open(options[:file_config]))

        context.each do |key, value|
                case value["resource_type"]
                when "droplets"
                        Cmd::NewDroplets.create_new_droplets_from_file value
                else
                        puts "Cannot get resource_type" + value['resource_type']
                        puts opt_parser
                        exit
                end
        end
end