tabulator 0.3.0 → 0.4.0
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.
- checksums.yaml +4 -4
- data/lib/tabulator/reader.rb +24 -3
- data/lib/tabulator/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ede125563ddede5588d96f30f03e2d3625091f88
|
4
|
+
data.tar.gz: f5dbb7687ac762b49cf477970941ed901248b45a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5ed7efe57fc0794edd3b52484a75c0842bc2b03f2ef88085cb4f4de609d5e55f1eaca3ed5287375b139035af2866adcfad57e7d1c45ea17ce3e5d250b9ca9f35
|
7
|
+
data.tar.gz: 6d85d2a75f5c953ec1c54f052fcb4d3e35da1d87d9affc0058cea5d3cae3a2a0886192f617c2d6409ab966e54eca6cbc428ad7d1e4ad8c4caf0829b30049d6f6
|
data/lib/tabulator/reader.rb
CHANGED
@@ -27,8 +27,8 @@ module Tabulator
|
|
27
27
|
rows.slice! index_definition
|
28
28
|
}
|
29
29
|
|
30
|
-
header_row = rows[header].
|
31
|
-
|
30
|
+
header_row = rows[header].reduce([]) { |accepted_headers, raw_header_col|
|
31
|
+
accepted_headers << safe_generate_header(raw_header_col, accepted_headers)
|
32
32
|
}
|
33
33
|
|
34
34
|
new rows.drop(skip).map { |row|
|
@@ -36,6 +36,22 @@ module Tabulator
|
|
36
36
|
}
|
37
37
|
end
|
38
38
|
|
39
|
+
def self.generate_header text
|
40
|
+
I18n.transliterate(text.strip.gsub(/\s/, '_')).downcase.to_sym
|
41
|
+
end
|
42
|
+
|
43
|
+
def self.safe_generate_header text, headers
|
44
|
+
candidate = generate_header(text)
|
45
|
+
suffix = 1
|
46
|
+
|
47
|
+
while headers.include? candidate
|
48
|
+
candidate = generate_header([text, suffix].join('_'))
|
49
|
+
suffix += 1
|
50
|
+
end
|
51
|
+
|
52
|
+
candidate
|
53
|
+
end
|
54
|
+
|
39
55
|
def initialize rows
|
40
56
|
@rows = rows
|
41
57
|
end
|
@@ -77,7 +93,12 @@ module Tabulator
|
|
77
93
|
|
78
94
|
private
|
79
95
|
def json_dump_options
|
80
|
-
|
96
|
+
{
|
97
|
+
indent: ' ',
|
98
|
+
space: ' ',
|
99
|
+
object_nl: "\n",
|
100
|
+
array_nl: "\n"
|
101
|
+
}
|
81
102
|
end
|
82
103
|
end
|
83
104
|
end
|
data/lib/tabulator/version.rb
CHANGED