table-formatter 0.1.7 → 0.1.8

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0805b84d0db329574a5c68407627d3dd7111341a
4
- data.tar.gz: e266cc44ee6b7dd22d397e99c81b3ea3b95bdea3
3
+ metadata.gz: f189f28298623d39cbc5dfe7472e6e1b0004d74a
4
+ data.tar.gz: d1b8388ef949406c43c754c3f28ece615927f0b4
5
5
  SHA512:
6
- metadata.gz: 24e961e95697e189e1ae00498a7222d4fea64a4525e0a2a51de8a1d41a5ca554597546eaf0a2c837d34d55095aa884466fc1e0df0c428ca506fc8379485299ff
7
- data.tar.gz: ce50714ba2e0576bfe31af6e51868c0f452825015d659d0b9f58d5fd9c25148377897fca7751170aadbf408c0e47829a3f60246dd2c9697fabcf8d4621121e6b
6
+ metadata.gz: 5d9bdb0fa2d4bc236616f71dd5c773b43a375d83d0eaa890ec3df8a74539325205b7cb3ff565f5be2c4ebd0c308626cdc9bd396650679bea2471da820f8714d9
7
+ data.tar.gz: 7542f4ed68995942f3b16501dc88b696fbcea78551c51ad22982175acbd28eab0611ddd8e3d602b63301d2e8aea70b42fff0ae2eb31de5ebb0f32edacfd97038
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -4,15 +4,17 @@
4
4
 
5
5
  class TableFormatter
6
6
 
7
- attr_accessor :source, :labels, :border
7
+ attr_accessor :source, :labels, :border, :divider
8
8
 
9
9
  def initialize(opt={})
10
10
 
11
- o = {source: nil, labels: nil, border: true}.merge(opt)
11
+ o = {source: nil, labels: nil, border: true, nowrap: false}.merge(opt)
12
12
  super()
13
13
  @source = o[:source]
14
- @raw_labels = o[:labels]
14
+ @raw_labels = o[:labels] if o[:labels]
15
15
  @border = o[:border]
16
+ @nowrap = o[:nowrap]
17
+ @divider = o[:divider] if o[:divider]
16
18
  @maxwidth = 60
17
19
  end
18
20
 
@@ -36,14 +38,16 @@ class TableFormatter
36
38
  @maxwidth = width if width
37
39
  a = @source.map {|x| x.map.to_a}.to_a
38
40
  labels = @labels
41
+
39
42
  column_widths = fetch_column_widths(a)
40
43
 
41
44
  column_widths[-1] -= column_widths.inject(&:+) - width if width
42
45
 
43
46
  records = format_rows(a, column_widths)
44
47
 
45
- div = (border == true ? '-' : ' ') * records[0].length + "\n"
46
- label_buffer = ''
48
+ div = (border == true ? '-' : '') * records[0].length + "\n"
49
+ label_buffer = ''
50
+
47
51
  label_buffer = format_cols(labels, column_widths) + "\n" + div if labels
48
52
 
49
53
  div + label_buffer + records.join("\n") + "\n" + div
@@ -67,11 +71,17 @@ class TableFormatter
67
71
  end
68
72
 
69
73
  def format_cols(row, col_widths)
70
- bar = border == true ? '|' : ' '
71
- buffer = bar
74
+ bar = ''
75
+ bar = '|' if border == true
76
+ bar = divider if divider
77
+
78
+ buffer = divider ? '' : bar #unless divider
72
79
  row.each_with_index do |col, i|
73
- buffer += ' ' + col.method(@align_cols[i]).call(col_widths[i] + 2) + bar
80
+
81
+ align = @align_cols ? @align_cols[i] : :ljust
82
+ buffer += col.method(align).call(col_widths[i] + 2) + bar
74
83
  end
84
+ buffer.sub!(/#{bar}$/,'') if divider
75
85
  buffer
76
86
  end
77
87
 
@@ -82,7 +92,7 @@ class TableFormatter
82
92
  col_widths[-1] -= col_widths.inject(&:+) - @maxwidth if @width > @maxwidth
83
93
 
84
94
  a.each_with_index do |x,i|
85
- col_rows = wrap(x[-1], col_widths[-1]).split(/\n/)
95
+ col_rows = @nowrap == false ? wrap(x[-1], col_widths[-1]).split(/\n/) : [x[-1]]
86
96
  if col_rows.length > 1 then
87
97
  x[-1] = col_rows[0]
88
98
  col_rows[1..-1].map.with_index {|y,j| a.insert(i+1+j, Array.new(x.length - 1,'') + [y])}
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: table-formatter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -29,7 +29,7 @@ cert_chain:
29
29
  87MJlDPDYzp5yHAWkCW+L5wNO0Z0kdkibE/RZ9yGgZ7rSPRUUBqwsxNfwvyVh8Gl
30
30
  Ld73E8JjE0JpECfuT5M6ch5PUBtf1txl
31
31
  -----END CERTIFICATE-----
32
- date: 2013-09-25 00:00:00.000000000 Z
32
+ date: 2013-10-24 00:00:00.000000000 Z
33
33
  dependencies: []
34
34
  description:
35
35
  email: james@r0bertson.co.uk
metadata.gz.sig CHANGED
Binary file