neo4j 5.0.14 → 5.0.15
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 +4 -4
- data/lib/neo4j/active_node/has_n/association.rb +16 -8
- data/lib/neo4j/active_node/labels.rb +6 -0
- data/lib/neo4j/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 614d5fb5803862fb5eabc3e58e19fa52dfd707eb
|
4
|
+
data.tar.gz: 5c5aab03b675ae7253552b07282132885454eb6d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 357f69c5ae85ea3a29661c03ec8bee6ed04123256f1d147f771da7d36fbc224e82f3e403df76c93d2845f3fa8083d5bf73758d7b5ba573d89e638ec8cc34f09c
|
7
|
+
data.tar.gz: c82b2d8b33fd3ac9a32880dede8fe2d9cf4aaa726b421f6e2452fb06ff5db71479edaa21614f3c6693f3eb9108b52805d9c74c6508d26ca40a0d3e3dd45f92d3
|
@@ -19,6 +19,7 @@ module Neo4j
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def derive_model_class
|
22
|
+
refresh_model_class! if pending_model_refresh?
|
22
23
|
return @model_class unless @model_class.nil?
|
23
24
|
return nil if relationship_class.nil?
|
24
25
|
dir_class = direction == :in ? :from_class : :to_class
|
@@ -26,14 +27,19 @@ module Neo4j
|
|
26
27
|
relationship_class.send(dir_class)
|
27
28
|
end
|
28
29
|
|
30
|
+
def refresh_model_class!
|
31
|
+
@pending_model_refresh = @target_classes_or_nil = nil
|
32
|
+
@model_class = @model_class.name.constantize if @model_class
|
33
|
+
end
|
34
|
+
|
35
|
+
def queue_model_refresh!
|
36
|
+
@pending_model_refresh = true
|
37
|
+
end
|
38
|
+
|
29
39
|
def target_class_option(model_class)
|
30
40
|
case model_class
|
31
41
|
when nil
|
32
|
-
|
33
|
-
"#{association_model_namespace}::#{@target_class_name_from_name}"
|
34
|
-
else
|
35
|
-
@target_class_name_from_name
|
36
|
-
end
|
42
|
+
@target_class_name_from_name ? "#{association_model_namespace}::#{@target_class_name_from_name}" : @target_class_name_from_name
|
37
43
|
when Array
|
38
44
|
model_class.map { |sub_model_class| target_class_option(sub_model_class) }
|
39
45
|
when false
|
@@ -49,6 +55,10 @@ module Neo4j
|
|
49
55
|
direction_cypher(get_relationship_cypher(var, properties, create), create, reverse)
|
50
56
|
end
|
51
57
|
|
58
|
+
def pending_model_refresh?
|
59
|
+
!!@pending_model_refresh
|
60
|
+
end
|
61
|
+
|
52
62
|
def target_class_names
|
53
63
|
option = target_class_option(derive_model_class)
|
54
64
|
|
@@ -209,9 +219,7 @@ module Neo4j
|
|
209
219
|
check_valid_type_and_dir(type, direction)
|
210
220
|
end
|
211
221
|
|
212
|
-
VALID_ASSOCIATION_OPTION_KEYS = [:type, :origin, :model_class,
|
213
|
-
:rel_class, :dependent, :before,
|
214
|
-
:after, :unique]
|
222
|
+
VALID_ASSOCIATION_OPTION_KEYS = [:type, :origin, :model_class, :rel_class, :dependent, :before, :after, :unique]
|
215
223
|
|
216
224
|
def validate_association_options!(_association_name, options)
|
217
225
|
type_keys = (options.keys & [:type, :origin, :rel_class])
|
@@ -80,6 +80,12 @@ module Neo4j
|
|
80
80
|
module ClassMethods
|
81
81
|
include Neo4j::ActiveNode::QueryMethods
|
82
82
|
|
83
|
+
def before_remove_const
|
84
|
+
associations.each_value(&:queue_model_refresh!)
|
85
|
+
MODELS_FOR_LABELS_CACHE.clear
|
86
|
+
WRAPPED_CLASSES.clear
|
87
|
+
end
|
88
|
+
|
83
89
|
# Returns the object with the specified neo4j id.
|
84
90
|
# @param [String,Integer] id of node to find
|
85
91
|
def find(id)
|
data/lib/neo4j/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: neo4j
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.0.
|
4
|
+
version: 5.0.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andreas Ronge, Brian Underwood, Chris Grigg
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-08-
|
11
|
+
date: 2015-08-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: orm_adapter
|