ztk 1.0.10 → 1.0.11

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/README.md CHANGED
@@ -1,6 +1,7 @@
1
+ [![Gem Version](https://badge.fury.io/rb/ztk.png)](http://badge.fury.io/rb/ztk)
2
+ [![Dependency Status](https://gemnasium.com/zpatten/ztk.png)](https://gemnasium.com/zpatten/ztk)
1
3
  [![Build Status](https://secure.travis-ci.org/zpatten/ztk.png)](http://travis-ci.org/zpatten/ztk)
2
4
  [![Code Climate](https://codeclimate.com/github/zpatten/ztk.png)](https://codeclimate.com/github/zpatten/ztk)
3
- [![Dependency Status](https://gemnasium.com/zpatten/ztk.png)](https://gemnasium.com/zpatten/ztk)
4
5
 
5
6
  # ZTK
6
7
 
data/lib/ztk/report.rb CHANGED
@@ -74,14 +74,8 @@ module ZTK
74
74
  rows << block.call(data)
75
75
  end
76
76
 
77
- headers.each do |header|
78
- maximum = [header, rows.collect{ |r| r.send(header) }].flatten.map(&:to_s).map(&:length).max
79
- max_lengths.send("#{header}=", maximum)
80
- end
81
-
82
- header_line = headers.collect do |header|
83
- "%-#{max_lengths.send(header)}s" % header.to_s.upcase
84
- end
77
+ max_lengths = max_spreadsheet_lengths(headers, rows)
78
+ header_line = headers.collect { |header| "%-#{max_lengths.send(header)}s" % header.to_s.upcase }
85
79
  header_line = format_row(header_line)
86
80
 
87
81
  config.ui.stdout.puts(format_header(headers, max_lengths))
@@ -90,17 +84,23 @@ module ZTK
90
84
 
91
85
  rows.each do |row|
92
86
  row_line = headers.collect do |header|
93
- "%-#{max_lengths.send(header)}s" % row.send(header)
87
+ header_length = max_lengths.send(header)
88
+ content = row.send(header)
89
+
90
+ "%-#{header_length}s" % content
94
91
  end
92
+
95
93
  row_line = format_row(row_line)
96
94
  config.ui.stdout.puts(row_line)
97
95
  end
98
96
 
99
97
  config.ui.stdout.puts(format_header(headers, max_lengths))
100
98
 
101
- width = (2 + max_lengths.send(:table).values.reduce(:+) + ((headers.count * 3) - 3) + 2)
102
-
103
- OpenStruct.new(:rows => rows, :max_lengths => max_lengths, :width => width)
99
+ OpenStruct.new(
100
+ :rows => rows,
101
+ :max_lengths => max_lengths,
102
+ :width => calculate_spreadsheet_width(headers, max_lengths)
103
+ )
104
104
  end
105
105
 
106
106
  # Displays data in a key-value list style.
@@ -155,6 +155,22 @@ module ZTK
155
155
 
156
156
  private
157
157
 
158
+ def max_spreadsheet_lengths(headers, rows)
159
+ max_lengths = OpenStruct.new
160
+ headers.each do |header|
161
+ collection = [header, rows.map(&header)].flatten
162
+ maximum = collection.map(&:to_s).map(&:length).max
163
+ max_lengths.send("#{header}=", maximum)
164
+ end
165
+ max_lengths
166
+ end
167
+
168
+ def calculate_spreadsheet_width(headers, max_lengths)
169
+ header_lengths = ((headers.count * 3) - 3)
170
+ max_length = max_lengths.send(:table).values.reduce(:+)
171
+ (2 + max_length + header_lengths + 2)
172
+ end
173
+
158
174
  def format_header(headers, lengths)
159
175
  line = headers.collect do |header|
160
176
  "-" * lengths.send(header)
data/lib/ztk/version.rb CHANGED
@@ -21,6 +21,6 @@
21
21
  module ZTK
22
22
 
23
23
  # ZTK Version String
24
- VERSION = "1.0.10"
24
+ VERSION = "1.0.11"
25
25
 
26
26
  end
data/spec/spec_helper.rb CHANGED
@@ -17,17 +17,15 @@
17
17
  # limitations under the License.
18
18
  #
19
19
  ################################################################################
20
-
21
- require 'ztk'
22
20
  require 'tempfile'
23
21
 
24
- ################################################################################
25
-
26
22
  require 'simplecov'
27
23
  SimpleCov.start do
28
24
  add_filter '/spec/'
29
25
  end if ENV["COVERAGE"]
30
26
 
27
+ require 'ztk'
28
+
31
29
  ENV['LOG_LEVEL'] = "DEBUG"
32
30
 
33
31
  WAIT_SMALL = 3
metadata CHANGED
@@ -1,184 +1,137 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: ztk
3
- version: !ruby/object:Gem::Version
4
- version: 1.0.10
3
+ version: !ruby/object:Gem::Version
5
4
  prerelease:
5
+ version: 1.0.11
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Zachary Patten
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-04-09 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
12
+
13
+ date: 2013-04-14 00:00:00 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
15
16
  name: erubis
16
- requirement: !ruby/object:Gem::Requirement
17
+ requirement: &id001 !ruby/object:Gem::Requirement
17
18
  none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: '0'
19
+ requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: "0"
22
23
  type: :runtime
23
24
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: '0'
30
- - !ruby/object:Gem::Dependency
25
+ version_requirements: *id001
26
+ - !ruby/object:Gem::Dependency
31
27
  name: net-ssh
32
- requirement: !ruby/object:Gem::Requirement
28
+ requirement: &id002 !ruby/object:Gem::Requirement
33
29
  none: false
34
- requirements:
35
- - - ! '>='
36
- - !ruby/object:Gem::Version
37
- version: '0'
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: "0"
38
34
  type: :runtime
39
35
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
46
- - !ruby/object:Gem::Dependency
36
+ version_requirements: *id002
37
+ - !ruby/object:Gem::Dependency
47
38
  name: net-sftp
48
- requirement: !ruby/object:Gem::Requirement
39
+ requirement: &id003 !ruby/object:Gem::Requirement
49
40
  none: false
50
- requirements:
51
- - - ! '>='
52
- - !ruby/object:Gem::Version
53
- version: '0'
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ version: "0"
54
45
  type: :runtime
55
46
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- - !ruby/object:Gem::Dependency
47
+ version_requirements: *id003
48
+ - !ruby/object:Gem::Dependency
63
49
  name: activesupport
64
- requirement: !ruby/object:Gem::Requirement
50
+ requirement: &id004 !ruby/object:Gem::Requirement
65
51
  none: false
66
- requirements:
67
- - - ! '>='
68
- - !ruby/object:Gem::Version
69
- version: '0'
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: "0"
70
56
  type: :runtime
71
57
  prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '0'
78
- - !ruby/object:Gem::Dependency
58
+ version_requirements: *id004
59
+ - !ruby/object:Gem::Dependency
79
60
  name: pry
80
- requirement: !ruby/object:Gem::Requirement
61
+ requirement: &id005 !ruby/object:Gem::Requirement
81
62
  none: false
82
- requirements:
83
- - - ! '>='
84
- - !ruby/object:Gem::Version
85
- version: '0'
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: "0"
86
67
  type: :development
87
68
  prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ! '>='
92
- - !ruby/object:Gem::Version
93
- version: '0'
94
- - !ruby/object:Gem::Dependency
69
+ version_requirements: *id005
70
+ - !ruby/object:Gem::Dependency
95
71
  name: rake
96
- requirement: !ruby/object:Gem::Requirement
72
+ requirement: &id006 !ruby/object:Gem::Requirement
97
73
  none: false
98
- requirements:
99
- - - ! '>='
100
- - !ruby/object:Gem::Version
101
- version: '0'
74
+ requirements:
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ version: "0"
102
78
  type: :development
103
79
  prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - ! '>='
108
- - !ruby/object:Gem::Version
109
- version: '0'
110
- - !ruby/object:Gem::Dependency
80
+ version_requirements: *id006
81
+ - !ruby/object:Gem::Dependency
111
82
  name: rspec
112
- requirement: !ruby/object:Gem::Requirement
83
+ requirement: &id007 !ruby/object:Gem::Requirement
113
84
  none: false
114
- requirements:
115
- - - ! '>='
116
- - !ruby/object:Gem::Version
117
- version: '0'
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: "0"
118
89
  type: :development
119
90
  prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
- requirements:
123
- - - ! '>='
124
- - !ruby/object:Gem::Version
125
- version: '0'
126
- - !ruby/object:Gem::Dependency
91
+ version_requirements: *id007
92
+ - !ruby/object:Gem::Dependency
127
93
  name: simplecov
128
- requirement: !ruby/object:Gem::Requirement
94
+ requirement: &id008 !ruby/object:Gem::Requirement
129
95
  none: false
130
- requirements:
131
- - - ! '>='
132
- - !ruby/object:Gem::Version
133
- version: '0'
96
+ requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: "0"
134
100
  type: :development
135
101
  prerelease: false
136
- version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
- requirements:
139
- - - ! '>='
140
- - !ruby/object:Gem::Version
141
- version: '0'
142
- - !ruby/object:Gem::Dependency
102
+ version_requirements: *id008
103
+ - !ruby/object:Gem::Dependency
143
104
  name: yard
144
- requirement: !ruby/object:Gem::Requirement
105
+ requirement: &id009 !ruby/object:Gem::Requirement
145
106
  none: false
146
- requirements:
147
- - - ! '>='
148
- - !ruby/object:Gem::Version
149
- version: '0'
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: "0"
150
111
  type: :development
151
112
  prerelease: false
152
- version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
- requirements:
155
- - - ! '>='
156
- - !ruby/object:Gem::Version
157
- version: '0'
158
- - !ruby/object:Gem::Dependency
113
+ version_requirements: *id009
114
+ - !ruby/object:Gem::Dependency
159
115
  name: redcarpet
160
- requirement: !ruby/object:Gem::Requirement
116
+ requirement: &id010 !ruby/object:Gem::Requirement
161
117
  none: false
162
- requirements:
163
- - - ! '>='
164
- - !ruby/object:Gem::Version
165
- version: '0'
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ version: "0"
166
122
  type: :development
167
123
  prerelease: false
168
- version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
- requirements:
171
- - - ! '>='
172
- - !ruby/object:Gem::Version
173
- version: '0'
124
+ version_requirements: *id010
174
125
  description: Zachary's (DevOp) Tool Kit
175
- email:
126
+ email:
176
127
  - zachary@jovelabs.com
177
- executables:
128
+ executables:
178
129
  - ztk
179
130
  extensions: []
131
+
180
132
  extra_rdoc_files: []
181
- files:
133
+
134
+ files:
182
135
  - .gitignore
183
136
  - .rspec
184
137
  - .rvmrc.template
@@ -240,35 +193,38 @@ files:
240
193
  - ztk.gemspec
241
194
  homepage: https://github.com/zpatten/ztk
242
195
  licenses: []
196
+
243
197
  post_install_message:
244
198
  rdoc_options: []
245
- require_paths:
199
+
200
+ require_paths:
246
201
  - lib
247
- required_ruby_version: !ruby/object:Gem::Requirement
202
+ required_ruby_version: !ruby/object:Gem::Requirement
248
203
  none: false
249
- requirements:
250
- - - ! '>='
251
- - !ruby/object:Gem::Version
252
- version: '0'
253
- segments:
204
+ requirements:
205
+ - - ">="
206
+ - !ruby/object:Gem::Version
207
+ hash: -3896273515373899790
208
+ segments:
254
209
  - 0
255
- hash: 4473587828937144611
256
- required_rubygems_version: !ruby/object:Gem::Requirement
210
+ version: "0"
211
+ required_rubygems_version: !ruby/object:Gem::Requirement
257
212
  none: false
258
- requirements:
259
- - - ! '>='
260
- - !ruby/object:Gem::Version
261
- version: '0'
262
- segments:
213
+ requirements:
214
+ - - ">="
215
+ - !ruby/object:Gem::Version
216
+ hash: -3896273515373899790
217
+ segments:
263
218
  - 0
264
- hash: 4473587828937144611
219
+ version: "0"
265
220
  requirements: []
221
+
266
222
  rubyforge_project:
267
223
  rubygems_version: 1.8.25
268
224
  signing_key:
269
225
  specification_version: 3
270
226
  summary: Contains various classes and utilities I find I regularly need.
271
- test_files:
227
+ test_files:
272
228
  - spec/spec_helper.rb
273
229
  - spec/support/test-config.rb
274
230
  - spec/support/test-template.txt.erb