bmg 0.18.2 → 0.18.7

Sign up to get free protection for your applications and to get access to all the features.
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