rom-neo4j 0.0.2 → 0.1.1
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/.travis.yml +36 -0
- data/CHANGELOG.md +13 -0
- data/Gemfile +2 -0
- data/README.md +19 -9
- data/Rakefile +7 -0
- data/TODO.md +10 -2
- data/bin/disable_auth +22 -0
- data/lib/rom/neo4j.rb +2 -1
- data/lib/rom/neo4j/commands.rb +45 -0
- data/lib/rom/neo4j/dataset.rb +5 -0
- data/lib/rom/neo4j/{repository.rb → gateway.rb} +3 -1
- data/lib/rom/neo4j/support/core_ext.rb +4 -0
- data/lib/rom/neo4j/version.rb +1 -1
- data/rom-neo4j.gemspec +1 -1
- data/spec/fixtures/movies.cypher +508 -0
- data/spec/fixtures/neo4j_server/creates_a_single_node.yml +44 -0
- data/spec/fixtures/neo4j_server/maps_directors_by_movie_title.yml +178 -0
- data/spec/fixtures/neo4j_server/maps_movies_by_title.yml +179 -0
- data/spec/fixtures/neo4j_server/maps_movies_by_year.yml +178 -0
- data/spec/integration/adapter_spec.rb +5 -6
- data/spec/integration/transaction_spec.rb +26 -0
- data/spec/spec_helper.rb +16 -0
- metadata +30 -6
@@ -2,8 +2,7 @@ require 'spec_helper'
|
|
2
2
|
require 'rom/lint/spec'
|
3
3
|
|
4
4
|
describe 'Neo4j adapter' do
|
5
|
-
let(:
|
6
|
-
let(:setup) { ROM.setup(:neo4j, dsn) }
|
5
|
+
let(:setup) { rom_neo4j_setup }
|
7
6
|
|
8
7
|
context 'with movies relation and mapper' do
|
9
8
|
let(:rom) do
|
@@ -40,7 +39,7 @@ describe 'Neo4j adapter' do
|
|
40
39
|
rom.relation(:movies)
|
41
40
|
end
|
42
41
|
|
43
|
-
it 'maps movies #by_title' do
|
42
|
+
it 'maps movies #by_title' do |example|
|
44
43
|
movies.by_title('The Matrix').as(:movies).first.tap do |movie|
|
45
44
|
expect(movie).to be_a(Movie)
|
46
45
|
expect(movie.title).to eql('The Matrix')
|
@@ -49,7 +48,7 @@ describe 'Neo4j adapter' do
|
|
49
48
|
end
|
50
49
|
end
|
51
50
|
|
52
|
-
it 'maps movies #by_year' do
|
51
|
+
it 'maps movies #by_year' do |example|
|
53
52
|
expect(movies.by_year(1999).to_a.count).to eq(4)
|
54
53
|
end
|
55
54
|
end
|
@@ -80,11 +79,11 @@ describe 'Neo4j adapter' do
|
|
80
79
|
rom.relation(:directors)
|
81
80
|
end
|
82
81
|
|
83
|
-
it 'maps directors #by_movie_title' do
|
82
|
+
it 'maps directors #by_movie_title' do |example|
|
84
83
|
directors.by_movie('RescueDawn').as(:directors).first.tap do |director|
|
85
84
|
expect(director).to be_a(Director)
|
86
85
|
expect(director.name).to eql('Werner Herzog')
|
87
86
|
end
|
88
87
|
end
|
89
88
|
end
|
90
|
-
end
|
89
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'Neo4j commands' do
|
4
|
+
let(:setup) { rom_neo4j_setup }
|
5
|
+
subject(:rom) { setup.finalize }
|
6
|
+
subject(:cities) { rom.commands.cities }
|
7
|
+
|
8
|
+
before do
|
9
|
+
setup.commands(:cities) do
|
10
|
+
define(:create_node) do
|
11
|
+
input Hash
|
12
|
+
labels :city
|
13
|
+
result :one
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
setup.relation(:cities)
|
18
|
+
end
|
19
|
+
|
20
|
+
context '#execute' do
|
21
|
+
it 'creates a single node' do |example|
|
22
|
+
result = cities.create_node.execute(name: 'Sydney')
|
23
|
+
expect(result).to eq(name: 'Sydney')
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1 +1,17 @@
|
|
1
1
|
require 'rom-neo4j'
|
2
|
+
|
3
|
+
def server_url_config
|
4
|
+
ENV['NEO4J_URL'] || 'http://localhost:7474'
|
5
|
+
end
|
6
|
+
|
7
|
+
def basic_auth_config
|
8
|
+
{ basic_auth: { username: 'neo4j', password: 'neo4j' } }
|
9
|
+
end
|
10
|
+
|
11
|
+
def rom_neo4j_setup
|
12
|
+
if ENV['NEO4J_VERSION'] == '2.2.0'
|
13
|
+
ROM.setup(:neo4j, server_url_config, basic_auth_config)
|
14
|
+
else
|
15
|
+
ROM.setup(:neo4j, server_url_config)
|
16
|
+
end
|
17
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rom-neo4j
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mark Rickerby
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-07-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rom
|
@@ -16,14 +16,20 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
19
|
+
version: '0.8'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 0.8.0
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
27
|
- - "~>"
|
25
28
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0.
|
29
|
+
version: '0.8'
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 0.8.0
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: neo4j-core
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -97,23 +103,35 @@ dependencies:
|
|
97
103
|
description: Neo4j graph relations for Ruby Object Mapper
|
98
104
|
email:
|
99
105
|
- me@maetl.net
|
100
|
-
executables:
|
106
|
+
executables:
|
107
|
+
- disable_auth
|
101
108
|
extensions: []
|
102
109
|
extra_rdoc_files: []
|
103
110
|
files:
|
104
111
|
- ".gitignore"
|
112
|
+
- ".travis.yml"
|
113
|
+
- CHANGELOG.md
|
105
114
|
- Gemfile
|
106
115
|
- README.md
|
116
|
+
- Rakefile
|
107
117
|
- TODO.md
|
118
|
+
- bin/disable_auth
|
108
119
|
- lib/rom-neo4j.rb
|
109
120
|
- lib/rom/neo4j.rb
|
121
|
+
- lib/rom/neo4j/commands.rb
|
110
122
|
- lib/rom/neo4j/dataset.rb
|
123
|
+
- lib/rom/neo4j/gateway.rb
|
111
124
|
- lib/rom/neo4j/relation.rb
|
112
|
-
- lib/rom/neo4j/repository.rb
|
113
125
|
- lib/rom/neo4j/support/core_ext.rb
|
114
126
|
- lib/rom/neo4j/version.rb
|
115
127
|
- rom-neo4j.gemspec
|
128
|
+
- spec/fixtures/movies.cypher
|
129
|
+
- spec/fixtures/neo4j_server/creates_a_single_node.yml
|
130
|
+
- spec/fixtures/neo4j_server/maps_directors_by_movie_title.yml
|
131
|
+
- spec/fixtures/neo4j_server/maps_movies_by_title.yml
|
132
|
+
- spec/fixtures/neo4j_server/maps_movies_by_year.yml
|
116
133
|
- spec/integration/adapter_spec.rb
|
134
|
+
- spec/integration/transaction_spec.rb
|
117
135
|
- spec/spec_helper.rb
|
118
136
|
- spec/unit/query_spec.rb
|
119
137
|
- spec/unit/relation_spec.rb
|
@@ -142,7 +160,13 @@ signing_key:
|
|
142
160
|
specification_version: 4
|
143
161
|
summary: Neo4j graph relations for Ruby Object Mapper
|
144
162
|
test_files:
|
163
|
+
- spec/fixtures/movies.cypher
|
164
|
+
- spec/fixtures/neo4j_server/creates_a_single_node.yml
|
165
|
+
- spec/fixtures/neo4j_server/maps_directors_by_movie_title.yml
|
166
|
+
- spec/fixtures/neo4j_server/maps_movies_by_title.yml
|
167
|
+
- spec/fixtures/neo4j_server/maps_movies_by_year.yml
|
145
168
|
- spec/integration/adapter_spec.rb
|
169
|
+
- spec/integration/transaction_spec.rb
|
146
170
|
- spec/spec_helper.rb
|
147
171
|
- spec/unit/query_spec.rb
|
148
172
|
- spec/unit/relation_spec.rb
|