fat_table 0.2.6 → 0.3.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 +5 -5
- data/.gitignore +3 -0
- data/.rubocop.yml +3 -0
- data/.travis.yml +7 -2
- data/.yardopts +5 -1
- data/README.org +271 -251
- data/README.rdoc +4 -4
- data/TODO.org +7 -0
- data/bin/ft_console +82 -79
- data/fat_table.gemspec +47 -46
- data/lib/fat_table.rb +11 -2
- data/lib/fat_table/column.rb +41 -29
- data/lib/fat_table/db_handle.rb +31 -50
- data/lib/fat_table/evaluator.rb +26 -24
- data/lib/fat_table/formatters/aoa_formatter.rb +5 -6
- data/lib/fat_table/formatters/aoh_formatter.rb +6 -7
- data/lib/fat_table/formatters/formatter.rb +67 -48
- data/lib/fat_table/formatters/latex_formatter.rb +9 -7
- data/lib/fat_table/formatters/org_formatter.rb +8 -9
- data/lib/fat_table/formatters/term_formatter.rb +19 -18
- data/lib/fat_table/formatters/text_formatter.rb +6 -7
- data/lib/fat_table/patches.rb +30 -1
- data/lib/fat_table/table.rb +143 -117
- data/lib/fat_table/version.rb +1 -1
- data/md/README.md +2167 -0
- metadata +78 -84
metadata
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fat_table
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel E. Doherty
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-06-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
@@ -25,49 +25,49 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: byebug
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: pry
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: pry-byebug
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: pry-doc
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - ">="
|
@@ -81,21 +81,21 @@ dependencies:
|
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: rake
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
89
|
+
version: '13.0'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - "
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
96
|
+
version: '13.0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: redcarpet
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - ">="
|
@@ -109,21 +109,21 @@ dependencies:
|
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: rspec
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- - "
|
115
|
+
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
117
|
+
version: '3.0'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- - "
|
122
|
+
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
124
|
+
version: '3.0'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
126
|
+
name: rubocop-rspec
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
129
|
- - ">="
|
@@ -137,33 +137,27 @@ dependencies:
|
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '0'
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
140
|
+
name: rubocop-performance
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
|
-
- - "~>"
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: '4.0'
|
146
143
|
- - ">="
|
147
144
|
- !ruby/object:Gem::Version
|
148
|
-
version: '
|
149
|
-
type: :
|
145
|
+
version: '0'
|
146
|
+
type: :development
|
150
147
|
prerelease: false
|
151
148
|
version_requirements: !ruby/object:Gem::Requirement
|
152
149
|
requirements:
|
153
|
-
- - "~>"
|
154
|
-
- !ruby/object:Gem::Version
|
155
|
-
version: '4.0'
|
156
150
|
- - ">="
|
157
151
|
- !ruby/object:Gem::Version
|
158
|
-
version: '
|
152
|
+
version: '0'
|
159
153
|
- !ruby/object:Gem::Dependency
|
160
|
-
name:
|
154
|
+
name: simplecov
|
161
155
|
requirement: !ruby/object:Gem::Requirement
|
162
156
|
requirements:
|
163
157
|
- - ">="
|
164
158
|
- !ruby/object:Gem::Version
|
165
159
|
version: '0'
|
166
|
-
type: :
|
160
|
+
type: :development
|
167
161
|
prerelease: false
|
168
162
|
version_requirements: !ruby/object:Gem::Requirement
|
169
163
|
requirements:
|
@@ -171,35 +165,35 @@ dependencies:
|
|
171
165
|
- !ruby/object:Gem::Version
|
172
166
|
version: '0'
|
173
167
|
- !ruby/object:Gem::Dependency
|
174
|
-
name:
|
168
|
+
name: activesupport
|
175
169
|
requirement: !ruby/object:Gem::Requirement
|
176
170
|
requirements:
|
177
|
-
- - "
|
171
|
+
- - ">"
|
178
172
|
- !ruby/object:Gem::Version
|
179
|
-
version: '0'
|
173
|
+
version: '3.0'
|
180
174
|
type: :runtime
|
181
175
|
prerelease: false
|
182
176
|
version_requirements: !ruby/object:Gem::Requirement
|
183
177
|
requirements:
|
184
|
-
- - "
|
178
|
+
- - ">"
|
185
179
|
- !ruby/object:Gem::Version
|
186
|
-
version: '0'
|
180
|
+
version: '3.0'
|
187
181
|
- !ruby/object:Gem::Dependency
|
188
|
-
name:
|
182
|
+
name: fat_core
|
189
183
|
requirement: !ruby/object:Gem::Requirement
|
190
184
|
requirements:
|
191
185
|
- - ">="
|
192
186
|
- !ruby/object:Gem::Version
|
193
|
-
version: '
|
187
|
+
version: '4.1'
|
194
188
|
type: :runtime
|
195
189
|
prerelease: false
|
196
190
|
version_requirements: !ruby/object:Gem::Requirement
|
197
191
|
requirements:
|
198
192
|
- - ">="
|
199
193
|
- !ruby/object:Gem::Version
|
200
|
-
version: '
|
194
|
+
version: '4.1'
|
201
195
|
- !ruby/object:Gem::Dependency
|
202
|
-
name:
|
196
|
+
name: rainbow
|
203
197
|
requirement: !ruby/object:Gem::Requirement
|
204
198
|
requirements:
|
205
199
|
- - ">="
|
@@ -213,7 +207,7 @@ dependencies:
|
|
213
207
|
- !ruby/object:Gem::Version
|
214
208
|
version: '0'
|
215
209
|
- !ruby/object:Gem::Dependency
|
216
|
-
name:
|
210
|
+
name: sequel
|
217
211
|
requirement: !ruby/object:Gem::Requirement
|
218
212
|
requirements:
|
219
213
|
- - ">="
|
@@ -227,7 +221,7 @@ dependencies:
|
|
227
221
|
- !ruby/object:Gem::Version
|
228
222
|
version: '0'
|
229
223
|
- !ruby/object:Gem::Dependency
|
230
|
-
name:
|
224
|
+
name: gem-path
|
231
225
|
requirement: !ruby/object:Gem::Requirement
|
232
226
|
requirements:
|
233
227
|
- - ">="
|
@@ -241,35 +235,34 @@ dependencies:
|
|
241
235
|
- !ruby/object:Gem::Version
|
242
236
|
version: '0'
|
243
237
|
description: |2
|
238
|
+
FatTable is a gem that treats tables as a data type. It provides methods for
|
239
|
+
constructing tables from a variety of sources, building them row-by-row,
|
240
|
+
extracting rows, columns, and cells, and performing aggregate operations on
|
241
|
+
columns. It also provides as set of SQL-esque methods for manipulating table
|
242
|
+
objects: select for filtering by columns or for creating new columns, where
|
243
|
+
for filtering by rows, order_by for sorting rows, distinct for eliminating
|
244
|
+
duplicate rows, group_by for aggregating multiple rows into single rows and
|
245
|
+
applying column aggregate methods to ungrouped columns, a collection of join
|
246
|
+
methods for combining tables, and more.
|
244
247
|
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
methods for combining tables, and more.
|
248
|
+
Furthermore, FatTable provides methods for formatting tables and producing
|
249
|
+
output that targets various output media: text, ANSI terminals, ruby data
|
250
|
+
structures, LaTeX tables, Emacs org-mode tables, and more. The formatting
|
251
|
+
methods can specify cell formatting in a way that is uniform across all the
|
252
|
+
output methods and can also decorate the output with any number of footers,
|
253
|
+
including group footers. FatTable applies formatting directives to the extent
|
254
|
+
they makes sense for the output medium and treats other formatting directives as
|
255
|
+
no-ops.
|
254
256
|
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
FatTable can be used to perform operations on data that are naturally best
|
265
|
-
conceived of as tables, which in my experience is quite often. It can also serve
|
266
|
-
as a foundation for providing reporting functions where flexibility about the
|
267
|
-
output medium can be quite useful. Finally FatTable can be used within Emacs
|
268
|
-
org-mode files in code blocks targeting the Ruby language. Org mode tables are
|
269
|
-
presented to a ruby code block as an array of arrays, so FatTable can read
|
270
|
-
them in with its .from_aoa constructor. A FatTable table can output as an
|
271
|
-
array of arrays with its .to_aoa output function and will be rendered in an
|
272
|
-
org-mode buffer as an org-table, ready for processing by other code blocks.
|
257
|
+
FatTable can be used to perform operations on data that are naturally best
|
258
|
+
conceived of as tables, which in my experience is quite often. It can also serve
|
259
|
+
as a foundation for providing reporting functions where flexibility about the
|
260
|
+
output medium can be quite useful. Finally FatTable can be used within Emacs
|
261
|
+
org-mode files in code blocks targeting the Ruby language. Org mode tables are
|
262
|
+
presented to a ruby code block as an array of arrays, so FatTable can read
|
263
|
+
them in with its .from_aoa constructor. A FatTable table can output as an
|
264
|
+
array of arrays with its .to_aoa output function and will be rendered in an
|
265
|
+
org-mode buffer as an org-table, ready for processing by other code blocks.
|
273
266
|
email:
|
274
267
|
- ded-law@ddoherty.net
|
275
268
|
executables:
|
@@ -279,6 +272,7 @@ extra_rdoc_files: []
|
|
279
272
|
files:
|
280
273
|
- ".gitignore"
|
281
274
|
- ".rspec"
|
275
|
+
- ".rubocop.yml"
|
282
276
|
- ".travis.yml"
|
283
277
|
- ".yardopts"
|
284
278
|
- Gemfile
|
@@ -306,6 +300,7 @@ files:
|
|
306
300
|
- lib/fat_table/patches.rb
|
307
301
|
- lib/fat_table/table.rb
|
308
302
|
- lib/fat_table/version.rb
|
303
|
+
- md/README.md
|
309
304
|
homepage: https://github.com/ddoherty03/fat_table
|
310
305
|
licenses: []
|
311
306
|
metadata:
|
@@ -319,15 +314,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
319
314
|
requirements:
|
320
315
|
- - ">="
|
321
316
|
- !ruby/object:Gem::Version
|
322
|
-
version:
|
317
|
+
version: 2.2.2
|
323
318
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
324
319
|
requirements:
|
325
320
|
- - ">="
|
326
321
|
- !ruby/object:Gem::Version
|
327
322
|
version: '0'
|
328
323
|
requirements: []
|
329
|
-
|
330
|
-
rubygems_version: 2.6.13
|
324
|
+
rubygems_version: 3.0.3
|
331
325
|
signing_key:
|
332
326
|
specification_version: 4
|
333
327
|
summary: Provides tools for working with tables as a data type.
|