grumlin 0.19.0 → 0.19.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f899b66f4f483334c271ca60f6ade26d5b403bc10552e03700595e983e0268cb
4
- data.tar.gz: ea689ad161f0b220e37af0fd5aa32adaa50990ebdcdc6d8e8cef7b12b53067e5
3
+ metadata.gz: 7ce013b3f95a61f038a3dd646c4f47de81026bf9ec396467a0500f2fc7c055e3
4
+ data.tar.gz: 78cd3caf0ce18bce7741236cf9f232b58eb0b675492102826635ccc441f98cec
5
5
  SHA512:
6
- metadata.gz: f9d3c770966a9f44efc25c7f7ad3a33203daafc0e1f3887db22ef6cd9c37415073c72cb90dd7cb7658c12a5e9ac2aa587c48d590ff417a7ba4c26b1f2586214d
7
- data.tar.gz: 5a9ed3d9e7ff5c717083b5d36b8de17a4ef8b3ed4310c67b35b8ff56d5f7b49e2d74770e47cd1aa96f3544549f9fad9ddba5bf5695ca4bf9e23c04bb4d15f90b
6
+ metadata.gz: 3f49d27bc55301991f4eff5935eb90d1a3dff873551466ffcbf6ecc978d25149eba939a45b2e9e966b706470a7c47496e575f51ba2fab26ebb96e9deb9d31bcd
7
+ data.tar.gz: 656e68d9d2ba385d0e2c17d4e28658f15b2d224338e9e3d0bc93b2336bcfe4c4d30226f2efb653e21678c0131f79c9a3d3043e1ac8b1a0b9489e12606c65d425
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- grumlin (0.19.0)
4
+ grumlin (0.19.3)
5
5
  async-pool (~> 0.3)
6
6
  async-websocket (~> 0.19)
7
7
  oj (~> 3.12)
@@ -18,7 +18,7 @@ GEM
18
18
  tzinfo (~> 2.0)
19
19
  zeitwerk (~> 2.3)
20
20
  ast (2.4.2)
21
- async (1.30.1)
21
+ async (1.30.2)
22
22
  console (~> 1.10)
23
23
  nio4r (~> 2.3)
24
24
  timers (~> 4.1)
@@ -32,7 +32,7 @@ GEM
32
32
  traces (~> 0.4.0)
33
33
  async-io (1.33.0)
34
34
  async
35
- async-pool (0.3.9)
35
+ async-pool (0.3.10)
36
36
  async (>= 1.25)
37
37
  async-rspec (1.16.0)
38
38
  rspec (~> 3.0)
data/lib/definitions.yml CHANGED
@@ -77,6 +77,9 @@ steps:
77
77
  - withSack
78
78
  - withSideEffect
79
79
  expressions:
80
+ column:
81
+ - keys
82
+ - values
80
83
  operator:
81
84
  - addAll
82
85
  - and
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Grumlin
4
+ module Expressions
5
+ module Column
6
+ SUPPORTED_STEPS = Grumlin.definitions.dig(:expressions, :column).map(&:to_sym).freeze
7
+
8
+ class << self
9
+ extend Expression
10
+
11
+ define_steps(SUPPORTED_STEPS, "Column")
12
+ end
13
+ end
14
+ end
15
+ end
@@ -64,8 +64,8 @@ module Grumlin
64
64
  # [["label", "id", {create: :properties}, {update: properties}]]
65
65
  # params can override Retryable config from UPSERT_RETRY_PARAMS
66
66
  def upsert_vertices(vertices, batch_size: 100, on_failure: :retry, **params)
67
- with_upsert_error_handling(on_failure, params) do
68
- vertices.each_slice(batch_size) do |slice|
67
+ vertices.each_slice(batch_size) do |slice|
68
+ with_upsert_error_handling(on_failure, params) do
69
69
  slice.reduce(g) do |t, (label, id, create_properties, update_properties)|
70
70
  create_properties, update_properties = cleanup_properties(create_properties, update_properties)
71
71
 
@@ -88,8 +88,8 @@ module Grumlin
88
88
  # [["label", "id", {create: :properties}, {update: properties}]]
89
89
  # params can override Retryable config from UPSERT_RETRY_PARAMS
90
90
  def upsert_edges(edges, batch_size: 100, on_failure: :retry, **params)
91
- with_upsert_error_handling(on_failure, params) do
92
- edges.each_slice(batch_size) do |slice|
91
+ edges.each_slice(batch_size) do |slice|
92
+ with_upsert_error_handling(on_failure, params) do
93
93
  slice.reduce(g) do |t, (label, from, to, create_properties, update_properties)|
94
94
  create_properties, update_properties = cleanup_properties(create_properties, update_properties, T.label)
95
95
 
@@ -21,7 +21,7 @@ module Grumlin
21
21
  "g:T" => ->(value) { Grumlin::Expressions::T.public_send(value) }
22
22
  }.freeze
23
23
 
24
- CASTABLE_TYPES = [Hash, String, Integer, TrueClass, FalseClass].freeze
24
+ CASTABLE_TYPES = [Hash, String, Integer, TrueClass, FalseClass, NilClass].freeze
25
25
 
26
26
  class << self
27
27
  def cast(value)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Grumlin
4
- VERSION = "0.19.0"
4
+ VERSION = "0.19.3"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grumlin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.19.0
4
+ version: 0.19.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gleb Sinyavskiy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-03 00:00:00.000000000 Z
11
+ date: 2022-05-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: async-pool
@@ -115,6 +115,7 @@ files:
115
115
  - lib/grumlin/action.rb
116
116
  - lib/grumlin/client.rb
117
117
  - lib/grumlin/edge.rb
118
+ - lib/grumlin/expressions/column.rb
118
119
  - lib/grumlin/expressions/expression.rb
119
120
  - lib/grumlin/expressions/operator.rb
120
121
  - lib/grumlin/expressions/order.rb