table_print 1.5.2 → 1.5.7
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 +6 -14
- data/.travis.yml +4 -7
- data/Gemfile +1 -1
- data/LICENSE.txt +1 -1
- data/README.rdoc +38 -5
- data/features/configuring_output.feature +73 -0
- data/features/support/step_definitions/before.rb +2 -0
- data/features/support/step_definitions/steps.rb +9 -1
- data/lib/table_print.rb +4 -1
- data/lib/table_print/column.rb +5 -2
- data/lib/table_print/config.rb +22 -2
- data/lib/table_print/config_resolver.rb +5 -0
- data/lib/table_print/returnable.rb +1 -1
- data/lib/table_print/row_group.rb +8 -5
- data/lib/table_print/version.rb +1 -1
- data/spec/config_resolver_spec.rb +8 -0
- data/spec/table_print_spec.rb +4 -2
- data/table_print.gemspec +3 -3
- metadata +20 -21
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
NWRlZGRjZmY5ZWY1OWU0YzYxODdhNmJkMzAwZjdhOGU3MGY2MjhiY2UxZmY3
|
10
|
-
M2Q3OTVmZGMyZDI3MTE0NDJiZjNkZjkxNzM4MjFhMmIzNWIxYWE0NWYwZGY4
|
11
|
-
OGM3ZmU5MzliYmI1M2I2MTg1Y2YxMTcxOTk4ZmY3OTk4NjAxYzQ=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
Y2QzYTFiOWQ2ZmQyMTJjZDE3OWQ5ZDQyNzFhOTc2MjI1MjNkZmQ1ZGJhMGMx
|
14
|
-
ZTViYWRlNTI4MTNmMDYzMmYyMDU4OTE5ODQ2ZDRmMzM1Y2NjZDc5NTJiNzI0
|
15
|
-
NzU4OGE2MGQwYTM0ZjRlYjhlODBlYWIyZTU0OTFmYzNkZjdlZWM=
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 4d550bded70ef9a5ae903bdf98d2436d282ef8d89bf760dd65c0a90476131bb4
|
4
|
+
data.tar.gz: 858aee5efcc4d4ce91c0834cf215cb29e4899964d4bc4d3c624c49c9902b592d
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: f7980699dada79051fdfbb5611815377eebc3200745c814401ee24955daa7d6d1d2838a72da1f942e9eca64d926974d2d044955067548a3e10b7a1be48c00e4c
|
7
|
+
data.tar.gz: 7f8eb1af627f5efc816d2751be6bc641cdca8ae74aab482e56af936266b83158d6d5eebbadf66cd48a508f974635200c045cfeafc2e8f7ba57dfee20a28cb5ce
|
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
data/LICENSE.txt
CHANGED
data/README.rdoc
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
= table_print
|
2
2
|
|
3
|
-
{<img src="https://travis-ci.org/arches/table_print.
|
3
|
+
{<img src="https://travis-ci.org/arches/table_print.svg?branch=master" />}[http://travis-ci.org/arches/table_print]
|
4
4
|
{<img src="https://codeclimate.com/github/arches/table_print.png" />}[https://codeclimate.com/github/arches/table_print]
|
5
5
|
|
6
6
|
TablePrint shows objects in nicely formatted columns for easy reading. It even lets you nest other tables
|
@@ -10,13 +10,15 @@ see exactly the data you care about.
|
|
10
10
|
This {three minute screencast}[http://tableprintgem.com] will give you a quick overview of table_print's most
|
11
11
|
powerful features and how to use them.
|
12
12
|
|
13
|
+
http://arches.io/tp_example.gif
|
14
|
+
|
13
15
|
== Installation
|
14
16
|
|
15
17
|
# Install as a standalone gem
|
16
18
|
$ gem install table_print
|
17
19
|
|
18
|
-
#
|
19
|
-
In your Gemfile: gem "table_print"
|
20
|
+
# Or install within rails
|
21
|
+
In your Gemfile: gem "table_print"
|
20
22
|
$ bundle install
|
21
23
|
|
22
24
|
== Usage
|
@@ -36,7 +38,7 @@ You should see something like this:
|
|
36
38
|
AUTHOR | SUMMARY | TITLE
|
37
39
|
------------------|---------------------------------|------------------
|
38
40
|
Michael Connelly | Another book by Michael Con... | The Fifth Witness
|
39
|
-
Manning
|
41
|
+
Manning Marable | From acclaimed historian Ma... | Malcolm X
|
40
42
|
Tina Fey | Worth it. -Trees | Bossypants
|
41
43
|
|
42
44
|
TablePrint tries to use sensible defaults to choose the columns to show. If you're inspecting ActiveRecord objects, it
|
@@ -85,6 +87,8 @@ Available column options:
|
|
85
87
|
* *formatters* - array of objects - each will be called in turn as the cells are printed. Must define a 'format' method. See below.
|
86
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
|
87
89
|
* *width* - integer - how wide you want your column.
|
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
|
88
92
|
|
89
93
|
==== Display method
|
90
94
|
|
@@ -96,12 +100,16 @@ Columns are named after hash keys. To rename a column, use the name you want as
|
|
96
100
|
|
97
101
|
You can pass a proc as the display_method for a column:
|
98
102
|
|
99
|
-
tp User.all, :email, :monthly_payment, :
|
103
|
+
tp User.all, :email, :monthly_payment, yearly_payment: lambda{|u| u.monthly_payment * 12}
|
100
104
|
|
101
105
|
Or if you want to pass other options along with the lambda:
|
102
106
|
|
103
107
|
tp User.all, :yearly_payment => {:display_method => lambda{|u| u.monthly_payment * 12}, :width => 10}
|
104
108
|
|
109
|
+
Make sure to add curly braces if you have more than one column with a lambda or if this column isn't the last one.
|
110
|
+
|
111
|
+
tp User.all, :email, { daily_payment: lambda { |u| u.monthly_payment / 30} }, :monthly_payment, { yearly_payment: lambda { |u| u.monthly_payment * 12} }
|
112
|
+
|
105
113
|
==== Column formatters
|
106
114
|
|
107
115
|
Similar to a lambda column, you can use a column formatter to reuse code across prints. Any object with a 'format' method
|
@@ -115,6 +123,22 @@ can be used to filter a column. This could also be used for coloring output.
|
|
115
123
|
|
116
124
|
tp User.all, :bio => {:formatters => [NoNewlineFormatter.new]} # strip newlines from user bios
|
117
125
|
|
126
|
+
=== HTML Output
|
127
|
+
|
128
|
+
Currently the best way to show table_print output on an HTML page is using a <pre> tag. You can create a helper
|
129
|
+
method to send table_print output directly into your <pre> tag:
|
130
|
+
|
131
|
+
def tp_pre data, options={}
|
132
|
+
content_tag :pre, TablePrint::Printer.new(data, options).table_print
|
133
|
+
end
|
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.
|
118
142
|
|
119
143
|
=== Config
|
120
144
|
|
@@ -151,6 +175,15 @@ You can also set global options:
|
|
151
175
|
|
152
176
|
tp.set :max_width, 10 # columns won't exceed 10 characters
|
153
177
|
tp.set :time_format, "%Y" # date columns will only show the year
|
178
|
+
tp.set :capitalize_headers, false # don't capitalize column headers
|
179
|
+
|
180
|
+
You can redirect output:
|
181
|
+
|
182
|
+
f = File.open("users.txt", "w")
|
183
|
+
tp.set :io, f
|
184
|
+
tp User.all # written to users.txt instead of STDOUT
|
185
|
+
tp.clear :io
|
186
|
+
tp User.all # writing to STDOUT again
|
154
187
|
|
155
188
|
=== Multibyte
|
156
189
|
|
@@ -13,6 +13,49 @@ Feature: Configuring output
|
|
13
13
|
------|-----------------------------------------
|
14
14
|
post! | Ryan Ryan Ryan Ryan Ryan Ryan Ryan Ry...
|
15
15
|
"""
|
16
|
+
|
17
|
+
Scenario: Setting a minimum width for an individual column
|
18
|
+
Given a class named Blog
|
19
|
+
|
20
|
+
Given Blog has attributes title, author
|
21
|
+
|
22
|
+
When I instantiate a Blog with {:title => "post!", :author => 'Ryan Ryan'}
|
23
|
+
And table_print Blog, {:include => {:author => {:min_width => 40}}}
|
24
|
+
Then the output should contain
|
25
|
+
"""
|
26
|
+
TITLE | AUTHOR
|
27
|
+
------|-----------------------------------------
|
28
|
+
post! | Ryan Ryan
|
29
|
+
"""
|
30
|
+
|
31
|
+
Scenario: Setting a fixed width for an individual column, when data width is greater than fixed width
|
32
|
+
Given a class named Blog
|
33
|
+
|
34
|
+
Given Blog has attributes title, author
|
35
|
+
|
36
|
+
When I instantiate a Blog with {:title => "post!", :author => 'Ryan Ryan Ryan Ryan Ryan Ryan Ryan'}
|
37
|
+
And table_print Blog, {:include => {:author => {:fixed_width => 15}}}
|
38
|
+
Then the output should contain
|
39
|
+
"""
|
40
|
+
TITLE | AUTHOR
|
41
|
+
------|----------------
|
42
|
+
post! | Ryan Ryan Ry...
|
43
|
+
"""
|
44
|
+
|
45
|
+
Scenario: Setting a fixed width for an individual column, when data width is less than fixed width
|
46
|
+
Given a class named Blog
|
47
|
+
|
48
|
+
Given Blog has attributes title, author
|
49
|
+
|
50
|
+
When I instantiate a Blog with {:title => "post!", :author => 'Ryan Ryan'}
|
51
|
+
And table_print Blog, {:include => {:author => {:fixed_width => 15}}}
|
52
|
+
Then the output should contain
|
53
|
+
"""
|
54
|
+
TITLE | AUTHOR
|
55
|
+
------|----------------
|
56
|
+
post! | Ryan Ryan
|
57
|
+
"""
|
58
|
+
|
16
59
|
Scenario: Specifying configuration on a per-object basis
|
17
60
|
Given a class named Blog
|
18
61
|
|
@@ -55,3 +98,33 @@ Feature: Configuring output
|
|
55
98
|
------
|
56
99
|
Ryan
|
57
100
|
"""
|
101
|
+
|
102
|
+
Scenario: Setting a lowercase column name
|
103
|
+
Given a class named Blog
|
104
|
+
|
105
|
+
Given Blog has attributes title, author
|
106
|
+
|
107
|
+
When I instantiate a Blog with {:title => "post!", :author => 'Ryan'}
|
108
|
+
And I configure capitalize_headers with false
|
109
|
+
And table_print Blog, {:author => {:display_name => "Wom Bat"}}
|
110
|
+
Then the output should contain
|
111
|
+
"""
|
112
|
+
Wom Bat
|
113
|
+
-------
|
114
|
+
Ryan
|
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
|
+
"""
|
@@ -62,6 +62,14 @@ 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
|
+
|
69
|
+
When /^I configure separator with '(.*)'$/ do |value|
|
70
|
+
TablePrint::Config.set(:separator, [value])
|
71
|
+
end
|
72
|
+
|
65
73
|
When /^configure (.*) with (.*)$/ do |klass, config|
|
66
74
|
klass = Sandbox.const_get_from_string(klass)
|
67
75
|
TablePrint::Config.set(klass, eval(config))
|
@@ -79,7 +87,7 @@ When /table_print ([\w\.:]*)$/ do |klass|
|
|
79
87
|
end
|
80
88
|
|
81
89
|
Then /^the output should contain$/ do |string|
|
82
|
-
output = @r.
|
90
|
+
output = @r.each_line.to_a
|
83
91
|
|
84
92
|
output.zip(string.split("\n")).each do |actual, expected|
|
85
93
|
actual.gsub(/\s/m, "").split(//).sort.join.should == expected.gsub(" ", "").split(//).sort.join
|
data/lib/table_print.rb
CHANGED
@@ -51,7 +51,10 @@ module TablePrint
|
|
51
51
|
|
52
52
|
def message
|
53
53
|
return "Printed with config" if configged?
|
54
|
-
Time.now - @start_time
|
54
|
+
(Time.now - @start_time).to_s
|
55
|
+
# the message is used to initiate Returnable
|
56
|
+
# whose argument is regarded in ruby 2.7.1 as string
|
57
|
+
# (ruby 2.7.1 calls ".includes?" method on this argument)
|
55
58
|
end
|
56
59
|
|
57
60
|
private
|
data/lib/table_print/column.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module TablePrint
|
2
2
|
class Column
|
3
3
|
attr_reader :formatters
|
4
|
-
attr_accessor :name, :data, :time_format, :default_width
|
4
|
+
attr_accessor :name, :data, :time_format, :default_width, :min_width, :fixed_width
|
5
5
|
|
6
6
|
def initialize(attr_hash={})
|
7
7
|
@formatters = []
|
@@ -48,7 +48,10 @@ module TablePrint
|
|
48
48
|
end
|
49
49
|
|
50
50
|
def width
|
51
|
-
|
51
|
+
return fixed_width if fixed_width
|
52
|
+
|
53
|
+
width = [(default_width || max_width), data_width].min
|
54
|
+
[(min_width || 0), width].max
|
52
55
|
end
|
53
56
|
|
54
57
|
private
|
data/lib/table_print/config.rb
CHANGED
@@ -3,12 +3,16 @@ module TablePrint
|
|
3
3
|
|
4
4
|
DEFAULT_MAX_WIDTH = 30
|
5
5
|
DEFAULT_TIME_FORMAT = "%Y-%m-%d %H:%M:%S"
|
6
|
-
DEFAULT_IO =
|
6
|
+
DEFAULT_IO = $stdout
|
7
|
+
DEFAULT_CAPITALIZE_HEADERS = true
|
8
|
+
DEFAULT_SEPARATOR = "|"
|
7
9
|
|
8
10
|
@@max_width = DEFAULT_MAX_WIDTH
|
9
11
|
@@time_format = DEFAULT_TIME_FORMAT
|
10
12
|
@@multibyte = false
|
11
|
-
@@io =
|
13
|
+
@@io = DEFAULT_IO
|
14
|
+
@@capitalize_headers = true
|
15
|
+
@@separator = DEFAULT_SEPARATOR
|
12
16
|
|
13
17
|
@@klasses = {}
|
14
18
|
|
@@ -57,6 +61,22 @@ module TablePrint
|
|
57
61
|
@@time_format = format
|
58
62
|
end
|
59
63
|
|
64
|
+
def self.capitalize_headers
|
65
|
+
@@capitalize_headers
|
66
|
+
end
|
67
|
+
|
68
|
+
def self.capitalize_headers=(caps)
|
69
|
+
@@capitalize_headers = caps
|
70
|
+
end
|
71
|
+
|
72
|
+
def self.separator
|
73
|
+
@@separator
|
74
|
+
end
|
75
|
+
|
76
|
+
def self.separator=(separator)
|
77
|
+
@@separator = separator
|
78
|
+
end
|
79
|
+
|
60
80
|
def self.io
|
61
81
|
@@io
|
62
82
|
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
|
@@ -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,10 @@ module TablePrint
|
|
73
73
|
f.format(column.name)
|
74
74
|
end
|
75
75
|
|
76
|
-
padded_names.join("
|
76
|
+
header_string = padded_names.join(" #{TablePrint::Config.separator} ")
|
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)
|
@@ -174,7 +177,7 @@ module TablePrint
|
|
174
177
|
def format
|
175
178
|
column_names = columns.collect(&:name)
|
176
179
|
|
177
|
-
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} ")]
|
178
181
|
output.concat @children.collect { |g| g.format }
|
179
182
|
|
180
183
|
output.join("\n")
|
@@ -218,8 +221,8 @@ module TablePrint
|
|
218
221
|
formatters << FixedWidthFormatter.new(column_for(column_name).width)
|
219
222
|
|
220
223
|
# successively apply the formatters for a column
|
221
|
-
formatters.inject(value) do |
|
222
|
-
formatter.format(
|
224
|
+
formatters.inject(value) do |inner_value, formatter|
|
225
|
+
formatter.format(inner_value)
|
223
226
|
end
|
224
227
|
end
|
225
228
|
|
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
|
data/spec/table_print_spec.rb
CHANGED
@@ -25,8 +25,10 @@ describe TablePrint::Printer do
|
|
25
25
|
end
|
26
26
|
|
27
27
|
describe "message" do
|
28
|
-
it "defaults to the time the print took" do
|
29
|
-
Printer.new([]).message
|
28
|
+
it "defaults to the time the print took, but in string" do
|
29
|
+
message = Printer.new([]).message
|
30
|
+
message.should be_a String
|
31
|
+
expect(message.to_f.to_s).to eq(message)
|
30
32
|
end
|
31
33
|
|
32
34
|
it "shows a warning if the printed objects have config" do
|
data/table_print.gemspec
CHANGED
@@ -5,8 +5,8 @@ Gem::Specification.new do |gem|
|
|
5
5
|
gem.name = "table_print"
|
6
6
|
|
7
7
|
gem.authors = ["Chris Doyle"]
|
8
|
-
gem.email = ["
|
9
|
-
gem.email = "
|
8
|
+
gem.email = ["chris@arches.io"]
|
9
|
+
gem.email = "chris@arches.io"
|
10
10
|
|
11
11
|
gem.description = "TablePrint turns objects into nicely formatted columns for easy reading. Works great in rails console, works on pure ruby objects, autodetects columns, lets you traverse ActiveRecord associations. Simple, powerful."
|
12
12
|
gem.summary = "Turn objects into nicely formatted columns for easy reading"
|
@@ -19,7 +19,7 @@ Gem::Specification.new do |gem|
|
|
19
19
|
gem.require_paths = ["lib"]
|
20
20
|
|
21
21
|
gem.add_development_dependency 'cat', '~> 0.2.1'
|
22
|
-
gem.add_development_dependency 'cucumber', '~>
|
22
|
+
gem.add_development_dependency 'cucumber', '~> 2.4.0'
|
23
23
|
gem.add_development_dependency 'rspec', '~> 2.11.0'
|
24
24
|
gem.add_development_dependency 'rake', '~> 0.9.2'
|
25
25
|
end
|
metadata
CHANGED
@@ -1,83 +1,83 @@
|
|
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.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Doyle
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-06-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cat
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 0.2.1
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 0.2.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: cucumber
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 2.4.0
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 2.4.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: 2.11.0
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 2.11.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: 0.9.2
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 0.9.2
|
69
69
|
description: TablePrint turns objects into nicely formatted columns for easy reading.
|
70
70
|
Works great in rails console, works on pure ruby objects, autodetects columns, lets
|
71
71
|
you traverse ActiveRecord associations. Simple, powerful.
|
72
|
-
email:
|
72
|
+
email: chris@arches.io
|
73
73
|
executables: []
|
74
74
|
extensions: []
|
75
75
|
extra_rdoc_files: []
|
76
76
|
files:
|
77
|
-
- .document
|
78
|
-
- .gitignore
|
79
|
-
- .rspec
|
80
|
-
- .travis.yml
|
77
|
+
- ".document"
|
78
|
+
- ".gitignore"
|
79
|
+
- ".rspec"
|
80
|
+
- ".travis.yml"
|
81
81
|
- Gemfile
|
82
82
|
- LICENSE.txt
|
83
83
|
- README.rdoc
|
@@ -124,17 +124,16 @@ require_paths:
|
|
124
124
|
- lib
|
125
125
|
required_ruby_version: !ruby/object:Gem::Requirement
|
126
126
|
requirements:
|
127
|
-
- -
|
127
|
+
- - ">="
|
128
128
|
- !ruby/object:Gem::Version
|
129
129
|
version: '0'
|
130
130
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
131
131
|
requirements:
|
132
|
-
- -
|
132
|
+
- - ">="
|
133
133
|
- !ruby/object:Gem::Version
|
134
134
|
version: '0'
|
135
135
|
requirements: []
|
136
|
-
|
137
|
-
rubygems_version: 2.0.7
|
136
|
+
rubygems_version: 3.0.3
|
138
137
|
signing_key:
|
139
138
|
specification_version: 4
|
140
139
|
summary: Turn objects into nicely formatted columns for easy reading
|