bmg 0.18.2 → 0.18.7

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 (51) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -0
  3. data/lib/bmg/algebra.rb +18 -0
  4. data/lib/bmg/algebra/shortcuts.rb +8 -0
  5. data/lib/bmg/error.rb +3 -0
  6. data/lib/bmg/operator.rb +2 -0
  7. data/lib/bmg/operator/allbut.rb +1 -0
  8. data/lib/bmg/operator/autosummarize.rb +1 -0
  9. data/lib/bmg/operator/autowrap.rb +1 -0
  10. data/lib/bmg/operator/constants.rb +1 -0
  11. data/lib/bmg/operator/extend.rb +1 -0
  12. data/lib/bmg/operator/group.rb +1 -0
  13. data/lib/bmg/operator/image.rb +10 -4
  14. data/lib/bmg/operator/join.rb +1 -0
  15. data/lib/bmg/operator/matching.rb +1 -0
  16. data/lib/bmg/operator/not_matching.rb +1 -0
  17. data/lib/bmg/operator/page.rb +1 -0
  18. data/lib/bmg/operator/project.rb +1 -0
  19. data/lib/bmg/operator/rename.rb +6 -5
  20. data/lib/bmg/operator/restrict.rb +1 -0
  21. data/lib/bmg/operator/rxmatch.rb +1 -0
  22. data/lib/bmg/operator/summarize.rb +2 -17
  23. data/lib/bmg/operator/transform.rb +1 -0
  24. data/lib/bmg/operator/ungroup.rb +61 -0
  25. data/lib/bmg/operator/union.rb +1 -0
  26. data/lib/bmg/operator/unwrap.rb +47 -0
  27. data/lib/bmg/reader/csv.rb +29 -10
  28. data/lib/bmg/reader/excel.rb +23 -4
  29. data/lib/bmg/relation.rb +6 -0
  30. data/lib/bmg/relation/in_memory.rb +0 -1
  31. data/lib/bmg/sequel/relation.rb +1 -0
  32. data/lib/bmg/sequel/translator.rb +9 -2
  33. data/lib/bmg/sql.rb +4 -1
  34. data/lib/bmg/sql/processor.rb +1 -0
  35. data/lib/bmg/sql/processor/transform.rb +105 -0
  36. data/lib/bmg/sql/relation.rb +20 -6
  37. data/lib/bmg/summarizer.rb +36 -1
  38. data/lib/bmg/summarizer/avg.rb +3 -3
  39. data/lib/bmg/summarizer/by_proc.rb +41 -0
  40. data/lib/bmg/summarizer/distinct.rb +36 -0
  41. data/lib/bmg/summarizer/multiple.rb +46 -0
  42. data/lib/bmg/summarizer/percentile.rb +79 -0
  43. data/lib/bmg/summarizer/value_by.rb +62 -0
  44. data/lib/bmg/support/keys.rb +5 -0
  45. data/lib/bmg/support/tuple_transformer.rb +23 -1
  46. data/lib/bmg/type.rb +19 -1
  47. data/lib/bmg/version.rb +1 -1
  48. data/lib/bmg/writer.rb +16 -0
  49. data/lib/bmg/writer/csv.rb +2 -12
  50. data/lib/bmg/writer/xlsx.rb +68 -0
  51. metadata +25 -2
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bmg
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.2
4
+ version: 0.18.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bernard Lambeau
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-16 00:00:00.000000000 Z
11
+ date: 2021-06-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: predicate
@@ -86,6 +86,20 @@ dependencies:
86
86
  - - ">="
87
87
  - !ruby/object:Gem::Version
88
88
  version: '2.8'
89
+ - !ruby/object:Gem::Dependency
90
+ name: write_xlsx
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '1.0'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '1.0'
89
103
  - !ruby/object:Gem::Dependency
90
104
  name: sequel
91
105
  requirement: !ruby/object:Gem::Requirement
@@ -150,7 +164,9 @@ files:
150
164
  - lib/bmg/operator/shared/unary.rb
151
165
  - lib/bmg/operator/summarize.rb
152
166
  - lib/bmg/operator/transform.rb
167
+ - lib/bmg/operator/ungroup.rb
153
168
  - lib/bmg/operator/union.rb
169
+ - lib/bmg/operator/unwrap.rb
154
170
  - lib/bmg/reader.rb
155
171
  - lib/bmg/reader/csv.rb
156
172
  - lib/bmg/reader/excel.rb
@@ -245,19 +261,25 @@ files:
245
261
  - lib/bmg/sql/processor/semi_join.rb
246
262
  - lib/bmg/sql/processor/star.rb
247
263
  - lib/bmg/sql/processor/summarize.rb
264
+ - lib/bmg/sql/processor/transform.rb
248
265
  - lib/bmg/sql/processor/where.rb
249
266
  - lib/bmg/sql/relation.rb
250
267
  - lib/bmg/sql/support/from_clause_orderer.rb
251
268
  - lib/bmg/sql/version.rb
252
269
  - lib/bmg/summarizer.rb
253
270
  - lib/bmg/summarizer/avg.rb
271
+ - lib/bmg/summarizer/by_proc.rb
254
272
  - lib/bmg/summarizer/collect.rb
255
273
  - lib/bmg/summarizer/concat.rb
256
274
  - lib/bmg/summarizer/count.rb
275
+ - lib/bmg/summarizer/distinct.rb
257
276
  - lib/bmg/summarizer/max.rb
258
277
  - lib/bmg/summarizer/min.rb
278
+ - lib/bmg/summarizer/multiple.rb
279
+ - lib/bmg/summarizer/percentile.rb
259
280
  - lib/bmg/summarizer/stddev.rb
260
281
  - lib/bmg/summarizer/sum.rb
282
+ - lib/bmg/summarizer/value_by.rb
261
283
  - lib/bmg/summarizer/variance.rb
262
284
  - lib/bmg/support.rb
263
285
  - lib/bmg/support/keys.rb
@@ -269,6 +291,7 @@ files:
269
291
  - lib/bmg/version.rb
270
292
  - lib/bmg/writer.rb
271
293
  - lib/bmg/writer/csv.rb
294
+ - lib/bmg/writer/xlsx.rb
272
295
  - tasks/gem.rake
273
296
  - tasks/test.rake
274
297
  homepage: http://github.com/enspirit/bmg