tabular 0.2.6 → 0.2.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README +2 -0
- data/lib/tabular/column.rb +11 -2
- data/lib/tabular/columns.rb +3 -0
- data/lib/tabular/row.rb +13 -3
- data/lib/tabular/table.rb +4 -0
- data/lib/tabular/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dff94cc74c5cfbb23e9dfb56d2c4fb7091bab946
|
4
|
+
data.tar.gz: 9e0c5f281e4d5d967881692d06fac660d6b3ba00
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 32feb486e35a7be09e36188c8e052f4345bdd00dcbc74e32aca381c4447c5a3f59eba3ca287ff0f81bd3a7e4764b8ea81400039a43a01fbb22ae07ee70e33bc5
|
7
|
+
data.tar.gz: a1a5fc2bcc055a00478027c63f35c35498159139b9367591706bcdf319e0d8ad902771eb093df54238c54eaf8fe174946370899474d90db722d5ad8c0b5bdd14
|
data/README
CHANGED
@@ -64,6 +64,8 @@ There's basic test coverage. More comprehensive test coverage needs to be extrac
|
|
64
64
|
|
65
65
|
Changes
|
66
66
|
-------
|
67
|
+
0.2.7 Add Table#to_space_delimited for space-padded fixed layout
|
68
|
+
0.2.6 Add :except option for delete_blank_columns!
|
67
69
|
0.2.5 Use modern gemspec with no runtime dependencies. Make spreadsheet gem optional.
|
68
70
|
0.2.3 Add :except option for delete_homogenous_columns!
|
69
71
|
0.2.1 Documentation!
|
data/lib/tabular/column.rb
CHANGED
@@ -47,7 +47,12 @@ module Tabular
|
|
47
47
|
|
48
48
|
# Number of zeros to the right of the decimal point. Useful for formtting time data.
|
49
49
|
def precision
|
50
|
-
@precision
|
50
|
+
@precision ||= cells.map(&:to_f).map {|n| n.round(3) }.map {|n| n.to_s.split(".").last.gsub(/0+$/, "").length }.max
|
51
|
+
end
|
52
|
+
|
53
|
+
# Widest string in column
|
54
|
+
def width
|
55
|
+
@width ||= (cells.map(&:to_s) << to_s).map(&:size).max
|
51
56
|
end
|
52
57
|
|
53
58
|
# Human-friendly header string. Delegate to +renderer+'s render_header method.
|
@@ -60,6 +65,10 @@ module Tabular
|
|
60
65
|
@columns.renderer(key)
|
61
66
|
end
|
62
67
|
|
68
|
+
def to_space_delimited
|
69
|
+
to_s.ljust width
|
70
|
+
end
|
71
|
+
|
63
72
|
def inspect
|
64
73
|
"#<Tabular::Column #{key} #{column_type}>"
|
65
74
|
end
|
@@ -67,7 +76,7 @@ module Tabular
|
|
67
76
|
def to_s
|
68
77
|
key.to_s
|
69
78
|
end
|
70
|
-
|
79
|
+
|
71
80
|
private
|
72
81
|
|
73
82
|
def symbolize(key)
|
data/lib/tabular/columns.rb
CHANGED
data/lib/tabular/row.rb
CHANGED
@@ -55,7 +55,7 @@ module Tabular
|
|
55
55
|
def each_with_key(&block)
|
56
56
|
hash.each(&block)
|
57
57
|
end
|
58
|
-
|
58
|
+
|
59
59
|
# Keys for all columns
|
60
60
|
def keys
|
61
61
|
hash.keys
|
@@ -88,7 +88,7 @@ module Tabular
|
|
88
88
|
column = columns[key]
|
89
89
|
column.renderer.render column, self
|
90
90
|
end
|
91
|
-
|
91
|
+
|
92
92
|
def metadata
|
93
93
|
@table.metadata
|
94
94
|
end
|
@@ -97,6 +97,16 @@ module Tabular
|
|
97
97
|
hash.dup
|
98
98
|
end
|
99
99
|
|
100
|
+
def to_space_delimited
|
101
|
+
_cells = []
|
102
|
+
|
103
|
+
hash.each do |key, value|
|
104
|
+
_cells << (render(key) || "").ljust(columns[key].width)
|
105
|
+
end
|
106
|
+
|
107
|
+
_cells.join " "
|
108
|
+
end
|
109
|
+
|
100
110
|
def inspect
|
101
111
|
hash.inspect
|
102
112
|
end
|
@@ -127,7 +137,7 @@ module Tabular
|
|
127
137
|
else
|
128
138
|
@hash[column.key] = nil
|
129
139
|
end
|
130
|
-
rescue ArgumentError
|
140
|
+
rescue ArgumentError
|
131
141
|
date = parse_invalid_date(@array[index])
|
132
142
|
if date
|
133
143
|
@hash[column.key] = date
|
data/lib/tabular/table.rb
CHANGED
data/lib/tabular/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tabular
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Scott Willson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-09-
|
11
|
+
date: 2014-09-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ruby-ole
|