neo4jr-simple 0.1.8 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.8
1
+ 0.2.0
@@ -16,5 +16,12 @@ org.neo4j.kernel.EmbeddedGraphDatabase.java_class.ruby_class.class_eval do
16
16
  def find_node_by_identifier(identifier_value)
17
17
  Neo4jr::Indexer.find_node_by_identifier(identifier_value)
18
18
  end
19
-
19
+
20
+ def find_node(value)
21
+ find_node_by_identifier(value) || begin
22
+ node_id = value.to_f
23
+ getNodeById(node_id) if node_id > 0
24
+ end
25
+ end
26
+
20
27
  end
@@ -1,8 +1,7 @@
1
- # org.neo4j.impl.core.IntArrayIterator.java_class.ruby_class.class_eval do
2
- # org.neo4j.graphdb.IntArrayIterator.java_class.ruby_class.class_eval do
3
- #
4
- # def hashify_objects
5
- # map{|object| object.to_hash }
6
- # end
7
- #
8
- # end
1
+ org.neo4j.kernel.impl.core.IntArrayIterator.java_class.ruby_class.class_eval do
2
+
3
+ def hashify_objects
4
+ map{|object| object.to_hash }
5
+ end
6
+
7
+ end
@@ -0,0 +1,38 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe org.neo4j.kernel.EmbeddedGraphDatabase do
4
+
5
+ it 'first finds nodes by the value if it has been indexed' do
6
+ node_expected = nil
7
+ identifier = Neo4jr::DB.execute do |neo|
8
+ node_1 = neo.create_node()
9
+ node_expected = neo.create_node('identifier' => node_1.getId)
10
+ node_1.getId
11
+ end
12
+
13
+ Neo4jr::DB.execute do |neo|
14
+ found_node = neo.find_node(identifier)
15
+ node_expected.getId.should == found_node.getId
16
+ end
17
+ end
18
+
19
+ it 'finds nodes by node id when nothing with the identifier' do
20
+ node_expected = nil
21
+ identifier = Neo4jr::DB.execute do |neo|
22
+ node_expected = neo.create_node()
23
+ node_expected.getId
24
+ end
25
+
26
+ Neo4jr::DB.execute do |neo|
27
+ found_node = neo.find_node(identifier)
28
+ node_expected.getId.should == found_node.getId
29
+ end
30
+ end
31
+
32
+ it 'should not attempt to getnodes by id if identifier is not a number' do
33
+ Neo4jr::DB.execute do |neo|
34
+ neo.find_node('some_string').should be_nil
35
+ end
36
+ end
37
+
38
+ end
@@ -1,5 +1,13 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
2
 
3
3
  describe 'IntArrayIterartor' do
4
+
5
+ it 'can convert relationships into a hash' do
6
+ Neo4jr::DB.execute do |neo|
7
+ philip_seymour_hoffman = neo.getNodeById(1102)
8
+ relationships = philip_seymour_hoffman.getRelationships
9
+ lambda{relationships.hashify_objects}.should_not raise_error
10
+ end
11
+ end
4
12
 
5
13
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: neo4jr-simple
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Deiters
@@ -105,6 +105,7 @@ test_files:
105
105
  - VERSION
106
106
  - spec/db_spec.rb
107
107
  - spec/direction_spec.rb
108
+ - spec/embedded_graph_database_spec.rb
108
109
  - spec/functional_example_spec.rb
109
110
  - spec/indexer_spec.rb
110
111
  - spec/int_array_iterator_extension_spec.rb