def select(*args)
      case args[0]
      when nil
        raise ArgumentError, "Not enough arguments"
      when :first
        args.shift
        @connection.select_hash_first(*args)
      when :all
        args.shift
        @connection.select_hash_all(*args)
      else
        @connection.select_hash_all(*args)
      end
    end
def select(*args)
      case args[0]
      when nil
        raise ArgumentError, "Not enough arguments"
      when :first
        args.shift
        @connection.select_hash_first(*args)
      when :all
        args.shift
        @connection.select_hash_all(*args)
      else
        @connection.select_hash_all(*args)
      end
    end
Select :first or :all values. Examples:

   plsql.select :first, "SELECT * FROM employees WHERE employee_id = :1", 1
   plsql.select :all, "SELECT * FROM employees ORDER BY employee_id"