jrubysql 0.1.4 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +7 -0
- data/README.md +7 -4
- data/jrubysql.gemspec +6 -6
- data/lib/jrubysql/constants.rb +2 -2
- data/lib/jrubysql/controller.rb +42 -14
- data/lib/jrubysql/input/console.rb +8 -2
- data/lib/jrubysql/input/script.rb +6 -2
- data/lib/jrubysql/messages.yml +2 -0
- data/lib/jrubysql/option_parser.rb +1 -1
- data/lib/jrubysql/output/color_scheme/default.yml +20 -0
- data/lib/jrubysql/output/cterm.rb +41 -31
- data/lib/jrubysql/output/term.rb +8 -17
- data/lib/jrubysql/rdbms.rb +9 -4
- data/lib/jrubysql/version.rb +1 -1
- data/test/test_jrubysql.rb +3 -3
- metadata +16 -15
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -17,7 +17,7 @@ usage: jrubysql [options]
|
|
17
17
|
jrubysql -t DBMS_TYPE -h HOSTNAME [-u USERNAME] [-p [PASSWORD]] [-d DATABASE]
|
18
18
|
jrubysql -c CLASSNAME -j JDBC_URL [-u USERNAME] [-p [PASSWORD]] [-d DATABASE]
|
19
19
|
|
20
|
-
-t, --type DBMS_TYPE Database type: mysql/oracle/postgres/sqlserver
|
20
|
+
-t, --type DBMS_TYPE Database type: mysql/oracle/postgres/sqlserver/cassandra
|
21
21
|
-h, --host HOST DBMS host address
|
22
22
|
|
23
23
|
-c, --class-name CLASSNAME Class name of the JDBC driver
|
@@ -48,14 +48,17 @@ export CLASSPATH=$CLASSPATH:~/lib/mysql-connector-java-5.1.17-bin.jar:~/lib/ojdb
|
|
48
48
|
### With type (-t) and hostname (-h)
|
49
49
|
|
50
50
|
```
|
51
|
-
# Supports MySQL/Oracle/PostgreSQL/MSSQL/SQLite
|
51
|
+
# Supports MySQL/Oracle/PostgreSQL/MSSQL/SQLite/Cassandra CQL3
|
52
52
|
|
53
53
|
jrubysql -t mysql -h localhost -d test -u user -p
|
54
54
|
jrubysql -t oracle -h localhost:1521/orcl -u user -p password
|
55
55
|
jrubysql -t postgres -h localhost -u root
|
56
56
|
jrubysql -t sqlserver -h localhost -u user -p password
|
57
|
-
|
58
|
-
|
57
|
+
|
58
|
+
jrubysql -t sqlite -h my.db # For SQLite, host = DB file
|
59
|
+
|
60
|
+
jrubysql -t cassandra -h localhost
|
61
|
+
jrubysql -t cassandra -h localhost -d keyspace # Optional keyspace
|
59
62
|
```
|
60
63
|
|
61
64
|
### Connect with class name of JDBC driver (-c) and JDBC URL (-j)
|
data/jrubysql.gemspec
CHANGED
@@ -8,8 +8,8 @@ Gem::Specification.new do |s|
|
|
8
8
|
s.authors = ["Junegunn Choi"]
|
9
9
|
s.email = ["junegunn.c@gmail.com"]
|
10
10
|
s.homepage = "https://github.com/junegunn/jrubysql"
|
11
|
-
s.summary = %q{
|
12
|
-
s.description = %q{
|
11
|
+
s.summary = %q{SQL client for any JDBC-compliant database.}
|
12
|
+
s.description = %q{SQL client for any JDBC-compliant database. Written in JRuby.}
|
13
13
|
|
14
14
|
s.rubyforge_project = "jrubysql"
|
15
15
|
|
@@ -20,13 +20,13 @@ Gem::Specification.new do |s|
|
|
20
20
|
|
21
21
|
# specify any dependencies here; for example:
|
22
22
|
s.add_development_dependency "test-unit"
|
23
|
-
s.add_development_dependency "mocha"
|
23
|
+
s.add_development_dependency "mocha", '~> 0.11.0'
|
24
24
|
s.add_development_dependency "guard"
|
25
25
|
s.add_development_dependency "guard-test"
|
26
26
|
|
27
|
-
s.add_runtime_dependency "jdbc-helper", '~> 0.7.
|
28
|
-
s.add_runtime_dependency "insensitive_hash", '~> 0.2.
|
29
|
-
s.add_runtime_dependency "tabularize", '~> 0.
|
27
|
+
s.add_runtime_dependency "jdbc-helper", '~> 0.7.4'
|
28
|
+
s.add_runtime_dependency "insensitive_hash", '~> 0.2.4'
|
29
|
+
s.add_runtime_dependency "tabularize", '~> 0.2.0'
|
30
30
|
s.add_runtime_dependency "each_sql", '~> 0.3.1'
|
31
31
|
s.add_runtime_dependency "highline", '~> 1.6.11'
|
32
32
|
s.add_runtime_dependency "ansi", '~> 1.4.2'
|
data/lib/jrubysql/constants.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
module JRubySQL
|
2
2
|
module Constants
|
3
|
-
SUPPORTED_DBMS_TYPES = [ :mysql, :oracle, :postgres, :sqlserver, :sqlite ]
|
3
|
+
SUPPORTED_DBMS_TYPES = [ :mysql, :oracle, :postgres, :sqlserver, :sqlite, :cassandra ]
|
4
4
|
|
5
5
|
# .jrubysqlrc
|
6
6
|
DEFAULT_RC_PATH = File.join(ENV['HOME'], '.jrubysqlrc')
|
7
7
|
MAX_CONNECTION_HISTORY = 10
|
8
|
-
|
8
|
+
MAX_COMMAND_HISTORY = 20
|
9
9
|
|
10
10
|
# Terminal (TBD)
|
11
11
|
# MAX_COLUMN_WIDTH = 80
|
data/lib/jrubysql/controller.rb
CHANGED
@@ -8,6 +8,8 @@ class Controller
|
|
8
8
|
|
9
9
|
def initialize options, argv_str
|
10
10
|
@config = JRubySQL::Config.new
|
11
|
+
upgrade_jrubysqlrc!
|
12
|
+
|
11
13
|
histories = @config['connections']
|
12
14
|
|
13
15
|
if options.nil?
|
@@ -16,16 +18,16 @@ class Controller
|
|
16
18
|
else
|
17
19
|
# FIXME: Output
|
18
20
|
puts m(:choose_parameter)
|
19
|
-
histories.each_with_index do |
|
20
|
-
puts "[#{idx + 1}] #{
|
21
|
+
histories.each_with_index do |entry, idx|
|
22
|
+
puts "[#{idx + 1}] #{entry.keys.first}"
|
21
23
|
end
|
22
24
|
print '> '
|
23
25
|
select = JRubySQL::Controller.get_console_input
|
24
26
|
select = select && select.chomp
|
25
27
|
if (1..(histories.length)).include?(select.to_i)
|
26
|
-
|
27
|
-
@options
|
28
|
-
@argv_str =
|
28
|
+
entry = histories[select.to_i - 1]
|
29
|
+
@options = entry.values.first[:options]
|
30
|
+
@argv_str = entry.keys.first
|
29
31
|
else
|
30
32
|
puts
|
31
33
|
JRubySQL::OptionParser.parse []
|
@@ -50,7 +52,8 @@ class Controller
|
|
50
52
|
# Setting up output: Colored terminal
|
51
53
|
case @options[:output]
|
52
54
|
when 'cterm'
|
53
|
-
@output = JRubySQL::Output::CTerm.new
|
55
|
+
@output = JRubySQL::Output::CTerm.new @config['colors']
|
56
|
+
@config['colors'] = @output.colors
|
54
57
|
when 'term'
|
55
58
|
@output = JRubySQL::Output::Term.new
|
56
59
|
when 'csv'
|
@@ -69,28 +72,40 @@ class Controller
|
|
69
72
|
end
|
70
73
|
@output.info m(:connected)
|
71
74
|
|
72
|
-
history
|
73
|
-
history.
|
74
|
-
history.
|
75
|
-
|
76
|
-
|
77
|
-
|
75
|
+
history = @config['connections'] || []
|
76
|
+
entry_idx = history.index { |h| h.keys.first == @argv_str }
|
77
|
+
entry = entry_idx ? history.delete_at(entry_idx) : { @argv_str => {} }
|
78
|
+
entry[@argv_str][:options] = @options
|
79
|
+
commands = entry[@argv_str][:commands] ||= []
|
80
|
+
@input.prepare commands
|
81
|
+
|
82
|
+
history.unshift entry
|
83
|
+
history.pop while history.length > JRubySQL::Constants::MAX_CONNECTION_HISTORY
|
78
84
|
@config['connections'] = history
|
79
85
|
|
86
|
+
add_cmd = lambda do |c|
|
87
|
+
commands.push c unless commands.last == c
|
88
|
+
commands.shift while commands.length > JRubySQL::Constants::MAX_COMMAND_HISTORY
|
89
|
+
@config['connections'] = history
|
90
|
+
end
|
91
|
+
|
80
92
|
loop do
|
81
93
|
ret = @input.get
|
82
94
|
|
83
95
|
ret[:sqls].each do |sql|
|
84
96
|
begin
|
97
|
+
add_cmd.call sql + ret[:delimiter] if ret[:history]
|
85
98
|
output @rdbms.execute(sql)
|
86
99
|
rescue Exception => e
|
87
100
|
@output.error e.to_s
|
88
101
|
end
|
89
102
|
end if ret.has_key?(:sqls)
|
90
103
|
|
91
|
-
ret[:commands].
|
104
|
+
if ret.has_key?(:commands) && ret[:commands].first
|
105
|
+
command, line = ret[:commands]
|
106
|
+
add_cmd.call line unless command.keys.first == :quit
|
92
107
|
process_command command.keys.first, command.values.first
|
93
|
-
end
|
108
|
+
end
|
94
109
|
end
|
95
110
|
end
|
96
111
|
|
@@ -107,6 +122,19 @@ private
|
|
107
122
|
$stdin.gets
|
108
123
|
end
|
109
124
|
|
125
|
+
def upgrade_jrubysqlrc!
|
126
|
+
history = @config['connections'] || []
|
127
|
+
|
128
|
+
# Convert (0.1.5)
|
129
|
+
if !history.empty? && history[0].is_a?(Array)
|
130
|
+
history = history.map { |h|
|
131
|
+
{ h.first => {:options => h.last} }
|
132
|
+
}
|
133
|
+
@config['connections'] = history
|
134
|
+
puts m(:converting_jrubysqlrc)
|
135
|
+
end
|
136
|
+
end
|
137
|
+
|
110
138
|
def output result
|
111
139
|
@output.print_result result
|
112
140
|
end
|
@@ -8,6 +8,12 @@ class Console
|
|
8
8
|
@esql = JRubySQL::Input.get_parser @controller.db_type
|
9
9
|
end
|
10
10
|
|
11
|
+
def prepare sqls
|
12
|
+
sqls.each do |sql|
|
13
|
+
Readline::HISTORY << sql
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
11
17
|
def get
|
12
18
|
empty_response = { :sqls => [], :commands => [] }
|
13
19
|
line = Readline::readline(@controller.cursor(@esql.empty?), false)
|
@@ -23,7 +29,7 @@ class Console
|
|
23
29
|
empty_response
|
24
30
|
# Console commands
|
25
31
|
elsif @esql.empty? && cmd = process_command(line)
|
26
|
-
{ :commands => [cmd]
|
32
|
+
{ :commands => [cmd, line] }
|
27
33
|
# Line with delimiters
|
28
34
|
elsif line.include?(@esql.delimiter)
|
29
35
|
@esql << line + $/
|
@@ -31,7 +37,7 @@ class Console
|
|
31
37
|
result[:sqls].each do |sql|
|
32
38
|
Readline::HISTORY << sql + @esql.delimiter
|
33
39
|
end
|
34
|
-
{ :sqls => result[:sqls] }
|
40
|
+
{ :sqls => result[:sqls], :delimiter => @esql.delimiter, :history => true }
|
35
41
|
# SQL without delimiter
|
36
42
|
else
|
37
43
|
@esql << line + $/
|
@@ -6,11 +6,15 @@ class Script
|
|
6
6
|
def initialize controller, script
|
7
7
|
@controller = controller
|
8
8
|
sqls = EachSQL(script, JRubySQL::Input.get_each_sql_type(@controller.db_type))
|
9
|
-
@ret = { :sqls => sqls }
|
9
|
+
@ret = { :sqls => sqls, :history => false }
|
10
|
+
end
|
11
|
+
|
12
|
+
def prepare sqls
|
13
|
+
# No-op
|
10
14
|
end
|
11
15
|
|
12
16
|
def get
|
13
|
-
@ret.tap { @ret = { :commands => [{ :quit => nil }] } }
|
17
|
+
@ret.tap { @ret = { :commands => [{ :quit => nil }, nil] } }
|
14
18
|
end
|
15
19
|
end#Console
|
16
20
|
end#Input
|
data/lib/jrubysql/messages.yml
CHANGED
@@ -18,7 +18,7 @@ module OptionParser
|
|
18
18
|
].join($/)
|
19
19
|
opts.separator ''
|
20
20
|
|
21
|
-
opts.on('-t', '--type DBMS_TYPE', 'Database type: mysql/oracle/postgres/sqlserver/sqlite') do |v|
|
21
|
+
opts.on('-t', '--type DBMS_TYPE', 'Database type: mysql/oracle/postgres/sqlserver/sqlite/cassandra') do |v|
|
22
22
|
options[:type] = v.downcase.to_sym
|
23
23
|
end
|
24
24
|
|
@@ -0,0 +1,20 @@
|
|
1
|
+
---
|
2
|
+
info: bold blue
|
3
|
+
warning: yellow
|
4
|
+
error: bold red
|
5
|
+
help: bold blue
|
6
|
+
|
7
|
+
prompt1: bold
|
8
|
+
prompt2: bold green
|
9
|
+
prompt3: bold yellow
|
10
|
+
prompt4: bold red
|
11
|
+
result: green
|
12
|
+
|
13
|
+
border: blue
|
14
|
+
label: bold
|
15
|
+
|
16
|
+
number: cyan
|
17
|
+
string: yellow
|
18
|
+
time: magenta
|
19
|
+
nil: bold red
|
20
|
+
|
@@ -6,7 +6,24 @@ module JRubySQL
|
|
6
6
|
module Output
|
7
7
|
class CTerm < Term
|
8
8
|
include ANSI::Code
|
9
|
-
|
9
|
+
|
10
|
+
attr_reader :colors
|
11
|
+
|
12
|
+
def initialize colors
|
13
|
+
super()
|
14
|
+
|
15
|
+
@colors =
|
16
|
+
YAML.load(
|
17
|
+
File.read(
|
18
|
+
File.join(
|
19
|
+
File.dirname(__FILE__), "color_scheme/default.yml"))).merge(colors || {})
|
20
|
+
|
21
|
+
@ccode = @colors.inject(Hash.new('')) { |h, pair|
|
22
|
+
k, v = pair
|
23
|
+
h[k.to_sym] = v.strip.split(/\s+/).map { |code| ANSI::Code.send(code) rescue '' }.join
|
24
|
+
h
|
25
|
+
}
|
26
|
+
end
|
10
27
|
|
11
28
|
def welcome!
|
12
29
|
puts bold + JRubySQL.name + reset
|
@@ -14,11 +31,11 @@ class CTerm < Term
|
|
14
31
|
|
15
32
|
def cursor empty
|
16
33
|
if empty
|
17
|
-
wrap('jrubysql',
|
18
|
-
wrap('> ',
|
34
|
+
wrap('jrubysql', @ccode[:prompt1]) +
|
35
|
+
wrap('> ', @ccode[:prompt2])
|
19
36
|
else
|
20
|
-
wrap(' -',
|
21
|
-
wrap('> ',
|
37
|
+
wrap(' -', @ccode[:prompt3]) +
|
38
|
+
wrap('> ', @ccode[:prompt4])
|
22
39
|
end
|
23
40
|
end
|
24
41
|
|
@@ -28,66 +45,59 @@ class CTerm < Term
|
|
28
45
|
|
29
46
|
def print_help
|
30
47
|
puts
|
31
|
-
puts wrap(HELP,
|
48
|
+
puts wrap(HELP, @ccode[:help])
|
32
49
|
puts
|
33
50
|
end
|
34
51
|
|
35
52
|
def info message
|
36
|
-
|
37
|
-
puts wrap(message, col)
|
53
|
+
puts wrap(message, @ccode[:info])
|
38
54
|
end
|
39
55
|
|
40
56
|
def result message
|
41
|
-
|
42
|
-
puts wrap(message, green)
|
57
|
+
puts wrap(message, @ccode[:result])
|
43
58
|
end
|
44
59
|
|
45
60
|
def warn message
|
46
|
-
|
47
|
-
puts wrap(message, col)
|
61
|
+
puts wrap(message, @ccode[:warning])
|
48
62
|
end
|
49
63
|
|
50
64
|
def error message
|
51
|
-
|
52
|
-
puts wrap(message, col)
|
65
|
+
puts wrap(message, @ccode[:error])
|
53
66
|
end
|
54
67
|
|
55
68
|
private
|
56
|
-
def
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
69
|
+
def print_table ret
|
70
|
+
super ret, {
|
71
|
+
:hborder => @ccode[:border] + '-',
|
72
|
+
:vborder => wrap('|', @ccode[:border]),
|
73
|
+
:iborder => wrap('+', @ccode[:border]),
|
74
|
+
}
|
61
75
|
end
|
62
76
|
|
63
77
|
def decorate_label label
|
64
|
-
|
78
|
+
wrap(label, @ccode[:label])
|
65
79
|
end
|
66
80
|
|
67
81
|
# This looks stupid though.
|
68
82
|
def decorate value
|
69
83
|
case value
|
70
84
|
when BigDecimal
|
71
|
-
|
85
|
+
wrap(value.to_s('F'), @ccode[:number])
|
72
86
|
when Numeric
|
73
|
-
|
87
|
+
wrap(value.to_s, @ccode[:number])
|
74
88
|
when String
|
75
|
-
|
89
|
+
wrap(value, @ccode[:string])
|
76
90
|
when Time, Java::JavaSql::Timestamp
|
77
|
-
|
91
|
+
wrap(value.to_s, @ccode[:time])
|
78
92
|
when NilClass
|
79
|
-
|
93
|
+
wrap('(null)', @ccode[:nil])
|
80
94
|
else
|
81
|
-
|
95
|
+
wrap(value.to_s, @ccode[:default])
|
82
96
|
end
|
83
97
|
end
|
84
98
|
|
85
|
-
def cnow
|
86
|
-
green + now + reset
|
87
|
-
end
|
88
|
-
|
89
99
|
def wrap text, color
|
90
|
-
color + text + reset
|
100
|
+
color + text + (reset unless color.empty?)
|
91
101
|
end
|
92
102
|
|
93
103
|
end#CTerm
|
data/lib/jrubysql/output/term.rb
CHANGED
@@ -77,29 +77,24 @@ class Term
|
|
77
77
|
end
|
78
78
|
|
79
79
|
private
|
80
|
-
def print_table ret
|
80
|
+
def print_table ret, tabularize_opts = {}
|
81
81
|
cnt = 0
|
82
82
|
lines = [(@terminal.getTerminalHeight rescue JRubySQL::Constants::MAX_SCREEN_ROWS) - 5,
|
83
83
|
JRubySQL::Constants::MIN_SCREEN_ROWS].max
|
84
84
|
ret.each_slice(lines) do |slice|
|
85
85
|
cnt += slice.length
|
86
86
|
|
87
|
-
table =
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
puts output_strs
|
87
|
+
table = Tabularize.new tabularize_opts
|
88
|
+
table << slice.first.labels.map { |l| decorate_label l }
|
89
|
+
table.separator!
|
90
|
+
slice.each do |row|
|
91
|
+
table << row.to_a.map { |v| decorate v }
|
92
|
+
end
|
93
|
+
puts table
|
95
94
|
end
|
96
95
|
cnt
|
97
96
|
end
|
98
97
|
|
99
|
-
def separator_for row
|
100
|
-
'+-' + row.map { |e| '-' * e.length }.join('-+-') + '-+'
|
101
|
-
end
|
102
|
-
|
103
98
|
def decorate_label label
|
104
99
|
label
|
105
100
|
end
|
@@ -112,10 +107,6 @@ private
|
|
112
107
|
value.to_s
|
113
108
|
end
|
114
109
|
end
|
115
|
-
|
116
|
-
def now
|
117
|
-
Time.now.strftime('%Y/%m/%d %H:%M:%S')
|
118
|
-
end
|
119
110
|
end#Term
|
120
111
|
end#Output
|
121
112
|
end#JRubySQL
|
data/lib/jrubysql/rdbms.rb
CHANGED
@@ -16,6 +16,8 @@ class RDBMS
|
|
16
16
|
:sqlserver
|
17
17
|
when /sqlite/
|
18
18
|
:sqlite
|
19
|
+
when /cassandra/
|
20
|
+
:cassandra
|
19
21
|
else
|
20
22
|
:unknown
|
21
23
|
end
|
@@ -26,7 +28,7 @@ class RDBMS
|
|
26
28
|
if options[:type]
|
27
29
|
case options[:type]
|
28
30
|
when :mysql
|
29
|
-
JDBCHelper::
|
31
|
+
JDBCHelper::MySQL.connect(
|
30
32
|
options[:host], options[:user], options[:password], options[:database])
|
31
33
|
when :oracle
|
32
34
|
host, svc = options[:host].split('/')
|
@@ -34,14 +36,17 @@ class RDBMS
|
|
34
36
|
# FIXME
|
35
37
|
raise ArgumentError.new m(:oracle_service_name_required)
|
36
38
|
end
|
37
|
-
JDBCHelper::
|
39
|
+
JDBCHelper::Oracle.connect(
|
38
40
|
host, options[:user], options[:password], svc)
|
39
41
|
when :postgres
|
40
|
-
JDBCHelper::
|
42
|
+
JDBCHelper::Postgres.connect(
|
41
43
|
options[:host], options[:user], options[:password], options[:database])
|
42
44
|
when :sqlserver
|
43
|
-
JDBCHelper::
|
45
|
+
JDBCHelper::SqlServer.connect(
|
44
46
|
options[:host], options[:user], options[:password], options[:database])
|
47
|
+
when :cassandra
|
48
|
+
JDBCHelper::Cassandra.connect(
|
49
|
+
options[:host], options[:database])
|
45
50
|
when :sqlite
|
46
51
|
JDBCHelper::Connection.new(
|
47
52
|
{
|
data/lib/jrubysql/version.rb
CHANGED
data/test/test_jrubysql.rb
CHANGED
@@ -193,11 +193,11 @@ private
|
|
193
193
|
prev_conn = JRubySQL::Config.new['connections'].first
|
194
194
|
# assert_equal :sqlite, prev_conn.last[:type]
|
195
195
|
# assert_match 'test.db', prev_conn.last[:host]
|
196
|
-
assert_equal :mysql, prev_conn.
|
197
|
-
assert_match 'localhost', prev_conn.
|
196
|
+
assert_equal :mysql, prev_conn.values.first[:options][:type]
|
197
|
+
assert_match 'localhost', prev_conn.values.first[:options][:host]
|
198
198
|
|
199
199
|
if command
|
200
|
-
assert_match command,
|
200
|
+
assert_match command, prev_conn.keys.first
|
201
201
|
end
|
202
202
|
end
|
203
203
|
|
metadata
CHANGED
@@ -2,14 +2,14 @@
|
|
2
2
|
name: jrubysql
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.1.
|
5
|
+
version: 0.1.5
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Junegunn Choi
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-07-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: test-unit
|
@@ -31,15 +31,15 @@ dependencies:
|
|
31
31
|
name: mocha
|
32
32
|
version_requirements: !ruby/object:Gem::Requirement
|
33
33
|
requirements:
|
34
|
-
- -
|
34
|
+
- - ~>
|
35
35
|
- !ruby/object:Gem::Version
|
36
|
-
version:
|
36
|
+
version: 0.11.0
|
37
37
|
none: false
|
38
38
|
requirement: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
|
-
- -
|
40
|
+
- - ~>
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version:
|
42
|
+
version: 0.11.0
|
43
43
|
none: false
|
44
44
|
prerelease: false
|
45
45
|
type: :development
|
@@ -81,13 +81,13 @@ dependencies:
|
|
81
81
|
requirements:
|
82
82
|
- - ~>
|
83
83
|
- !ruby/object:Gem::Version
|
84
|
-
version: 0.7.
|
84
|
+
version: 0.7.4
|
85
85
|
none: false
|
86
86
|
requirement: !ruby/object:Gem::Requirement
|
87
87
|
requirements:
|
88
88
|
- - ~>
|
89
89
|
- !ruby/object:Gem::Version
|
90
|
-
version: 0.7.
|
90
|
+
version: 0.7.4
|
91
91
|
none: false
|
92
92
|
prerelease: false
|
93
93
|
type: :runtime
|
@@ -97,13 +97,13 @@ dependencies:
|
|
97
97
|
requirements:
|
98
98
|
- - ~>
|
99
99
|
- !ruby/object:Gem::Version
|
100
|
-
version: 0.2.
|
100
|
+
version: 0.2.4
|
101
101
|
none: false
|
102
102
|
requirement: !ruby/object:Gem::Requirement
|
103
103
|
requirements:
|
104
104
|
- - ~>
|
105
105
|
- !ruby/object:Gem::Version
|
106
|
-
version: 0.2.
|
106
|
+
version: 0.2.4
|
107
107
|
none: false
|
108
108
|
prerelease: false
|
109
109
|
type: :runtime
|
@@ -113,13 +113,13 @@ dependencies:
|
|
113
113
|
requirements:
|
114
114
|
- - ~>
|
115
115
|
- !ruby/object:Gem::Version
|
116
|
-
version: 0.
|
116
|
+
version: 0.2.0
|
117
117
|
none: false
|
118
118
|
requirement: !ruby/object:Gem::Requirement
|
119
119
|
requirements:
|
120
120
|
- - ~>
|
121
121
|
- !ruby/object:Gem::Version
|
122
|
-
version: 0.
|
122
|
+
version: 0.2.0
|
123
123
|
none: false
|
124
124
|
prerelease: false
|
125
125
|
type: :runtime
|
@@ -187,7 +187,7 @@ dependencies:
|
|
187
187
|
none: false
|
188
188
|
prerelease: false
|
189
189
|
type: :runtime
|
190
|
-
description:
|
190
|
+
description: SQL client for any JDBC-compliant database. Written in JRuby.
|
191
191
|
email:
|
192
192
|
- junegunn.c@gmail.com
|
193
193
|
executables:
|
@@ -215,6 +215,7 @@ files:
|
|
215
215
|
- lib/jrubysql/messages.rb
|
216
216
|
- lib/jrubysql/messages.yml
|
217
217
|
- lib/jrubysql/option_parser.rb
|
218
|
+
- lib/jrubysql/output/color_scheme/default.yml
|
218
219
|
- lib/jrubysql/output/csv.rb
|
219
220
|
- lib/jrubysql/output/cterm.rb
|
220
221
|
- lib/jrubysql/output/term.rb
|
@@ -244,10 +245,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
244
245
|
none: false
|
245
246
|
requirements: []
|
246
247
|
rubyforge_project: jrubysql
|
247
|
-
rubygems_version: 1.8.
|
248
|
+
rubygems_version: 1.8.24
|
248
249
|
signing_key:
|
249
250
|
specification_version: 3
|
250
|
-
summary:
|
251
|
+
summary: SQL client for any JDBC-compliant database.
|
251
252
|
test_files:
|
252
253
|
- test/bin_helper.rb
|
253
254
|
- test/helper.rb
|