#!/usr/bin/env ruby # encoding: utf-8 require 'mdpreview' require 'pathname' require 'json' # p ARGV # puts Mdpreview.hi(ARGV) # puts __FILE__ # puts File.dirname(__FILE__) # File.join(File.dirname(__FILE__), '..', 'lib') path = Pathname.new(File.join(File.dirname(__FILE__), '..')).realpath.to_s p "Bee API Request starting ...." require 'optparse' options = {} option_parser = OptionParser.new do |opts| # 这里是这个命令行工具的帮助信息 opts.banner = 'open and modify markdown file of the command line tool.' # # Option 作为switch,不带argument,用于将switch设置成true或false options[:log] = false # 下面第一项是Short option(没有可以直接在引号间留空),第二项是Long option,第三项是对Option的描述 opts.on('-l', '--log', 'is show log details') do # 这个部分就是使用这个Option后执行的代码 options[:log] = true end # Option 作为flag,带argument,用于将argument作为数值解析,比如"name"信息 #下面的“value”就是用户使用时输入的argument opts.on('-f sourceFileNAME', '--name sourceFileNAME', 'Pass-in source file name') do |value| # options[:fname] = value # Mdpreview.hi(path+'/'+value) gem_root_path = File.expand_path('./', value) p gem_root_path data = IO.readlines(gem_root_path).join('') result = JSON.parse(data) p "url = "+result['url'] p "params = "+result['params'].to_s p "method = "+result['method'] if result['method'] == 'post' # post easy_post(result['url'],result['params']) {|x| p x.body} elsif # get # easy_get(value) uri = '?' result['params'].each do |z| uri += z[0] +'&' +z[1] end url = result['url'] + uri easy_get(url) end # easy_post(result['url'],result['params']) {|x| p x.body} end opts.on('-g sourceFileNAME', '--name sourceFileNAME', 'Pass-in get url') do |value| # options[:fname] = value easy_get(value) # Mdpreview.hi(path+'/'+value) end # Option 作为flag,带一组用逗号分割的arguments,用于将arguments作为数组解析 # opts.on('-a A,B', '--array A,B', Array, 'List of arguments') do |value| # options[:array] = value # end end.parse! puts options.inspect