formatador 0.0.9 → 0.0.10
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.
- data/VERSION +1 -1
- data/formatador.gemspec +3 -3
- data/lib/formatador.rb +16 -6
- metadata +18 -9
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.10
|
data/formatador.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{formatador}
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.10"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Wesley Beary"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-03-04}
|
13
13
|
s.description = %q{STDOUT text formatting}
|
14
14
|
s.email = %q{wbeary@engineyard.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -29,7 +29,7 @@ Gem::Specification.new do |s|
|
|
29
29
|
s.homepage = %q{http://github.com/geemus/formatador}
|
30
30
|
s.rdoc_options = ["--charset=UTF-8"]
|
31
31
|
s.require_paths = ["lib"]
|
32
|
-
s.rubygems_version = %q{1.3.
|
32
|
+
s.rubygems_version = %q{1.3.6}
|
33
33
|
s.summary = %q{Ruby STDOUT text formatting}
|
34
34
|
|
35
35
|
if s.respond_to? :specification_version then
|
data/lib/formatador.rb
CHANGED
@@ -67,11 +67,11 @@ class Formatador
|
|
67
67
|
nil
|
68
68
|
end
|
69
69
|
|
70
|
-
def display_table(hashes, keys = nil)
|
70
|
+
def display_table(hashes, keys = nil, &block)
|
71
71
|
headers = keys || []
|
72
72
|
widths = {}
|
73
73
|
for hash in hashes
|
74
|
-
for key
|
74
|
+
for key in hash.keys
|
75
75
|
unless keys
|
76
76
|
headers << key
|
77
77
|
end
|
@@ -80,9 +80,19 @@ class Formatador
|
|
80
80
|
headers = headers.uniq
|
81
81
|
end
|
82
82
|
|
83
|
+
unless block_given?
|
84
|
+
headers = headers.sort {|x,y| x.to_s <=> y.to_s}
|
85
|
+
else
|
86
|
+
headers = headers.sort(&block)
|
87
|
+
end
|
88
|
+
|
83
89
|
split = "+"
|
84
|
-
|
85
|
-
split <<
|
90
|
+
if headers.empty?
|
91
|
+
split << '--+'
|
92
|
+
else
|
93
|
+
for header in headers
|
94
|
+
split << ('-' * (widths[header] + 2)) << '+'
|
95
|
+
end
|
86
96
|
end
|
87
97
|
|
88
98
|
display_line(split)
|
@@ -131,8 +141,8 @@ class Formatador
|
|
131
141
|
|
132
142
|
%w{display display_line display_table format redisplay}.each do |method|
|
133
143
|
eval <<-DEF
|
134
|
-
def self.#{method}(*args)
|
135
|
-
new.#{method}(*args)
|
144
|
+
def self.#{method}(*args, &block)
|
145
|
+
new.#{method}(*args, &block)
|
136
146
|
end
|
137
147
|
DEF
|
138
148
|
end
|
metadata
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: formatador
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 0
|
8
|
+
- 10
|
9
|
+
version: 0.0.10
|
5
10
|
platform: ruby
|
6
11
|
authors:
|
7
12
|
- Wesley Beary
|
@@ -9,19 +14,21 @@ autorequire:
|
|
9
14
|
bindir: bin
|
10
15
|
cert_chain: []
|
11
16
|
|
12
|
-
date: 2010-
|
17
|
+
date: 2010-03-04 00:00:00 -08:00
|
13
18
|
default_executable:
|
14
19
|
dependencies:
|
15
20
|
- !ruby/object:Gem::Dependency
|
16
21
|
name: shindo
|
17
|
-
|
18
|
-
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
20
24
|
requirements:
|
21
25
|
- - ">="
|
22
26
|
- !ruby/object:Gem::Version
|
27
|
+
segments:
|
28
|
+
- 0
|
23
29
|
version: "0"
|
24
|
-
|
30
|
+
type: :development
|
31
|
+
version_requirements: *id001
|
25
32
|
description: STDOUT text formatting
|
26
33
|
email: wbeary@engineyard.com
|
27
34
|
executables: []
|
@@ -53,18 +60,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
53
60
|
requirements:
|
54
61
|
- - ">="
|
55
62
|
- !ruby/object:Gem::Version
|
63
|
+
segments:
|
64
|
+
- 0
|
56
65
|
version: "0"
|
57
|
-
version:
|
58
66
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
59
67
|
requirements:
|
60
68
|
- - ">="
|
61
69
|
- !ruby/object:Gem::Version
|
70
|
+
segments:
|
71
|
+
- 0
|
62
72
|
version: "0"
|
63
|
-
version:
|
64
73
|
requirements: []
|
65
74
|
|
66
75
|
rubyforge_project:
|
67
|
-
rubygems_version: 1.3.
|
76
|
+
rubygems_version: 1.3.6
|
68
77
|
signing_key:
|
69
78
|
specification_version: 3
|
70
79
|
summary: Ruby STDOUT text formatting
|