table_transform 0.6.1 → 0.6.2
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/CHANGELOG.md +6 -1
- data/README.md +11 -10
- data/lib/table_transform/table.rb +6 -2
- data/lib/table_transform/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: fee41e3204039cacaa7d9316c2d9589c3bc7c5f1
|
4
|
+
data.tar.gz: d7f5b644d6409d56dbb61b1c1bf1394f4480de7c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1376c44d33d47aee8d4e0b543714050392af9137641df044eeefd038c826f875a193d530abe2dac15d109097ccdd7d958211e5262ddf802dc38fdf1c12b06a06
|
7
|
+
data.tar.gz: 954c5d2b782fbf42476d2b73abc6add441d94b021793c75ab3cb2bf955463a9ac40db7801c2d9774941d89aea75dbcf9db30597c83a6b225b3daea7ef1d58bca
|
data/CHANGELOG.md
CHANGED
@@ -6,6 +6,10 @@ TableTransform is still in pre-release state. This means that its APIs and behav
|
|
6
6
|
|
7
7
|
## [Unreleased]
|
8
8
|
|
9
|
+
## [0.6.2][] (2016-06-11)
|
10
|
+
* [FIX] Table filter will include column properties
|
11
|
+
* Improved documentation
|
12
|
+
|
9
13
|
## [0.6.1][] (2016-06-08)
|
10
14
|
* Added write_xlsx as runtime dependency
|
11
15
|
* [FIX] Table filter will include formulas
|
@@ -37,7 +41,8 @@ TableTransform is still in pre-release state. This means that its APIs and behav
|
|
37
41
|
* Initial release including Table
|
38
42
|
|
39
43
|
[Semver]: http://semver.org
|
40
|
-
[Unreleased]: https://github.com/jonas-lantto/table_transform/compare/v0.6.
|
44
|
+
[Unreleased]: https://github.com/jonas-lantto/table_transform/compare/v0.6.2...HEAD
|
45
|
+
[0.6.2]: https://github.com/jonas-lantto/table_transform/compare/v0.6.1...v0.6.2
|
41
46
|
[0.6.1]: https://github.com/jonas-lantto/table_transform/compare/v0.6.0...v0.6.1
|
42
47
|
[0.6.0]: https://github.com/jonas-lantto/table_transform/compare/v0.5.0...v0.6.0
|
43
48
|
[0.5.0]: https://github.com/jonas-lantto/table_transform/compare/v0.4.0...v0.5.0
|
data/README.md
CHANGED
@@ -50,10 +50,10 @@ Or install it yourself as:
|
|
50
50
|
r.rename_column('Age', 'Years')
|
51
51
|
|
52
52
|
# Create a new Table with given column in specified order
|
53
|
-
t.extract(%w(Length Name))
|
53
|
+
t2 = t.extract(%w(Length Name))
|
54
54
|
|
55
|
-
# Filter table
|
56
|
-
t.filter{|row| row['Age].to_i > 20}
|
55
|
+
# Filter to a new table
|
56
|
+
t2 = t.filter{|row| row['Age].to_i > 20}
|
57
57
|
|
58
58
|
# Adds rows of two tables with same header
|
59
59
|
t1 = TableTransform::Table::create_empty(%w(Col1 Col2))
|
@@ -66,7 +66,8 @@ Or install it yourself as:
|
|
66
66
|
|
67
67
|
#### Table::Row
|
68
68
|
`Table::each_row` return a `Table::Row`<br/>
|
69
|
-
A row can access its values by column name e.g. `row['Name']
|
69
|
+
A row can access its values by column name e.g. `row['Name']`<br/>
|
70
|
+
If column name does not exist (case sensitive) an exception is raised
|
70
71
|
|
71
72
|
#### Table:Cell
|
72
73
|
# Table::Cell < String
|
@@ -109,7 +110,7 @@ Same interface for interacting with properties
|
|
109
110
|
# Extract properties
|
110
111
|
t.column_properties['Tax'] # {format: '0.0%'}
|
111
112
|
|
112
|
-
# Add
|
113
|
+
# Add property during add_column
|
113
114
|
t.add_column('Tax', {format: '0.0%'}){|row| 0.25}
|
114
115
|
|
115
116
|
### Formula
|
@@ -120,7 +121,7 @@ Column values will be nil if inspected
|
|
120
121
|
t.add_column_formula('OnePlusOne', '1+1')
|
121
122
|
|
122
123
|
# Add formula to column with meta data
|
123
|
-
t.add_column_formula('OnePlusOne', '1+1' {format: '0.0'})
|
124
|
+
t.add_column_formula('OnePlusOne', '1+1', {format: '0.0'})
|
124
125
|
|
125
126
|
#### Formula helper
|
126
127
|
To aid when creating formulas there are a few helpers available
|
@@ -128,14 +129,14 @@ To aid when creating formulas there are a few helpers available
|
|
128
129
|
f = TableTransform::FormulaHelper # Namespace alias
|
129
130
|
|
130
131
|
# Column
|
131
|
-
f::column('price') # <=> [price]
|
132
|
-
t.add_column_formula('Total value', "#{f::column('price')}*f::column('volume')}")
|
132
|
+
f::column('price') # <=> '[price]'
|
133
|
+
t.add_column_formula('Total value', "#{f::column('price')} * #{f::column('volume')}")
|
133
134
|
|
134
135
|
# Table
|
135
|
-
f::table('Table1') # <=> Table1[]
|
136
|
+
f::table('Table1') # <=> 'Table1[]'
|
136
137
|
|
137
138
|
# Text (will avoid the clutter of protecting " character)
|
138
|
-
f::text('No') # <=> "No"
|
139
|
+
f::text('No') # <=> '"No"'
|
139
140
|
|
140
141
|
# VLOOKUP, convenience function to extract values from another table
|
141
142
|
# Finds the street name in table Address for name specified in column Name
|
@@ -103,8 +103,11 @@ module TableTransform
|
|
103
103
|
|
104
104
|
# @returns new table with rows that match given block
|
105
105
|
def filter
|
106
|
-
|
106
|
+
table_prop = @table_properties.to_h
|
107
|
+
col_prop = @column_properties.keys.clone
|
108
|
+
t = Table.new( (@data_rows.select {|row| yield Row.new(@column_indexes, row)}.unshift col_prop), table_prop )
|
107
109
|
t.formulas = @formulas.clone
|
110
|
+
t.column_properties = @column_properties.clone
|
108
111
|
t
|
109
112
|
end
|
110
113
|
|
@@ -159,7 +162,7 @@ module TableTransform
|
|
159
162
|
|
160
163
|
def initialize(cols, row)
|
161
164
|
@cols = cols #column name and index in row
|
162
|
-
@row = row #Specific row
|
165
|
+
@row = row #Specific row data
|
163
166
|
end
|
164
167
|
|
165
168
|
# @returns row value with column name or empty string if it does not exist
|
@@ -214,6 +217,7 @@ module TableTransform
|
|
214
217
|
|
215
218
|
protected
|
216
219
|
attr_writer :formulas
|
220
|
+
attr_writer :column_properties
|
217
221
|
|
218
222
|
private
|
219
223
|
def create_column_name_binding(header_row)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: table_transform
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jonas Lantto
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-06-
|
11
|
+
date: 2016-06-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: write_xlsx
|