Sha256: 5e69ecc93daf527305b0dc282382d8dab02359d270e0a950081a6dcadcc8db34
Contents?: true
Size: 1.07 KB
Versions: 2
Compression:
Stored size: 1.07 KB
Contents
module Oci8Simple # == Description # A very thin wrapper around Oci8Simple::Client that handles ARGV / options and # formats the output in a manner suitable for printing on the console # == Usage # cli = Oci8Simple::Cli.new # cli.run "select id, name from foos" # "3, Bacon\n5, Cheese Puffs\n..." class Cli include Command attr_accessor :env, :client def initialize(env=nil) self.env = env end def run(sql, options={}) format(client.run(sql, options), options) end def format(arr, options) if(options[:hash]) arr.map{|row| row.map{|k,v| "#{k}: #{v}"}.join("\n")}.join("\n\n") else arr.map{|row| row.join(", ")}.join("\n") end end def client @client ||= Client.new(env) end def self.usage "Usage: #{$0} [-e ENV] \"SQL\"" end def self.run_from_argv o = parse_options(self.usage) if(ARGV[0].nil?) puts o else puts self.new(@options[:environment]).run(ARGV[0], @options) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
oci8_simple-1.0.1 | lib/oci8_simple/cli.rb |
oci8_simple-1.0.0 | lib/oci8_simple/cli.rb |