Skip to content

Commit 6fba951

Browse files
committed
Use simple formatter for pretty printing
1 parent 5032265 commit 6fba951

File tree

4 files changed

+23
-10
lines changed

4 files changed

+23
-10
lines changed

Gemfile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ source 'https://rubygems.org'
33
gemspec
44

55
gem 'redis', '~> 4'
6-
gem 'terminal-table', '~> 1', '>= 1.8'
76
gem 'rspec'
87
gem 'codecov', :require => false, :group => :test
98

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,11 @@ cmd = """MATCH ()-[:works]->(e:employer) RETURN e"""
4545
response = r.query(cmd)
4646
4747
response.print_resultset
48-
+----------------+
49-
| e.name |
50-
+----------------+
51-
| Dunder Mifflin |
52-
+----------------+
48+
--------------------------------
49+
| e |
50+
--------------------------------
51+
| [{"name"=>"Dunder Mifflin"}] |
52+
--------------------------------
5353
5454
r.delete
5555
=> "Graph removed, internal execution time: 0.416024 milliseconds"

lib/redisgraph.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
require 'redis'
2-
require 'terminal-table'
32

43
require_relative 'redisgraph/errors.rb'
54
require_relative 'redisgraph/query_result.rb'

lib/redisgraph/query_result.rb

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,25 @@ def initialize(response, opts = {})
3939
def print_resultset
4040
return unless columns
4141

42-
pretty = Terminal::Table.new headings: columns do |t|
43-
resultset.each { |record| t << record }
42+
# Compute max length of each column
43+
column_sizes = resultset.reduce([]) do |lengths, row|
44+
row.each_with_index.map{|iterand, index| [lengths[index] || 0, iterand.to_s.length].max}
4445
end
45-
puts pretty
46+
47+
# Print column headers
48+
puts head = '-' * (column_sizes.inject(&:+) + (3 * column_sizes.count) + 1)
49+
row = columns.fill(nil, columns.size..(column_sizes.size - 1))
50+
row = row.each_with_index.map{|v, i| v = v.to_s + ' ' * (column_sizes[i] - v.to_s.length)}
51+
puts '| ' + row.join(' | ') + ' |'
52+
puts head
53+
54+
# Print result set rows
55+
resultset.each do |row|
56+
row = row.fill(nil, row.size..(column_sizes.size - 1))
57+
row = row.each_with_index.map{|v, i| v = v.to_s + ' ' * (column_sizes[i] - v.to_s.length)}
58+
puts '| ' + row.join(' | ') + ' |'
59+
end
60+
puts head
4661
end
4762

4863
def parse_resultset(response)

0 commit comments

Comments
 (0)