neography 0.0.15 → 0.0.16
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.
- data/.project +12 -0
- data/CONTRIBUTORS +6 -1
- data/Gemfile.lock +7 -6
- data/README.rdoc +34 -13
- data/Rakefile +4 -1
- data/lib/neography.rb +5 -0
- data/lib/neography/railtie.rb +8 -0
- data/lib/neography/rest.rb +21 -5
- data/lib/neography/tasks.rb +129 -0
- data/lib/neography/version.rb +1 -1
- data/neography.gemspec +2 -1
- data/spec/integration/rest_index_spec.rb +22 -0
- data/spec/integration/rest_plugin_spec.rb +26 -0
- data/spec/spec_helper.rb +1 -12
- metadata +37 -22
- data/spec/support/fake_root_spec.rb +0 -5
data/.project
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<projectDescription>
|
3
|
+
<name>neography</name>
|
4
|
+
<comment></comment>
|
5
|
+
<projects>
|
6
|
+
</projects>
|
7
|
+
<buildSpec>
|
8
|
+
</buildSpec>
|
9
|
+
<natures>
|
10
|
+
<nature>com.aptana.ruby.core.rubynature</nature>
|
11
|
+
</natures>
|
12
|
+
</projectDescription>
|
data/CONTRIBUTORS
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,21 +1,22 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
neography (0.0.
|
4
|
+
neography (0.0.15)
|
5
5
|
httparty (~> 0.7.3)
|
6
6
|
json
|
7
|
+
os
|
8
|
+
rubyzip
|
7
9
|
|
8
10
|
GEM
|
9
11
|
remote: http://rubygems.org/
|
10
12
|
specs:
|
11
13
|
crack (0.1.8)
|
12
14
|
diff-lcs (1.1.2)
|
13
|
-
|
14
|
-
httparty (0.7.4)
|
15
|
+
httparty (0.7.8)
|
15
16
|
crack (= 0.1.8)
|
16
|
-
json (1.
|
17
|
-
json (1.4.6-java)
|
17
|
+
json (1.6.1)
|
18
18
|
net-http-spy (0.2.1)
|
19
|
+
os (0.9.4)
|
19
20
|
rake (0.8.7)
|
20
21
|
rspec (2.0.1)
|
21
22
|
rspec-core (~> 2.0.1)
|
@@ -27,13 +28,13 @@ GEM
|
|
27
28
|
rspec-mocks (2.0.1)
|
28
29
|
rspec-core (~> 2.0.1)
|
29
30
|
rspec-expectations (~> 2.0.1)
|
31
|
+
rubyzip (0.9.4)
|
30
32
|
|
31
33
|
PLATFORMS
|
32
34
|
java
|
33
35
|
ruby
|
34
36
|
|
35
37
|
DEPENDENCIES
|
36
|
-
fakeweb (~> 1.3.0)
|
37
38
|
neography!
|
38
39
|
net-http-spy (= 0.2.1)
|
39
40
|
rake (~> 0.8.7)
|
data/README.rdoc
CHANGED
@@ -4,11 +4,20 @@ Neography is a thin Ruby wrapper to the Neo4j Rest API, for more information:
|
|
4
4
|
* {Getting Started with Neo4j Server}[http://wiki.neo4j.org/content/Getting_Started_with_Neo4j_Server]
|
5
5
|
* {Neo4j Rest API Reference}[http://components.neo4j.org/neo4j-server/milestone/rest.html]
|
6
6
|
|
7
|
-
If you want to the full power of Neo4j, you will want to use JRuby and the excellent Neo4j.rb gem at https://github.com/andreasronge/neo4j
|
7
|
+
If you want to the full power of Neo4j, you will want to use JRuby and the excellent Neo4j.rb gem at https://github.com/andreasronge/neo4j by Andreas Ronge
|
8
|
+
|
9
|
+
A complement to Neography is the Neology Gem at https://github.com/lordkada/neology by Carlo Alberto Degli Atti
|
10
|
+
|
11
|
+
An alternative is the Architect4r Gem at https://github.com/namxam/architect4r by Maximilian Schulz
|
12
|
+
|
8
13
|
|
9
14
|
=== Installation
|
10
15
|
|
11
|
-
gem install 'neography'
|
16
|
+
gem install 'neography', '0.0.14' # for version 1.4 of Neo4j
|
17
|
+
|
18
|
+
or
|
19
|
+
|
20
|
+
gem install 'neography', '0.0.15' # for version 1.5 of Neo4j
|
12
21
|
|
13
22
|
After that, in your ruby script:
|
14
23
|
|
@@ -17,15 +26,6 @@ After that, in your ruby script:
|
|
17
26
|
|
18
27
|
in order to access the functionality.
|
19
28
|
|
20
|
-
=== Try it now!
|
21
|
-
|
22
|
-
I am hosting an instance of Neo4j (1.3M04) at neography.org for you to try out.
|
23
|
-
|
24
|
-
You can see the administration at: {Neo4j Web Admin}[http://neography.org]
|
25
|
-
|
26
|
-
# Add this to your ruby file to use it
|
27
|
-
Neography::Config.server = 'neography.org'
|
28
|
-
|
29
29
|
|
30
30
|
=== Dependencies
|
31
31
|
|
@@ -40,7 +40,25 @@ You can see the administration at: {Neo4j Web Admin}[http://neography.org]
|
|
40
40
|
|
41
41
|
==== Rails
|
42
42
|
|
43
|
-
Just add gem 'neography' to your Gemfile and run bundle install
|
43
|
+
Just add gem 'neography' to your Gemfile and run bundle install.
|
44
|
+
|
45
|
+
The following tasks will be available to you:
|
46
|
+
|
47
|
+
rake neo4j:install # Install Neo4j to the neo4j directory under your project
|
48
|
+
rake neo4j:start # Start Neo4j
|
49
|
+
rake neo4j:stop # Stop Neo4j
|
50
|
+
rake neo4j:restart # Restart Neo4j
|
51
|
+
rake neo4j:reset_yes_i_am_sure # Wipe your Neo4j Database
|
52
|
+
|
53
|
+
Windows users will need to run in a command prompt with Administrative Privileges
|
54
|
+
in order to install Neo4j as a Service.
|
55
|
+
|
56
|
+
If you are not using Rails, then add:
|
57
|
+
|
58
|
+
require 'neography/tasks'
|
59
|
+
|
60
|
+
to your Rakefile to have access to these tasks.
|
61
|
+
|
44
62
|
|
45
63
|
=== Documentation
|
46
64
|
|
@@ -103,6 +121,7 @@ To Use:
|
|
103
121
|
@neo.remove_node_from_index(index, node1) # removes a node from the index
|
104
122
|
@neo.get_node_index(index, key, value) # exact query of the node index with the given key/value pair
|
105
123
|
@neo.find_node_index(index, key, value) # advanced query of the node index with the given key/value pair
|
124
|
+
@neo.find_node_index(index, query ) # advanced query of the node index with the given query
|
106
125
|
@neo.list_relationship_indexes # gives names and query templates for relationship indices
|
107
126
|
@neo.create_relationship_index(name, "fulltext", provider) # creates a relationship index with "fulltext" option
|
108
127
|
@neo.add_relationship_to_index(index, key, value, rel1) # adds a relationship to the index with the given key/value pair
|
@@ -111,7 +130,9 @@ To Use:
|
|
111
130
|
@neo.remove_relationship_from_index(index, rel1) # removes a relationship from the index
|
112
131
|
@neo.get_relationship_index(index, key, value) # exact query of the relationship index with the given key/value pair
|
113
132
|
@neo.find_relationship_index(index, key, value) # advanced query of the relationship index with the given key/value pair
|
114
|
-
|
133
|
+
@neo.find_relationship_index(index, query) # advanced query of the relationship index with the given query
|
134
|
+
@neo.execute_script("g.v(0)") # sends a Groovy script(through the Gremlin plugin)
|
135
|
+
@neo.execute_query("start n=node(0) return n") # sends a Cypher query (through the Cypher plugin)
|
115
136
|
|
116
137
|
@neo.get_path(node1, node2, relationships, depth=4, algorithm="shortestPath") # finds the shortest path between two nodes
|
117
138
|
@neo.get_paths(node1, node2, relationships, depth=3, algorithm="allPaths") # finds all paths between two nodes
|
data/Rakefile
CHANGED
data/lib/neography.rb
CHANGED
@@ -17,10 +17,13 @@ end
|
|
17
17
|
|
18
18
|
DIRECTIONS = ["incoming", "in", "outgoing", "out", "all", "both"]
|
19
19
|
|
20
|
+
require 'cgi'
|
20
21
|
require 'httparty'
|
21
22
|
require 'json'
|
22
23
|
require 'logger'
|
23
24
|
require 'ostruct'
|
25
|
+
require 'os'
|
26
|
+
require 'zip/zipfilesystem'
|
24
27
|
|
25
28
|
require 'neography/config'
|
26
29
|
require 'neography/rest'
|
@@ -39,5 +42,7 @@ require 'neography/index'
|
|
39
42
|
require 'neography/node'
|
40
43
|
require 'neography/relationship'
|
41
44
|
|
45
|
+
require 'neography/railtie' if defined? Rails
|
46
|
+
|
42
47
|
find_and_require_user_defined_code
|
43
48
|
|
data/lib/neography/rest.rb
CHANGED
@@ -263,8 +263,11 @@ module Neography
|
|
263
263
|
index
|
264
264
|
end
|
265
265
|
|
266
|
-
def find_node_index(
|
267
|
-
|
266
|
+
def find_node_index(*args)
|
267
|
+
case args.size
|
268
|
+
when 3 then index = get("/index/node/#{args[0]}/#{args[1]}?query=#{args[2]}") || Array.new
|
269
|
+
when 2 then index = get("/index/node/#{args[0]}?query=#{args[1]}") || Array.new
|
270
|
+
end
|
268
271
|
return nil if index.empty?
|
269
272
|
index
|
270
273
|
end
|
@@ -302,8 +305,11 @@ module Neography
|
|
302
305
|
index
|
303
306
|
end
|
304
307
|
|
305
|
-
def find_relationship_index(
|
306
|
-
|
308
|
+
def find_relationship_index(*args)
|
309
|
+
case args.size
|
310
|
+
when 3 then index = get("/index/relationship/#{args[0]}/#{args[1]}?query=#{args[2]}") || Array.new
|
311
|
+
when 2 then index = get("/index/relationship/#{args[0]}?query=#{args[1]}") || Array.new
|
312
|
+
end
|
307
313
|
return nil if index.empty?
|
308
314
|
index
|
309
315
|
end
|
@@ -328,12 +334,22 @@ module Neography
|
|
328
334
|
paths = post("/node/#{get_id(from)}/paths", options) || Array.new
|
329
335
|
end
|
330
336
|
|
337
|
+
def execute_query(query)
|
338
|
+
options = { :body => {:query => query}.to_json, :headers => {'Content-Type' => 'application/json'} }
|
339
|
+
result = post("/ext/CypherPlugin/graphdb/execute_query", options)
|
340
|
+
end
|
341
|
+
|
342
|
+
def execute_script(script)
|
343
|
+
options = { :body => "script=" + CGI::escape(script), :headers => {'Content-Type' => 'application/x-www-form-urlencoded'} }
|
344
|
+
result = post("/ext/GremlinPlugin/graphdb/execute_script", options)
|
345
|
+
result == "null" ? nil : result
|
346
|
+
end
|
347
|
+
|
331
348
|
private
|
332
349
|
|
333
350
|
def evaluate_response(response)
|
334
351
|
code = response.code
|
335
352
|
body = response.body
|
336
|
-
|
337
353
|
case code
|
338
354
|
when 200
|
339
355
|
@logger.debug "OK" if @log_enabled
|
@@ -0,0 +1,129 @@
|
|
1
|
+
# borrowed from architect4r
|
2
|
+
|
3
|
+
namespace :neo4j do
|
4
|
+
desc "Install Neo4j"
|
5
|
+
task :install do
|
6
|
+
puts 'Installing Neo4j...'
|
7
|
+
|
8
|
+
if OS::Underlying.windows?
|
9
|
+
# Download Neo4j
|
10
|
+
unless File.exist?('neo4j.zip')
|
11
|
+
df = File.open('neo4j.zip', 'wb')
|
12
|
+
begin
|
13
|
+
df << HTTParty.get("http://dist.neo4j.org/neo4j-community-1.5.M02-windows.zip")
|
14
|
+
ensure
|
15
|
+
df.close()
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
# Extract and move to neo4j directory
|
20
|
+
unless File.exist?('neo4j')
|
21
|
+
Zip::ZipFile.open('neo4j.zip') do |zip_file|
|
22
|
+
zip_file.each do |f|
|
23
|
+
f_path=File.join(".", f.name)
|
24
|
+
FileUtils.mkdir_p(File.dirname(f_path))
|
25
|
+
begin
|
26
|
+
zip_file.extract(f, f_path) unless File.exist?(f_path)
|
27
|
+
rescue
|
28
|
+
puts f.name + " failed to extract."
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
FileUtils.mv "neo4j-community-1.5.M02", "neo4j"
|
33
|
+
end
|
34
|
+
|
35
|
+
# Install if running with Admin Privileges
|
36
|
+
if %x[reg query "HKU\\S-1-5-19"].size > 0
|
37
|
+
%x[neo4j/bin/neo4j install]
|
38
|
+
puts "Neo4j Installed as a service."
|
39
|
+
end
|
40
|
+
|
41
|
+
else
|
42
|
+
%x[wget http://dist.neo4j.org/neo4j-community-1.5.M02-unix.tar.gz]
|
43
|
+
%x[tar -xvzf neo4j-community-1.5.M02-unix.tar.gz]
|
44
|
+
%x[mv neo4j-community-1.5.M02 neo4j]
|
45
|
+
%x[rm neo4j-community-1.5.M02-unix.tar.gz]
|
46
|
+
puts "Neo4j Installed in to neo4j directory."
|
47
|
+
end
|
48
|
+
puts "Type 'rake neo4j:start' to start it"
|
49
|
+
end
|
50
|
+
|
51
|
+
desc "Start the Neo4j Server"
|
52
|
+
task :start do
|
53
|
+
puts "Starting Neo4j..."
|
54
|
+
if OS::Underlying.windows?
|
55
|
+
if %x[reg query "HKU\\S-1-5-19"].size > 0
|
56
|
+
%x[neo4j/bin/Neo4j.bat start] #start service
|
57
|
+
else
|
58
|
+
puts "Starting Neo4j directly, not as a service."
|
59
|
+
%x[neo4j/bin/Neo4j.bat]
|
60
|
+
end
|
61
|
+
else
|
62
|
+
%x[neo4j/bin/neo4j start]
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
desc "Stop the Neo4j Server"
|
67
|
+
task :stop do
|
68
|
+
puts "Stopping Neo4j..."
|
69
|
+
if OS::Underlying.windows?
|
70
|
+
if %x[reg query "HKU\\S-1-5-19"].size > 0
|
71
|
+
%x[neo4j/bin/Neo4j.bat stop] #stop service
|
72
|
+
else
|
73
|
+
puts "You do not have administrative rights to stop the Neo4j Service"
|
74
|
+
end
|
75
|
+
else
|
76
|
+
%x[neo4j/bin/neo4j stop]
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
desc "Restart the Neo4j Server"
|
81
|
+
task :restart do
|
82
|
+
puts "Restarting Neo4j..."
|
83
|
+
if OS::Underlying.windows?
|
84
|
+
if %x[reg query "HKU\\S-1-5-19"].size > 0
|
85
|
+
%x[neo4j/bin/Neo4j.bat restart]
|
86
|
+
else
|
87
|
+
puts "You do not have administrative rights to restart the Neo4j Service"
|
88
|
+
end
|
89
|
+
else
|
90
|
+
%x[neo4j/bin/neo4j restart]
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
desc "Reset the Neo4j Server"
|
95
|
+
task :reset_yes_i_am_sure do
|
96
|
+
# Stop the server
|
97
|
+
if OS::Underlying.windows?
|
98
|
+
if %x[reg query "HKU\\S-1-5-19"].size > 0
|
99
|
+
%x[neo4j/bin/Neo4j.bat stop]
|
100
|
+
|
101
|
+
# Reset the database
|
102
|
+
FileUtils.rm_rf("neo4j/data/graph.db")
|
103
|
+
FileUtils.mkdir("neo4j/data/graph.db")
|
104
|
+
|
105
|
+
# Remove log files
|
106
|
+
FileUtils.rm_rf("neo4j/data/log")
|
107
|
+
FileUtils.mkdir("neo4j/data/log")
|
108
|
+
|
109
|
+
%x[neo4j/bin/Neo4j.bat start]
|
110
|
+
else
|
111
|
+
puts "You do not have administrative rights to reset the Neo4j Service"
|
112
|
+
end
|
113
|
+
else
|
114
|
+
%x[neo4j/bin/neo4j stop]
|
115
|
+
|
116
|
+
# Reset the database
|
117
|
+
FileUtils.rm_rf("neo4j/data/graph.db")
|
118
|
+
FileUtils.mkdir("neo4j/data/graph.db")
|
119
|
+
|
120
|
+
# Remove log files
|
121
|
+
FileUtils.rm_rf("neo4j/data/log")
|
122
|
+
FileUtils.mkdir("neo4j/data/log")
|
123
|
+
|
124
|
+
# Start the server
|
125
|
+
%x[neo4j/bin/neo4j start]
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
end
|
data/lib/neography/version.rb
CHANGED
data/neography.gemspec
CHANGED
@@ -21,8 +21,9 @@ Gem::Specification.new do |s|
|
|
21
21
|
|
22
22
|
s.add_development_dependency "rspec", "~> 2.0.0.beta.22"
|
23
23
|
s.add_development_dependency "net-http-spy", "0.2.1"
|
24
|
-
s.add_development_dependency "fakeweb", "~> 1.3.0"
|
25
24
|
s.add_development_dependency "rake", "~> 0.8.7"
|
26
25
|
s.add_dependency "httparty", "~> 0.7.3"
|
27
26
|
s.add_dependency "json"
|
27
|
+
s.add_dependency "os"
|
28
|
+
s.add_dependency "rubyzip"
|
28
29
|
end
|
@@ -214,6 +214,16 @@ describe Neography::Rest do
|
|
214
214
|
@neo.remove_node_from_index("test_index", key, value, new_node)
|
215
215
|
end
|
216
216
|
|
217
|
+
it "can find a node index using generic query" do
|
218
|
+
new_node = @neo.create_node
|
219
|
+
key = generate_text(6)
|
220
|
+
value = generate_text
|
221
|
+
@neo.add_node_to_index("test_index", key, value, new_node)
|
222
|
+
new_index = @neo.find_node_index("test_index", "#{key}: #{value}")
|
223
|
+
new_index.first["self"].should == new_node["self"]
|
224
|
+
@neo.remove_node_from_index("test_index", key, value, new_node)
|
225
|
+
end
|
226
|
+
|
217
227
|
it "can get a relationship index" do
|
218
228
|
new_node1 = @neo.create_node
|
219
229
|
new_node2 = @neo.create_node
|
@@ -250,6 +260,18 @@ describe Neography::Rest do
|
|
250
260
|
@neo.remove_relationship_from_index("test_index", key, value, new_relationship)
|
251
261
|
end
|
252
262
|
|
263
|
+
it "can find a relationship index using generic query" do
|
264
|
+
new_node1 = @neo.create_node
|
265
|
+
new_node2 = @neo.create_node
|
266
|
+
new_relationship = @neo.create_relationship("friends", new_node1, new_node2)
|
267
|
+
key = generate_text(6)
|
268
|
+
value = generate_text
|
269
|
+
@neo.add_relationship_to_index("test_index", key, value, new_relationship)
|
270
|
+
new_index = @neo.find_relationship_index("test_index", "#{key}: #{value}")
|
271
|
+
new_index.first["self"].should == new_relationship["self"]
|
272
|
+
@neo.remove_relationship_from_index("test_index", key, value, new_relationship)
|
273
|
+
end
|
274
|
+
|
253
275
|
it "can find use the results of a node index" do
|
254
276
|
new_node1 = @neo.create_node
|
255
277
|
new_node2 = @neo.create_node
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), '..', 'spec_helper')
|
2
|
+
|
3
|
+
describe Neography::Rest do
|
4
|
+
before(:each) do
|
5
|
+
@neo = Neography::Rest.new
|
6
|
+
end
|
7
|
+
|
8
|
+
describe "execute gremlin script" do
|
9
|
+
it "can get the root node id" do
|
10
|
+
root_node = @neo.execute_script("g.v(0)")
|
11
|
+
root_node.should have_key("self")
|
12
|
+
root_node["self"].split('/').last.should == "0"
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe "execute cypher query" do
|
17
|
+
it "can get the root node id" do
|
18
|
+
root_node = @neo.execute_query("start n=node(0) return n")
|
19
|
+
root_node.should have_key("data")
|
20
|
+
root_node.should have_key("columns")
|
21
|
+
root_node["data"][0][0].should have_key("self")
|
22
|
+
root_node["data"][0][0]["self"].split('/').last.should == "0"
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,18 +1,7 @@
|
|
1
1
|
require 'neography'
|
2
|
-
require 'fake_web'
|
3
2
|
require 'benchmark'
|
4
3
|
|
5
|
-
|
6
|
-
|
7
|
-
FakeWeb.allow_net_connect = false
|
8
|
-
|
9
|
-
# To test against a real database:
|
10
|
-
# 1. Make sure empty database is running on your test neo4j server (bin/neo4j start)
|
11
|
-
# 2. Uncomment the next two lines
|
12
|
-
FakeWeb.clean_registry
|
13
|
-
FakeWeb.allow_net_connect = true
|
14
|
-
|
15
|
-
# 3. If you want to see more, uncomment the next few lines
|
4
|
+
# If you want to see more, uncomment the next few lines
|
16
5
|
# require 'net-http-spy'
|
17
6
|
# Net::HTTP.http_logger_options = {:body => true} # just the body
|
18
7
|
# Net::HTTP.http_logger_options = {:verbose => true} # see everything
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: neography
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 63
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 16
|
10
|
+
version: 0.0.16
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Max De Marzi
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-11-09 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: rspec
|
@@ -52,55 +52,53 @@ dependencies:
|
|
52
52
|
type: :development
|
53
53
|
version_requirements: *id002
|
54
54
|
- !ruby/object:Gem::Dependency
|
55
|
-
name:
|
55
|
+
name: rake
|
56
56
|
prerelease: false
|
57
57
|
requirement: &id003 !ruby/object:Gem::Requirement
|
58
58
|
none: false
|
59
59
|
requirements:
|
60
60
|
- - ~>
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
hash:
|
62
|
+
hash: 49
|
63
63
|
segments:
|
64
|
-
- 1
|
65
|
-
- 3
|
66
64
|
- 0
|
67
|
-
|
65
|
+
- 8
|
66
|
+
- 7
|
67
|
+
version: 0.8.7
|
68
68
|
type: :development
|
69
69
|
version_requirements: *id003
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
|
-
name:
|
71
|
+
name: httparty
|
72
72
|
prerelease: false
|
73
73
|
requirement: &id004 !ruby/object:Gem::Requirement
|
74
74
|
none: false
|
75
75
|
requirements:
|
76
76
|
- - ~>
|
77
77
|
- !ruby/object:Gem::Version
|
78
|
-
hash:
|
78
|
+
hash: 5
|
79
79
|
segments:
|
80
80
|
- 0
|
81
|
-
- 8
|
82
81
|
- 7
|
83
|
-
|
84
|
-
|
82
|
+
- 3
|
83
|
+
version: 0.7.3
|
84
|
+
type: :runtime
|
85
85
|
version_requirements: *id004
|
86
86
|
- !ruby/object:Gem::Dependency
|
87
|
-
name:
|
87
|
+
name: json
|
88
88
|
prerelease: false
|
89
89
|
requirement: &id005 !ruby/object:Gem::Requirement
|
90
90
|
none: false
|
91
91
|
requirements:
|
92
|
-
- -
|
92
|
+
- - ">="
|
93
93
|
- !ruby/object:Gem::Version
|
94
|
-
hash:
|
94
|
+
hash: 3
|
95
95
|
segments:
|
96
96
|
- 0
|
97
|
-
|
98
|
-
- 3
|
99
|
-
version: 0.7.3
|
97
|
+
version: "0"
|
100
98
|
type: :runtime
|
101
99
|
version_requirements: *id005
|
102
100
|
- !ruby/object:Gem::Dependency
|
103
|
-
name:
|
101
|
+
name: os
|
104
102
|
prerelease: false
|
105
103
|
requirement: &id006 !ruby/object:Gem::Requirement
|
106
104
|
none: false
|
@@ -113,6 +111,20 @@ dependencies:
|
|
113
111
|
version: "0"
|
114
112
|
type: :runtime
|
115
113
|
version_requirements: *id006
|
114
|
+
- !ruby/object:Gem::Dependency
|
115
|
+
name: rubyzip
|
116
|
+
prerelease: false
|
117
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
118
|
+
none: false
|
119
|
+
requirements:
|
120
|
+
- - ">="
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
hash: 3
|
123
|
+
segments:
|
124
|
+
- 0
|
125
|
+
version: "0"
|
126
|
+
type: :runtime
|
127
|
+
version_requirements: *id007
|
116
128
|
description: A Ruby wrapper to the Neo4j Rest API see http://components.neo4j.org/neo4j-rest/ for more details.
|
117
129
|
email: maxdemarzi@gmail.com
|
118
130
|
executables: []
|
@@ -123,6 +135,7 @@ extra_rdoc_files: []
|
|
123
135
|
|
124
136
|
files:
|
125
137
|
- .gitignore
|
138
|
+
- .project
|
126
139
|
- CONTRIBUTORS
|
127
140
|
- Gemfile
|
128
141
|
- Gemfile.lock
|
@@ -147,9 +160,11 @@ files:
|
|
147
160
|
- lib/neography/path_traverser.rb
|
148
161
|
- lib/neography/property.rb
|
149
162
|
- lib/neography/property_container.rb
|
163
|
+
- lib/neography/railtie.rb
|
150
164
|
- lib/neography/relationship.rb
|
151
165
|
- lib/neography/relationship_traverser.rb
|
152
166
|
- lib/neography/rest.rb
|
167
|
+
- lib/neography/tasks.rb
|
153
168
|
- lib/neography/version.rb
|
154
169
|
- neography.gemspec
|
155
170
|
- spec/integration/authorization_spec.rb
|
@@ -164,10 +179,10 @@ files:
|
|
164
179
|
- spec/integration/rest_index_spec.rb
|
165
180
|
- spec/integration/rest_node_spec.rb
|
166
181
|
- spec/integration/rest_path_spec.rb
|
182
|
+
- spec/integration/rest_plugin_spec.rb
|
167
183
|
- spec/integration/rest_relationship_spec.rb
|
168
184
|
- spec/integration/rest_traverse_spec.rb
|
169
185
|
- spec/spec_helper.rb
|
170
|
-
- spec/support/fake_root_spec.rb
|
171
186
|
homepage: http://rubygems.org/gems/neography
|
172
187
|
licenses: []
|
173
188
|
|