neo4apis 0.0.4 → 0.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.
- checksums.yaml +4 -4
- data/README.md +6 -9
- data/lib/neo4apis/base.rb +14 -2
- data/neo4apis.gemspec +2 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 263a1abd3e312305779129128e2d57f89f40f322
|
4
|
+
data.tar.gz: 581cde3d29596bc38e767cfbc681d5d16a49124c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3a6cea13605e886f0d60ad96ce4d2021823cb0b8c5990032d3a5da33547d96e3c50c46d802edb09a7aa2dd96119314934ef54ed9b40b30eab5acb550e11f06c5
|
7
|
+
data.tar.gz: f7a4e1b8c9fe255acc05d2f86bfe5eeca35235ef376f89154155e4d68d8308d5ca7507d80506d5a034abe946f2031312d99fae94dd34f903601b14bc79afae7f
|
data/README.md
CHANGED
@@ -21,10 +21,11 @@ In the below example we assume that a variable `awesome_client` is passed in whi
|
|
21
21
|
user_node = add_user(widget.owner)
|
22
22
|
|
23
23
|
# add_node comes from From Neo4Apis::Base
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
24
|
+
# Imports the uuid and text values from the widget object to the node
|
25
|
+
node = add_node(:Widget, widget, [:uuid, :text]) do |node|
|
26
|
+
# Imports the double_foo property to the node which isn't a simple copy
|
27
|
+
node.double_foo = widget.foo * 2
|
28
|
+
end
|
28
29
|
|
29
30
|
# add_relationship comes from Neo4Apis::Base
|
30
31
|
add_relationship(:owns, user_node, node)
|
@@ -33,11 +34,7 @@ In the below example we assume that a variable `awesome_client` is passed in whi
|
|
33
34
|
end
|
34
35
|
|
35
36
|
importer :User do |user|
|
36
|
-
add_node :User,
|
37
|
-
id: user.id,
|
38
|
-
username: user.username,
|
39
|
-
name: user.name,
|
40
|
-
}
|
37
|
+
add_node :User, user, [:id, :username, :name]
|
41
38
|
end
|
42
39
|
|
43
40
|
end
|
data/lib/neo4apis/base.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'ostruct'
|
2
|
+
|
1
3
|
module Neo4Apis
|
2
4
|
class Base
|
3
5
|
UUID_FIELDS = {}
|
@@ -16,12 +18,22 @@ module Neo4Apis
|
|
16
18
|
@buffer.flush
|
17
19
|
end
|
18
20
|
|
19
|
-
def add_node(label,
|
21
|
+
def add_node(label, object = nil, columns = [])
|
22
|
+
props = OpenStruct.new
|
23
|
+
|
24
|
+
if object
|
25
|
+
columns.each do |column|
|
26
|
+
props[column] = object.send(column)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
yield props if block_given?
|
31
|
+
|
20
32
|
require_batch
|
21
33
|
|
22
34
|
raise ArgumentError, "No UUID specified for label `#{label}`" if not UUID_FIELDS[label.to_sym]
|
23
35
|
|
24
|
-
self.class.node_proxy(label).new(props).tap do |node_proxy|
|
36
|
+
self.class.node_proxy(label).new(props.to_h).tap do |node_proxy|
|
25
37
|
@buffer << create_node_query(node_proxy)
|
26
38
|
end
|
27
39
|
end
|
data/neo4apis.gemspec
CHANGED
@@ -3,7 +3,7 @@ $:.unshift lib unless $:.include?(lib)
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "neo4apis"
|
6
|
-
s.version = '0.0
|
6
|
+
s.version = '0.1.0'
|
7
7
|
s.required_ruby_version = ">= 1.9.1"
|
8
8
|
|
9
9
|
s.authors = "Brian Underwood"
|
@@ -19,6 +19,6 @@ A core library for importing data from APIs into neo4j. Designed to be used wit
|
|
19
19
|
s.files = Dir.glob("{bin,lib,config}/**/*") + %w(README.md Gemfile neo4apis.gemspec)
|
20
20
|
|
21
21
|
s.add_dependency('faraday', "~> 0.9.0")
|
22
|
-
s.add_dependency("neo4j-core", "~> 3.0.
|
22
|
+
s.add_dependency("neo4j-core", "~> 3.0.4")
|
23
23
|
|
24
24
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: neo4apis
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Underwood
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 3.0.
|
33
|
+
version: 3.0.4
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 3.0.
|
40
|
+
version: 3.0.4
|
41
41
|
description: |
|
42
42
|
A core library for importing data from APIs into neo4j. Designed to be used with an adapter
|
43
43
|
email: public@brian-underwood.codes
|