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.
Files changed (4) hide show
  1. data/VERSION +1 -1
  2. data/formatador.gemspec +3 -3
  3. data/lib/formatador.rb +16 -6
  4. metadata +18 -9
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.9
1
+ 0.0.10
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{formatador}
8
- s.version = "0.0.9"
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-02-22}
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.5}
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
@@ -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, value in hash.keys
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
- for header in headers
85
- split << ('-' * (widths[header] + 2)) << '+'
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
- version: 0.0.9
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-02-22 00:00:00 -08:00
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
- type: :development
18
- version_requirement:
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
- version:
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.5
76
+ rubygems_version: 1.3.6
68
77
  signing_key:
69
78
  specification_version: 3
70
79
  summary: Ruby STDOUT text formatting