rasti-db 2.0.1 → 2.1.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.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +11 -3
  3. data/lib/rasti/db/collection.rb +10 -1
  4. data/lib/rasti/db/computed_attribute.rb +22 -0
  5. data/lib/rasti/db/nql/nodes/attribute.rb +37 -0
  6. data/lib/rasti/db/nql/nodes/binary_node.rb +4 -0
  7. data/lib/rasti/db/nql/nodes/comparisons/base.rb +5 -1
  8. data/lib/rasti/db/nql/nodes/comparisons/equal.rb +2 -2
  9. data/lib/rasti/db/nql/nodes/comparisons/greater_than.rb +2 -2
  10. data/lib/rasti/db/nql/nodes/comparisons/greater_than_or_equal.rb +2 -2
  11. data/lib/rasti/db/nql/nodes/comparisons/include.rb +2 -2
  12. data/lib/rasti/db/nql/nodes/comparisons/less_than.rb +2 -2
  13. data/lib/rasti/db/nql/nodes/comparisons/less_than_or_equal.rb +2 -2
  14. data/lib/rasti/db/nql/nodes/comparisons/like.rb +2 -2
  15. data/lib/rasti/db/nql/nodes/comparisons/not_equal.rb +2 -2
  16. data/lib/rasti/db/nql/nodes/comparisons/not_include.rb +2 -2
  17. data/lib/rasti/db/nql/nodes/conjunction.rb +2 -2
  18. data/lib/rasti/db/nql/nodes/disjunction.rb +2 -2
  19. data/lib/rasti/db/nql/nodes/parenthesis_sentence.rb +6 -2
  20. data/lib/rasti/db/nql/nodes/sentence.rb +6 -2
  21. data/lib/rasti/db/nql/syntax.rb +33 -33
  22. data/lib/rasti/db/nql/syntax.treetop +12 -12
  23. data/lib/rasti/db/query.rb +41 -7
  24. data/lib/rasti/db/version.rb +1 -1
  25. data/spec/computed_attribute_spec.rb +32 -0
  26. data/spec/minitest_helper.rb +30 -3
  27. data/spec/model_spec.rb +1 -1
  28. data/spec/nql/computed_attributes_spec.rb +29 -0
  29. data/spec/nql/filter_condition_spec.rb +4 -2
  30. data/spec/nql/syntax_parser_spec.rb +12 -5
  31. data/spec/query_spec.rb +146 -34
  32. metadata +8 -3
  33. data/lib/rasti/db/nql/nodes/field.rb +0 -23
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rasti-db
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gabriel Naiman
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-20 00:00:00.000000000 Z
11
+ date: 2020-12-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sequel
@@ -277,10 +277,12 @@ files:
277
277
  - lib/rasti-db.rb
278
278
  - lib/rasti/db.rb
279
279
  - lib/rasti/db/collection.rb
280
+ - lib/rasti/db/computed_attribute.rb
280
281
  - lib/rasti/db/data_source.rb
281
282
  - lib/rasti/db/environment.rb
282
283
  - lib/rasti/db/model.rb
283
284
  - lib/rasti/db/nql/invalid_expression_error.rb
285
+ - lib/rasti/db/nql/nodes/attribute.rb
284
286
  - lib/rasti/db/nql/nodes/binary_node.rb
285
287
  - lib/rasti/db/nql/nodes/comparisons/base.rb
286
288
  - lib/rasti/db/nql/nodes/comparisons/equal.rb
@@ -301,7 +303,6 @@ files:
301
303
  - lib/rasti/db/nql/nodes/constants/time.rb
302
304
  - lib/rasti/db/nql/nodes/constants/true.rb
303
305
  - lib/rasti/db/nql/nodes/disjunction.rb
304
- - lib/rasti/db/nql/nodes/field.rb
305
306
  - lib/rasti/db/nql/nodes/parenthesis_sentence.rb
306
307
  - lib/rasti/db/nql/nodes/sentence.rb
307
308
  - lib/rasti/db/nql/syntax.rb
@@ -322,9 +323,11 @@ files:
322
323
  - lib/rasti/db/version.rb
323
324
  - rasti-db.gemspec
324
325
  - spec/collection_spec.rb
326
+ - spec/computed_attribute_spec.rb
325
327
  - spec/coverage_helper.rb
326
328
  - spec/minitest_helper.rb
327
329
  - spec/model_spec.rb
330
+ - spec/nql/computed_attributes_spec.rb
328
331
  - spec/nql/dependency_tables_spec.rb
329
332
  - spec/nql/filter_condition_spec.rb
330
333
  - spec/nql/syntax_parser_spec.rb
@@ -357,9 +360,11 @@ specification_version: 4
357
360
  summary: Database collections and relations
358
361
  test_files:
359
362
  - spec/collection_spec.rb
363
+ - spec/computed_attribute_spec.rb
360
364
  - spec/coverage_helper.rb
361
365
  - spec/minitest_helper.rb
362
366
  - spec/model_spec.rb
367
+ - spec/nql/computed_attributes_spec.rb
363
368
  - spec/nql/dependency_tables_spec.rb
364
369
  - spec/nql/filter_condition_spec.rb
365
370
  - spec/nql/syntax_parser_spec.rb
@@ -1,23 +0,0 @@
1
- module Rasti
2
- module DB
3
- module NQL
4
- module Nodes
5
- class Field < Treetop::Runtime::SyntaxNode
6
-
7
- def identifier
8
- tables.empty? ? Sequel[column.to_sym] : Sequel[tables.join('__').to_sym][column.to_sym]
9
- end
10
-
11
- def tables
12
- _tables.elements.map{ |e| e.table.text_value }
13
- end
14
-
15
- def column
16
- _column.text_value
17
- end
18
-
19
- end
20
- end
21
- end
22
- end
23
- end