table_print 1.5.5 → 1.5.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 75f0b161cc29a2e227d625e00c76364946cc5e11
4
- data.tar.gz: 179532ca5df6f983c329cab1f477dc847f35e7ac
3
+ metadata.gz: 2f888ea5f3cd53aae3450eda4e53f9bd649a940a
4
+ data.tar.gz: eaee7c7975d8b875a5a13290a89e1eca4797cbd2
5
5
  SHA512:
6
- metadata.gz: 808d2426a172902d3d9bbf7c9b084107f43607927e6e5f9fcd4bca9303158a0a35c921718c7e536b6bdef4b324c32ee510879b448f86b3efd485ad390709daf6
7
- data.tar.gz: dd0dba14399110e1c2e6f08c5735f812dea8ac22992685dc8ea2e48ee69e0ab98561d32acf5e96efba4a8a56fd30966abc8ff4111e1b52a18463acaf175c3330
6
+ metadata.gz: fcb84a8749506b7a8de69471157e56f0584ce3183c644df5e7c9bcdac6b7b30220b4baf9cf6b1f6f473b75ec924fa982167ce5888ae544927a2d867090613627
7
+ data.tar.gz: 433a4425650c26e68452b63edcc014c8018cf90cdf036972e130720fffa0b9120d8e4fbc83d182a99a191a0f1216d74ef2428adf42c10b72f4ab712a5a6bdc74
@@ -88,6 +88,7 @@ Available column options:
88
88
  * *time_format* - string - passed to strftime[http://www.ruby-doc.org/core-1.9.3/Time.html#method-i-strftime], only affects time columns
89
89
  * *width* - integer - how wide you want your column.
90
90
  * *display_name* - string - useful if you want spaces in your column name
91
+ * *separator* - string - default is vertical bar for console and markdown, change it to a comma for CSV output
91
92
 
92
93
  ==== Display method
93
94
 
@@ -131,6 +132,14 @@ method to send table_print output directly into your <pre> tag:
131
132
  content_tag :pre, TablePrint::Printer.new(data, options).table_print
132
133
  end
133
134
 
135
+ === CSV Output
136
+
137
+ Set the column separator to get an output you can save as a CSV:
138
+
139
+ tp.set :separator, ","
140
+
141
+ Since your CSV viewer probably already handles column widths for you, setting +max_width+ to something very large will help you export your full data set. Otherwise, this CSV output will still be truncated to the default max_width of 30 characters.
142
+
134
143
  === Config
135
144
 
136
145
  Use tp.set and tp.clear to set options on a class-by-class basis.
@@ -99,7 +99,7 @@ Feature: Configuring output
99
99
  Ryan
100
100
  """
101
101
 
102
- Scenario: Setting a lowecase column name
102
+ Scenario: Setting a lowercase column name
103
103
  Given a class named Blog
104
104
 
105
105
  Given Blog has attributes title, author
@@ -113,3 +113,18 @@ Feature: Configuring output
113
113
  -------
114
114
  Ryan
115
115
  """
116
+
117
+ Scenario: Setting the column separator
118
+ Given a class named Blog
119
+
120
+ Given Blog has attributes title, author
121
+
122
+ When I instantiate a Blog with {:title => "post!", :author => 'Ryan'}
123
+ And I configure separator with ','
124
+ And table_print Blog
125
+ Then the output should contain
126
+ """
127
+ TITLE , AUTHOR
128
+ ------,-------
129
+ post! , Ryan
130
+ """
@@ -1,4 +1,5 @@
1
1
  Before do
2
2
  Sandbox.cleanup!
3
3
  TablePrint::Config.clear(:capitalize_headers)
4
+ TablePrint::Config.clear(:separator)
4
5
  end
@@ -66,6 +66,10 @@ When /^I configure capitalize_headers with (.*)$/ do |value|
66
66
  TablePrint::Config.set(:capitalize_headers, [value == "true"])
67
67
  end
68
68
 
69
+ When /^I configure separator with '(.*)'$/ do |value|
70
+ TablePrint::Config.set(:separator, [value])
71
+ end
72
+
69
73
  When /^configure (.*) with (.*)$/ do |klass, config|
70
74
  klass = Sandbox.const_get_from_string(klass)
71
75
  TablePrint::Config.set(klass, eval(config))
@@ -5,12 +5,14 @@ module TablePrint
5
5
  DEFAULT_TIME_FORMAT = "%Y-%m-%d %H:%M:%S"
6
6
  DEFAULT_IO = $stdout
7
7
  DEFAULT_CAPITALIZE_HEADERS = true
8
+ DEFAULT_SEPARATOR = "|"
8
9
 
9
10
  @@max_width = DEFAULT_MAX_WIDTH
10
11
  @@time_format = DEFAULT_TIME_FORMAT
11
12
  @@multibyte = false
12
13
  @@io = DEFAULT_IO
13
14
  @@capitalize_headers = true
15
+ @@separator = DEFAULT_SEPARATOR
14
16
 
15
17
  @@klasses = {}
16
18
 
@@ -67,6 +69,14 @@ module TablePrint
67
69
  @@capitalize_headers = caps
68
70
  end
69
71
 
72
+ def self.separator
73
+ @@separator
74
+ end
75
+
76
+ def self.separator=(separator)
77
+ @@separator = separator
78
+ end
79
+
70
80
  def self.io
71
81
  @@io
72
82
  end
@@ -64,7 +64,7 @@ module TablePrint
64
64
  def horizontal_separator
65
65
  columns.collect do |column|
66
66
  '-' * column.width
67
- end.join('-|-')
67
+ end.join("-#{TablePrint::Config.separator}-")
68
68
  end
69
69
 
70
70
  def header
@@ -73,7 +73,7 @@ module TablePrint
73
73
  f.format(column.name)
74
74
  end
75
75
 
76
- header_string = padded_names.join(" | ")
76
+ header_string = padded_names.join(" #{TablePrint::Config.separator} ")
77
77
  header_string.upcase! if TablePrint::Config.capitalize_headers
78
78
 
79
79
  header_string
@@ -177,7 +177,7 @@ module TablePrint
177
177
  def format
178
178
  column_names = columns.collect(&:name)
179
179
 
180
- output = [column_names.collect { |name| apply_formatters(name, @cells[name]) }.join(" | ")]
180
+ output = [column_names.collect { |name| apply_formatters(name, @cells[name]) }.join(" #{TablePrint::Config.separator} ")]
181
181
  output.concat @children.collect { |g| g.format }
182
182
 
183
183
  output.join("\n")
@@ -1,4 +1,4 @@
1
1
  module TablePrint
2
- VERSION = "1.5.5"
2
+ VERSION = "1.5.6"
3
3
  end
4
4
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: table_print
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.5
4
+ version: 1.5.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Doyle
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-16 00:00:00.000000000 Z
11
+ date: 2016-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cat