dashes 0.0.2 → 0.0.3

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 (2) hide show
  1. data/lib/dashes.rb +7 -21
  2. metadata +2 -2
@@ -1,18 +1,7 @@
1
1
  require 'rubygems'
2
2
 
3
3
  module Dashes
4
- VERSION = '0.0.2'
5
-
6
- def self.clean(str)
7
- str.to_s.
8
- gsub(/\x1b(\[|\(|\))[;?0-9]*[0-9A-Za-z]/, '').
9
- gsub(/\x1b(\[|\(|\))[;?0-9]*[0-9A-Za-z]/, '').
10
- gsub(/(\x03|\x1a)/, '')
11
- end
12
-
13
- def self.strlen(str)
14
- str.nil? ? 0 : clean(str).length
15
- end
4
+ VERSION = '0.0.3'
16
5
 
17
6
  class Node
18
7
  def width(width); raise NotImplementedError; end
@@ -23,7 +12,7 @@ module Dashes
23
12
  private
24
13
  def cell(data, width, align=:left)
25
14
  str = data.to_s
26
- length = Dashes.strlen(str)
15
+ length = str.length
27
16
  if length > width
28
17
  str[0...width]
29
18
  elsif align == :center
@@ -119,7 +108,7 @@ module Dashes
119
108
  widths = [0] * cols
120
109
  (0...cols).map do |col|
121
110
  @rows.each do |row|
122
- widths[col] = [Dashes.strlen(row[col]), widths[col]].max
111
+ widths[col] = [row[col].length, widths[col]].max
123
112
  end
124
113
  end
125
114
  pad = (2 * cols) + (cols + 1) # cell padding/borders
@@ -214,11 +203,11 @@ module Dashes
214
203
  end
215
204
 
216
205
  def label_width
217
- @rows.map { |row| Dashes.strlen(row[0]) }.max
206
+ @rows.map { |row| row[0].length }.max
218
207
  end
219
208
 
220
209
  def title_width
221
- Dashes.strlen(@title)
210
+ @title.to_s.length
222
211
  end
223
212
  end
224
213
 
@@ -248,16 +237,13 @@ module Dashes
248
237
  node.width(node_width)
249
238
  if (index = buffer.index { |l| l.include?(space_matcher) })
250
239
  # there's space for the table in a row, fit it in
251
- col = Dashes.clean(buffer[index]) =~ Regexp.new(space_matcher)
240
+ col = buffer[index] =~ Regexp.new(space_matcher)
252
241
  node.to_s.split("\n").each do |line|
253
242
  if buffer[index].nil?
254
243
  buffer[index] = "#{" "*@width}"
255
244
  end
256
245
  new_line = col == 0 ? "#{line} " : " #{line}"
257
- # handle offset from special characters like color strings
258
- pre_line = buffer[index].split(space_matcher).first.to_s
259
- offset = pre_line.length - Dashes.clean(pre_line).length
260
- buffer[index][col+offset..(col+node_width+offset)] = new_line
246
+ buffer[index][col..(col+node_width)] = new_line
261
247
  index += 1
262
248
  end
263
249
  else
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dashes
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-03-10 00:00:00.000000000 Z
12
+ date: 2013-04-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: minitest