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 CHANGED
@@ -1,6 +1,13 @@
1
1
  JRubySQL Changelog
2
2
  ==================
3
3
 
4
+ 0.1.5
5
+ -----
6
+ * Supports Cassandra CQL3
7
+ * Configurable color
8
+ * Edit color codes in ~/.jrubysqlrc
9
+ * Remembers commands for connection
10
+
4
11
  0.1.4
5
12
  -----
6
13
  * Invalid error message on Oracle connection
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
- jrubysql -t sqlite -h my.db
58
- # In case of SQLite, Host = DB file
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{An SQL client for any JDBC-compliant database.}
12
- s.description = %q{An SQL client for any JDBC-compliant database. Written in JRuby.}
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.2'
28
- s.add_runtime_dependency "insensitive_hash", '~> 0.2.3'
29
- s.add_runtime_dependency "tabularize", '~> 0.1.1'
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'
@@ -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
- # MAX_COMMAND_HISTORY = 100
8
+ MAX_COMMAND_HISTORY = 20
9
9
 
10
10
  # Terminal (TBD)
11
11
  # MAX_COLUMN_WIDTH = 80
@@ -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 |history, idx|
20
- puts "[#{idx + 1}] #{history.first}"
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
- history = histories[select.to_i - 1]
27
- @options = history.last
28
- @argv_str = history.first
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 = @config['connections'] || []
73
- history.unshift [@argv_str, @options]
74
- history.uniq!
75
- if history.length > JRubySQL::Constants::MAX_CONNECTION_HISTORY
76
- history = history[0, JRubySQL::Constants::MAX_CONNECTION_HISTORY]
77
- end
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].each do |command|
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 if ret.has_key?(:commands)
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].compact }
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
@@ -1,4 +1,6 @@
1
1
  ---
2
+ converting jrubysqlrc:
3
+ ".jrubysqlrc upgraded."
2
4
  choose parameter:
3
5
  "Parameter not given. Choose one:"
4
6
  ask password:
@@ -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
- HELP = Erubis::Eruby.new(File.read File.join(File.dirname(__FILE__), '../doc/help.txt.erb')).result(binding)
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', bold) +
18
- wrap('> ', bold + green)
34
+ wrap('jrubysql', @ccode[:prompt1]) +
35
+ wrap('> ', @ccode[:prompt2])
19
36
  else
20
- wrap(' -', bold + yellow) +
21
- wrap('> ', bold + red)
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, blue + bold)
48
+ puts wrap(HELP, @ccode[:help])
32
49
  puts
33
50
  end
34
51
 
35
52
  def info message
36
- col = blue + bold
37
- puts wrap(message, col)
53
+ puts wrap(message, @ccode[:info])
38
54
  end
39
55
 
40
56
  def result message
41
- col = green
42
- puts wrap(message, green)
57
+ puts wrap(message, @ccode[:result])
43
58
  end
44
59
 
45
60
  def warn message
46
- col = yellow + bold
47
- puts wrap(message, col)
61
+ puts wrap(message, @ccode[:warning])
48
62
  end
49
63
 
50
64
  def error message
51
- col = red + bold
52
- puts wrap(message, col)
65
+ puts wrap(message, @ccode[:error])
53
66
  end
54
67
 
55
68
  private
56
- def separator_for row
57
- # 13-bytes for ANSI codes
58
- # - bold/reset: 4
59
- # - colors: 5
60
- '+-' + row.map { |e| '-' * (e.length - 13) }.join('-+-') + '-+'
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
- white + bold + label + reset
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
- cyan + value.to_s('F') + reset + reset
85
+ wrap(value.to_s('F'), @ccode[:number])
72
86
  when Numeric
73
- cyan + value.to_s + reset + reset
87
+ wrap(value.to_s, @ccode[:number])
74
88
  when String
75
- yellow + value + reset + reset
89
+ wrap(value, @ccode[:string])
76
90
  when Time, Java::JavaSql::Timestamp
77
- magenta + value.to_s + reset + reset
91
+ wrap(value.to_s, @ccode[:time])
78
92
  when NilClass
79
- bold + red + '(null)' + reset
93
+ wrap('(null)', @ccode[:nil])
80
94
  else
81
- white + reset + value.to_s + reset
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
@@ -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 = [slice.first.labels.map { |l| decorate_label l }] +
88
- slice.map { |row| row.to_a.map { |v| decorate v } }
89
-
90
- output = Tabularize.it(table, :unicode_display => true)
91
- separator = separator_for(output.first)
92
- output_strs = output.map { |r| '| ' + r.join(' | ') + ' |' }
93
- [0, 2, -1].each { |l| output_strs.insert l, separator }
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
@@ -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::MySQLConnector.connect(
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::OracleConnector.connect(
39
+ JDBCHelper::Oracle.connect(
38
40
  host, options[:user], options[:password], svc)
39
41
  when :postgres
40
- JDBCHelper::PostgresConnector.connect(
42
+ JDBCHelper::Postgres.connect(
41
43
  options[:host], options[:user], options[:password], options[:database])
42
44
  when :sqlserver
43
- JDBCHelper::SqlServerConnector.connect(
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
  {
@@ -1,3 +1,3 @@
1
1
  module JRubySQL
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.5"
3
3
  end
@@ -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.last[:type]
197
- assert_match 'localhost', prev_conn.last[:host]
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, prev_conn.first
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.4
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-04-23 00:00:00.000000000 Z
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: '0'
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: '0'
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.2
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.2
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.3
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.3
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.1.1
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.1.1
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: An SQL client for any JDBC-compliant database. Written in JRuby.
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.21
248
+ rubygems_version: 1.8.24
248
249
  signing_key:
249
250
  specification_version: 3
250
- summary: An SQL client for any JDBC-compliant database.
251
+ summary: SQL client for any JDBC-compliant database.
251
252
  test_files:
252
253
  - test/bin_helper.rb
253
254
  - test/helper.rb