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 +4 -4
- data/README.rdoc +9 -0
- data/features/configuring_output.feature +16 -1
- data/features/support/step_definitions/before.rb +1 -0
- data/features/support/step_definitions/steps.rb +4 -0
- data/lib/table_print/config.rb +10 -0
- data/lib/table_print/row_group.rb +3 -3
- data/lib/table_print/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2f888ea5f3cd53aae3450eda4e53f9bd649a940a
|
4
|
+
data.tar.gz: eaee7c7975d8b875a5a13290a89e1eca4797cbd2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fcb84a8749506b7a8de69471157e56f0584ce3183c644df5e7c9bcdac6b7b30220b4baf9cf6b1f6f473b75ec924fa982167ce5888ae544927a2d867090613627
|
7
|
+
data.tar.gz: 433a4425650c26e68452b63edcc014c8018cf90cdf036972e130720fffa0b9120d8e4fbc83d182a99a191a0f1216d74ef2428adf42c10b72f4ab712a5a6bdc74
|
data/README.rdoc
CHANGED
@@ -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
|
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
|
+
"""
|
@@ -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))
|
data/lib/table_print/config.rb
CHANGED
@@ -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")
|
data/lib/table_print/version.rb
CHANGED
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.
|
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-
|
11
|
+
date: 2016-03-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cat
|