jrubysql 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|