Sha256: 965eff3f1cc6c6cca93b9732100470f523a299bf44e0f9f28521acf5b8ee0190
Contents?: true
Size: 1.93 KB
Versions: 1
Compression:
Stored size: 1.93 KB
Contents
#!/usr/bin/env ruby # The command line Restfully client $LOAD_PATH.unshift File.dirname(__FILE__) + '/../lib' require 'restfully' require 'optparse' require 'logger' require 'pp' @options = {} option_parser = OptionParser.new do |opts| opts.banner = "Usage: restfully base_url [root_uri] [options]" opts.on("-u=", "--username=", "Sets the username") do |u| @options['username'] = u end opts.on("-p=", "--password=", "Sets the user password") do |p| @options['password'] = p end opts.on("-c=", "--config=", "Sets the various options based on a custom YAML configuration file") do |v| @options['configuration_file'] = v end opts.on("-v", "--verbose", "Run verbosely") do |v| @options['verbose'] = v end opts.on("--log=", "Outputs log messages to the given file. Defaults to stdout") do |v| @options['log'] = v end opts.on_tail("-h", "--help", "Show this message") do puts opts exit end end option_parser.parse! @base_url = ARGV.shift @root_uri = ARGV.shift || "/" if (config_filename = @options.delete('configuration_file')) && File.exists?(File.expand_path(config_filename)) config = YAML.load_file(File.expand_path(config_filename)) @base_url = config.delete('base_url') || @base_url @root_uri = config.delete('root_uri') || @root_uri @options.merge!(config) end unless @base_url $stderr.puts option_parser.help exit(-1) else if (log_file=@options.delete('log')) @logger = Logger.new(File.expand_path(log_file)) else @logger = Logger.new(STDOUT) end if @options.delete('verbose') @logger.level = Logger::DEBUG else @logger.level = Logger::WARN end def session @session ||= Restfully::Session.new(@base_url, @options.merge('root' => @root_uri, 'logger' => @logger)) end def root @root ||= Restfully::Resource.new(session.root, session).load end root # preloads require 'irb' require 'irb/completion' ARGV.clear IRB.start exit! end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
crohr-restfully-0.1.1 | bin/restfully |