table_print 1.5.2 → 1.5.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/.travis.yml +1 -2
- data/Gemfile +1 -1
- data/README.rdoc +10 -0
- data/features/configuring_output.feature +15 -0
- 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/config_resolver.rb +5 -0
- data/lib/table_print/row_group.rb +4 -1
- data/lib/table_print/version.rb +1 -1
- data/spec/config_resolver_spec.rb +8 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NjkzNmMxZmM1NWY0ZGU2MjQzNGM5MzMyZTQwNmEwZTk2ZjYzMjlkMA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MzIyMzFmODY2M2Q1ZWE4MGRlMTU4NGU5OWRhNmQxNzU5OThiYjMzNA==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
OTEzNDUyMjA4NWZjZTIyMTk3NTU3ODI5YmU3N2Q0NzY4MTcwYTFjZTNiMDUx
|
10
|
+
ZTNhN2E2MzEyODJiMGVkMDgwOGMxOGIwZjRiMDBhNTM0ZDMwZTgyMWY2MWM0
|
11
|
+
YTBmNGQ5MjY2N2Q4YjY4OTQxMDRlNTNiMDJmODhhMmE1OTJlNzM=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZmZhMmVmMGJlMmQ1MTA2NGM0MjgxNjE3MTkxMWJiZTg5MzdlOTBmN2FmOTUz
|
14
|
+
YjA5OWNlODE3ZmU5N2JhNzQ2NzE4OWYxMTY2ZjYzOGVlM2Y1ZTAzZDdjN2Mw
|
15
|
+
YzZjNDVjNzQzMWI0OGViOGU1MmEwODY4MTJmYWViZmI4MDc0OGI=
|
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
data/README.rdoc
CHANGED
@@ -85,6 +85,7 @@ Available column options:
|
|
85
85
|
* *formatters* - array of objects - each will be called in turn as the cells are printed. Must define a 'format' method. See below.
|
86
86
|
* *time_format* - string - passed to strftime[http://www.ruby-doc.org/core-1.9.3/Time.html#method-i-strftime], only affects time columns
|
87
87
|
* *width* - integer - how wide you want your column.
|
88
|
+
* *display_name* - string - useful if you want spaces in your column name
|
88
89
|
|
89
90
|
==== Display method
|
90
91
|
|
@@ -151,6 +152,15 @@ You can also set global options:
|
|
151
152
|
|
152
153
|
tp.set :max_width, 10 # columns won't exceed 10 characters
|
153
154
|
tp.set :time_format, "%Y" # date columns will only show the year
|
155
|
+
tp.set :capitalize_headers, false # don't capitalize column headers
|
156
|
+
|
157
|
+
You can redirect output:
|
158
|
+
|
159
|
+
f = File.open("users.txt", "w")
|
160
|
+
tp.set :io, f
|
161
|
+
tp User.all # written to users.txt instead of STDOUT
|
162
|
+
tp.clear :io
|
163
|
+
tp User.all # writing to STDOUT again
|
154
164
|
|
155
165
|
=== Multibyte
|
156
166
|
|
@@ -55,3 +55,18 @@ Feature: Configuring output
|
|
55
55
|
------
|
56
56
|
Ryan
|
57
57
|
"""
|
58
|
+
|
59
|
+
Scenario: Setting a lowecase column name
|
60
|
+
Given a class named Blog
|
61
|
+
|
62
|
+
Given Blog has attributes title, author
|
63
|
+
|
64
|
+
When I instantiate a Blog with {:title => "post!", :author => 'Ryan'}
|
65
|
+
And I configure capitalize_headers with false
|
66
|
+
And table_print Blog, {:author => {:display_name => "Wom Bat"}}
|
67
|
+
Then the output should contain
|
68
|
+
"""
|
69
|
+
Wom Bat
|
70
|
+
-------
|
71
|
+
Ryan
|
72
|
+
"""
|
@@ -62,6 +62,10 @@ When /^I configure multibyte with (.*)$/ do |value|
|
|
62
62
|
TablePrint::Config.set(:multibyte, [value == "true"])
|
63
63
|
end
|
64
64
|
|
65
|
+
When /^I configure capitalize_headers with (.*)$/ do |value|
|
66
|
+
TablePrint::Config.set(:capitalize_headers, [value == "true"])
|
67
|
+
end
|
68
|
+
|
65
69
|
When /^configure (.*) with (.*)$/ do |klass, config|
|
66
70
|
klass = Sandbox.const_get_from_string(klass)
|
67
71
|
TablePrint::Config.set(klass, eval(config))
|
data/lib/table_print/config.rb
CHANGED
@@ -4,11 +4,13 @@ module TablePrint
|
|
4
4
|
DEFAULT_MAX_WIDTH = 30
|
5
5
|
DEFAULT_TIME_FORMAT = "%Y-%m-%d %H:%M:%S"
|
6
6
|
DEFAULT_IO = STDOUT
|
7
|
+
DEFAULT_CAPITALIZE_HEADERS = true
|
7
8
|
|
8
9
|
@@max_width = DEFAULT_MAX_WIDTH
|
9
10
|
@@time_format = DEFAULT_TIME_FORMAT
|
10
11
|
@@multibyte = false
|
11
12
|
@@io = STDOUT
|
13
|
+
@@capitalize_headers = true
|
12
14
|
|
13
15
|
@@klasses = {}
|
14
16
|
|
@@ -57,6 +59,14 @@ module TablePrint
|
|
57
59
|
@@time_format = format
|
58
60
|
end
|
59
61
|
|
62
|
+
def self.capitalize_headers
|
63
|
+
@@capitalize_headers
|
64
|
+
end
|
65
|
+
|
66
|
+
def self.capitalize_headers=(caps)
|
67
|
+
@@capitalize_headers = caps
|
68
|
+
end
|
69
|
+
|
60
70
|
def self.io
|
61
71
|
@@io
|
62
72
|
end
|
@@ -73,6 +73,11 @@ module TablePrint
|
|
73
73
|
option[:default_width] = option.delete(:width)
|
74
74
|
end
|
75
75
|
|
76
|
+
if option.has_key? :display_name
|
77
|
+
option[:display_method] = option[:name]
|
78
|
+
option[:name] = option.delete(:display_name)
|
79
|
+
end
|
80
|
+
|
76
81
|
c = Column.new(option)
|
77
82
|
@column_hash[c.name] = c
|
78
83
|
c
|
@@ -73,7 +73,10 @@ module TablePrint
|
|
73
73
|
f.format(column.name)
|
74
74
|
end
|
75
75
|
|
76
|
-
padded_names.join(" | ")
|
76
|
+
header_string = padded_names.join(" | ")
|
77
|
+
header_string.upcase! if TablePrint::Config.capitalize_headers
|
78
|
+
|
79
|
+
header_string
|
77
80
|
end
|
78
81
|
|
79
82
|
def add_formatter(name, formatter)
|
data/lib/table_print/version.rb
CHANGED
@@ -206,6 +206,14 @@ describe TablePrint::ConfigResolver do
|
|
206
206
|
c.columns.first.formatters.should == [f1, f2]
|
207
207
|
end
|
208
208
|
end
|
209
|
+
context "display_name" do
|
210
|
+
it "sets the display name on the column" do
|
211
|
+
c = TablePrint::ConfigResolver.new(Object, [], :title => {:display_name => "Ti Tle"})
|
212
|
+
c.columns.length.should == 1
|
213
|
+
c.columns.first.name.should == 'Ti Tle'
|
214
|
+
c.columns.first.display_method.should == "title"
|
215
|
+
end
|
216
|
+
end
|
209
217
|
end
|
210
218
|
|
211
219
|
describe "#option_to_column" do
|
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.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Doyle
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-07-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cat
|