activegraph 11.2.0 → 11.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4b0ec846225c753d7a2dc2bc3923c95f52dec582324559df182f23df633f564c
4
- data.tar.gz: 1205c8eaf374112629a173f55e2c9a5fae42324073b2f540815eb984cb87e324
3
+ metadata.gz: 2a34cf88985a4d6f6d73da937abb94f5adbf429fd9a0c06e175600b04cf49863
4
+ data.tar.gz: e43528c6888cca7ac127ed33b972cc15e0a2f75dc291f187e7a2e5158e2b5f35
5
5
  SHA512:
6
- metadata.gz: '07091d4bf26b0b2bfb4d6313668e358eb78f8eb6afb7244063a2293a3596963687debf7fe6e72177ba388ac008a9452a8bd580fb48064575354e0e208765f475'
7
- data.tar.gz: '09dc2f6eaf0126d26b76aba057b9b7e77e0b633f0b13ab99964ed64fd64e7421f22eaa470d9abd0fca4bd896e122ca938814683bc0c618e7d37d2ded400c00de'
6
+ metadata.gz: 853b4a12d5d2fb72acf05e747d4d77612ee35f3746883091c56786c16abbd6041e551eda8d8edea64659922569431e1469c239a04905301d600526822db162cc
7
+ data.tar.gz: a9940abfa130c32b50b5d1c6b730b5a2e2e3534a1c53b95983850075fc3da3736af018f7d0d3cb6e7612f4b49f5ab4751e3dd9332bc8c41bc647e0cfc73e540e
data/CHANGELOG.md CHANGED
@@ -3,6 +3,16 @@ All notable changes to this project will be documented in this file.
3
3
  This file should follow the standards specified on [http://keepachangelog.com/]
4
4
  This project adheres to [Semantic Versioning](http://semver.org/).
5
5
 
6
+ ## [11.3.0] 2023-02-10
7
+
8
+ ## Added
9
+
10
+ - support for keyword arguments in scopes
11
+
12
+ ## Fixed
13
+
14
+ - Fixed issue with psych https://github.com/neo4jrb/activegraph/issues/1684 (Thanks @chytreg)
15
+
6
16
  ## [11.2.0] 2023-02-06
7
17
 
8
18
  ## Added
@@ -39,15 +39,15 @@ module ActiveGraph::Node
39
39
 
40
40
  klass = class << self; self; end
41
41
  klass.instance_eval do
42
- define_method(name) do |*query_params|
42
+ define_method(name) do |*query_params, **kwargs|
43
43
  eval_context = ScopeEvalContext.new(self, current_scope || self.query_proxy)
44
44
  proc = full_scopes[name.to_sym]
45
- _call_scope_context(eval_context, query_params, proc)
45
+ _call_scope_context(eval_context, *query_params, **kwargs, &proc)
46
46
  end
47
47
  end
48
48
 
49
- define_method(name) do |*query_params|
50
- as(:n).public_send(name, *query_params)
49
+ define_method(name) do |*query_params, **kwargs|
50
+ as(:n).public_send(name, *query_params, **kwargs)
51
51
  end
52
52
  end
53
53
 
@@ -76,8 +76,14 @@ module ActiveGraph::Node
76
76
  end
77
77
  end
78
78
 
79
- def _call_scope_context(eval_context, query_params, proc)
80
- eval_context.instance_exec(*query_params.fill(nil, query_params.length..proc.arity - 1), &proc)
79
+ def _call_scope_context(eval_context, *query_params, **kwargs, &proc)
80
+ last_vararg_index = proc.arity - (kwargs.empty? ? 1 : 2)
81
+ query_params.fill(nil, query_params.length..last_vararg_index)
82
+ if kwargs.empty? # for jruby-9.3 compatibility
83
+ eval_context.instance_exec(*query_params, &proc)
84
+ else
85
+ eval_context.instance_exec(*query_params, **kwargs, &proc)
86
+ end
81
87
  end
82
88
 
83
89
  def current_scope #:nodoc:
@@ -118,8 +124,12 @@ module ActiveGraph::Node
118
124
 
119
125
  # method_missing is not delegated to super class but to aggregated class
120
126
  # rubocop:disable Style/MethodMissingSuper
121
- def method_missing(name, *params, &block)
122
- query_proxy_or_target.public_send(name, *params, &block)
127
+ def method_missing(name, *params, **kwargs, &block)
128
+ if kwargs.empty? # for jruby-9.3 compatibility
129
+ query_proxy_or_target.public_send(name, *params, &block)
130
+ else
131
+ query_proxy_or_target.public_send(name, *params, **kwargs, &block)
132
+ end
123
133
  end
124
134
  # rubocop:enable Style/MethodMissingSuper
125
135
 
@@ -41,7 +41,7 @@ module ActiveGraph::Shared
41
41
  # Media.enum type: { image: 1, video: 2, unknown: 3 }
42
42
  #
43
43
  # @see http://edgeapi.rubyonrails.org/classes/ActiveRecord/Enum.html
44
- def enum(parameters = {})
44
+ def enum(**parameters)
45
45
  options, parameters = *split_options_and_parameters(parameters)
46
46
  parameters.each do |property_name, enum_keys|
47
47
  enum_keys = normalize_key_list enum_keys, options
@@ -83,7 +83,11 @@ COMMENT
83
83
 
84
84
  args.with_defaults(remove_missing: false)
85
85
 
86
- schema_data = YAML.safe_load(File.read(SCHEMA_YAML_PATH), [Symbol])
86
+ schema_data = if Gem::Requirement.new('>= 4') =~ Gem::Version.new(Psych::VERSION)
87
+ YAML.safe_load(File.read(SCHEMA_YAML_PATH), permitted_classes: [Symbol])
88
+ else
89
+ YAML.safe_load(File.read(SCHEMA_YAML_PATH), [Symbol])
90
+ end
87
91
 
88
92
  ActiveGraph::Base.subscribe_to_query(&method(:puts))
89
93
 
@@ -1,3 +1,3 @@
1
1
  module ActiveGraph
2
- VERSION = '11.2.0'
2
+ VERSION = '11.3.0'
3
3
  end
metadata CHANGED
@@ -1,262 +1,262 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activegraph
3
3
  version: !ruby/object:Gem::Version
4
- version: 11.2.0
4
+ version: 11.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andreas Ronge, Brian Underwood, Chris Grigg, Heinrich Klobuczek
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-02-06 00:00:00.000000000 Z
11
+ date: 2023-02-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: activemodel
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
16
  - - ">="
18
17
  - !ruby/object:Gem::Version
19
18
  version: '4.0'
20
- type: :runtime
19
+ name: activemodel
21
20
  prerelease: false
21
+ type: :runtime
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '4.0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: activesupport
29
28
  requirement: !ruby/object:Gem::Requirement
30
29
  requirements:
31
30
  - - ">="
32
31
  - !ruby/object:Gem::Version
33
32
  version: '4.0'
34
- type: :runtime
33
+ name: activesupport
35
34
  prerelease: false
35
+ type: :runtime
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '4.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: i18n
43
42
  requirement: !ruby/object:Gem::Requirement
44
43
  requirements:
45
44
  - - "!="
46
45
  - !ruby/object:Gem::Version
47
46
  version: 1.8.8
48
- type: :runtime
47
+ name: i18n
49
48
  prerelease: false
49
+ type: :runtime
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "!="
53
53
  - !ruby/object:Gem::Version
54
54
  version: 1.8.8
55
55
  - !ruby/object:Gem::Dependency
56
- name: neo4j-ruby-driver
57
56
  requirement: !ruby/object:Gem::Requirement
58
57
  requirements:
59
58
  - - ">="
60
59
  - !ruby/object:Gem::Version
61
60
  version: 4.4.1
62
- type: :runtime
61
+ name: neo4j-ruby-driver
63
62
  prerelease: false
63
+ type: :runtime
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: 4.4.1
69
69
  - !ruby/object:Gem::Dependency
70
- name: orm_adapter
71
70
  requirement: !ruby/object:Gem::Requirement
72
71
  requirements:
73
72
  - - "~>"
74
73
  - !ruby/object:Gem::Version
75
74
  version: 0.5.0
76
- type: :runtime
75
+ name: orm_adapter
77
76
  prerelease: false
77
+ type: :runtime
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: 0.5.0
83
83
  - !ruby/object:Gem::Dependency
84
- name: sorted_set
85
84
  requirement: !ruby/object:Gem::Requirement
86
85
  requirements:
87
86
  - - ">="
88
87
  - !ruby/object:Gem::Version
89
88
  version: '0'
90
- type: :runtime
89
+ name: sorted_set
91
90
  prerelease: false
91
+ type: :runtime
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: guard
99
98
  requirement: !ruby/object:Gem::Requirement
100
99
  requirements:
101
100
  - - ">="
102
101
  - !ruby/object:Gem::Version
103
102
  version: '0'
104
- type: :development
103
+ name: guard
105
104
  prerelease: false
105
+ type: :development
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: guard-rspec
113
112
  requirement: !ruby/object:Gem::Requirement
114
113
  requirements:
115
114
  - - ">="
116
115
  - !ruby/object:Gem::Version
117
116
  version: '0'
118
- type: :development
117
+ name: guard-rspec
119
118
  prerelease: false
119
+ type: :development
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
- name: guard-rubocop
127
126
  requirement: !ruby/object:Gem::Requirement
128
127
  requirements:
129
128
  - - ">="
130
129
  - !ruby/object:Gem::Version
131
130
  version: '0'
132
- type: :development
131
+ name: guard-rubocop
133
132
  prerelease: false
133
+ type: :development
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
- name: neo4j-rake_tasks
141
140
  requirement: !ruby/object:Gem::Requirement
142
141
  requirements:
143
142
  - - ">="
144
143
  - !ruby/object:Gem::Version
145
144
  version: 0.3.0
146
- type: :development
145
+ name: neo4j-rake_tasks
147
146
  prerelease: false
147
+ type: :development
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - ">="
151
151
  - !ruby/object:Gem::Version
152
152
  version: 0.3.0
153
153
  - !ruby/object:Gem::Dependency
154
- name: os
155
154
  requirement: !ruby/object:Gem::Requirement
156
155
  requirements:
157
156
  - - ">="
158
157
  - !ruby/object:Gem::Version
159
158
  version: '0'
160
- type: :development
159
+ name: os
161
160
  prerelease: false
161
+ type: :development
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - ">="
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
167
  - !ruby/object:Gem::Dependency
168
- name: pry
169
168
  requirement: !ruby/object:Gem::Requirement
170
169
  requirements:
171
170
  - - ">="
172
171
  - !ruby/object:Gem::Version
173
172
  version: '0'
174
- type: :development
173
+ name: pry
175
174
  prerelease: false
175
+ type: :development
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - ">="
179
179
  - !ruby/object:Gem::Version
180
180
  version: '0'
181
181
  - !ruby/object:Gem::Dependency
182
- name: railties
183
182
  requirement: !ruby/object:Gem::Requirement
184
183
  requirements:
185
184
  - - ">="
186
185
  - !ruby/object:Gem::Version
187
186
  version: '4.0'
188
- type: :development
187
+ name: railties
189
188
  prerelease: false
189
+ type: :development
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - ">="
193
193
  - !ruby/object:Gem::Version
194
194
  version: '4.0'
195
195
  - !ruby/object:Gem::Dependency
196
- name: rake
197
196
  requirement: !ruby/object:Gem::Requirement
198
197
  requirements:
199
198
  - - ">="
200
199
  - !ruby/object:Gem::Version
201
200
  version: '0'
202
- type: :development
201
+ name: rake
203
202
  prerelease: false
203
+ type: :development
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
206
  - - ">="
207
207
  - !ruby/object:Gem::Version
208
208
  version: '0'
209
209
  - !ruby/object:Gem::Dependency
210
- name: rubocop
211
210
  requirement: !ruby/object:Gem::Requirement
212
211
  requirements:
213
212
  - - ">="
214
213
  - !ruby/object:Gem::Version
215
214
  version: 0.56.0
216
- type: :development
215
+ name: rubocop
217
216
  prerelease: false
217
+ type: :development
218
218
  version_requirements: !ruby/object:Gem::Requirement
219
219
  requirements:
220
220
  - - ">="
221
221
  - !ruby/object:Gem::Version
222
222
  version: 0.56.0
223
223
  - !ruby/object:Gem::Dependency
224
- name: yard
225
224
  requirement: !ruby/object:Gem::Requirement
226
225
  requirements:
227
226
  - - ">="
228
227
  - !ruby/object:Gem::Version
229
228
  version: '0'
230
- type: :development
229
+ name: yard
231
230
  prerelease: false
231
+ type: :development
232
232
  version_requirements: !ruby/object:Gem::Requirement
233
233
  requirements:
234
234
  - - ">="
235
235
  - !ruby/object:Gem::Version
236
236
  version: '0'
237
237
  - !ruby/object:Gem::Dependency
238
- name: dryspec
239
238
  requirement: !ruby/object:Gem::Requirement
240
239
  requirements:
241
240
  - - ">="
242
241
  - !ruby/object:Gem::Version
243
242
  version: '0'
244
- type: :development
243
+ name: dryspec
245
244
  prerelease: false
245
+ type: :development
246
246
  version_requirements: !ruby/object:Gem::Requirement
247
247
  requirements:
248
248
  - - ">="
249
249
  - !ruby/object:Gem::Version
250
250
  version: '0'
251
251
  - !ruby/object:Gem::Dependency
252
- name: rspec
253
252
  requirement: !ruby/object:Gem::Requirement
254
253
  requirements:
255
254
  - - "<"
256
255
  - !ruby/object:Gem::Version
257
256
  version: '3.10'
258
- type: :development
257
+ name: rspec
259
258
  prerelease: false
259
+ type: :development
260
260
  version_requirements: !ruby/object:Gem::Requirement
261
261
  requirements:
262
262
  - - "<"
@@ -444,7 +444,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
444
444
  - !ruby/object:Gem::Version
445
445
  version: '0'
446
446
  requirements: []
447
- rubygems_version: 3.4.1
447
+ rubygems_version: 3.3.25
448
448
  signing_key:
449
449
  specification_version: 4
450
450
  summary: A graph database for Ruby