neo4j 1.1.0-java → 1.1.1-java
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +6 -1
- data/README.rdoc +2 -1
- data/lib/neo4j.rb +7 -0
- data/lib/neo4j/algo/algo.rb +2 -1
- data/lib/neo4j/config.rb +1 -1
- data/lib/neo4j/core_ext/class/inheritable_attributes.rb +37 -0
- data/lib/neo4j/node_mixin/node_mixin.rb +2 -2
- data/lib/neo4j/rails/attributes.rb +2 -2
- data/lib/neo4j/rails/callbacks.rb +6 -2
- data/lib/neo4j/relationship_mixin/relationship_mixin.rb +1 -1
- data/lib/neo4j/type_converters/type_converters.rb +10 -2
- data/lib/neo4j/version.rb +1 -1
- metadata +3 -2
data/CHANGELOG
CHANGED
@@ -1,4 +1,9 @@
|
|
1
|
-
== 1.1.
|
1
|
+
== 1.1.1 / 2011-06-26
|
2
|
+
* Made neo4j compatible with rails 3.1.0.rc1 [#170]
|
3
|
+
* Fix for neo4j-devise [#171]
|
4
|
+
* BUG: Neo4j::GraphAlgo shortest path does raise exception if two nodes are not connected [#172]
|
5
|
+
|
6
|
+
== 1.1.0 / 2011-05-13
|
2
7
|
* Support for embedding neo4j.rb by providing an already running db instance (#168)
|
3
8
|
* Neo4j::Rails::Relationships should be ActiveModel compliant (#156)
|
4
9
|
* Support for incoming relationships in Neo4j::Rails::Model (#157)
|
data/README.rdoc
CHANGED
@@ -92,6 +92,7 @@ Example of using Neo4j with Rails 3 (ActiveModel)
|
|
92
92
|
==== Generate a Rails Application
|
93
93
|
|
94
94
|
Example of creating an Neo4j Application from scratch:
|
95
|
+
(make sure you have installed JRuby version >= 1.6.2)
|
95
96
|
|
96
97
|
gem install rails
|
97
98
|
rails new myapp -m http://andreasronge.github.com/rails3.rb
|
@@ -108,7 +109,7 @@ To run it with Tomcat instead of WEBrick
|
|
108
109
|
|
109
110
|
|
110
111
|
=== Presentation Materials and other URLs
|
111
|
-
* {
|
112
|
+
* {Presentation: RailsConf 2011}[http://andreasronge.github.com/neo4j-railsconf.pdf]
|
112
113
|
* {Nordic Ruby 2010 May 21-23}[http://nordicruby.org/speakers#user_29]
|
113
114
|
* {Neo4j wiki, check the guidelines and domain modeling gallery pages}[http://wiki.neo4j.org/content/Main_Page]
|
114
115
|
|
data/lib/neo4j.rb
CHANGED
@@ -6,11 +6,18 @@ require 'tmpdir'
|
|
6
6
|
|
7
7
|
# Rails
|
8
8
|
require 'rails/railtie'
|
9
|
+
require 'active_support/core_ext/class/inheritable_attributes'
|
10
|
+
require 'active_support/core_ext/hash/indifferent_access'
|
9
11
|
require 'active_model'
|
10
12
|
|
11
13
|
require 'will_paginate/collection'
|
12
14
|
require 'will_paginate/finders/base'
|
13
15
|
|
16
|
+
# core extensions
|
17
|
+
require 'neo4j/core_ext/class/inheritable_attributes'
|
18
|
+
|
19
|
+
# Jars
|
20
|
+
|
14
21
|
require 'neo4j/jars/core/geronimo-jta_1.1_spec-1.1.1.jar'
|
15
22
|
require 'neo4j/jars/core/lucene-core-3.0.3.jar'
|
16
23
|
require 'neo4j/jars/core/neo4j-lucene-index-1.3.jar'
|
data/lib/neo4j/algo/algo.rb
CHANGED
data/lib/neo4j/config.rb
CHANGED
@@ -145,7 +145,7 @@ module Neo4j
|
|
145
145
|
# The a new configuration using default values as a hash.
|
146
146
|
#
|
147
147
|
def setup()
|
148
|
-
@configuration =
|
148
|
+
@configuration = defaults.with_indifferent_access #nested_under_indifferent_access
|
149
149
|
@configuration.merge!(defaults)
|
150
150
|
@configuration
|
151
151
|
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# This is copied from Rails Active Support since it has been depricated and I still need it
|
2
|
+
class Class # :nodoc:
|
3
|
+
def class_inheritable_reader(*syms)
|
4
|
+
options = syms.extract_options!
|
5
|
+
syms.each do |sym|
|
6
|
+
next if sym.is_a?(Hash)
|
7
|
+
class_eval(<<-EOS, __FILE__, __LINE__ + 1)
|
8
|
+
def self.#{sym} # def self.after_add
|
9
|
+
read_inheritable_attribute(:#{sym}) # read_inheritable_attribute(:after_add)
|
10
|
+
end # end
|
11
|
+
#
|
12
|
+
#{" #
|
13
|
+
def #{sym} # def after_add
|
14
|
+
self.class.#{sym} # self.class.after_add
|
15
|
+
end # end
|
16
|
+
" unless options[:instance_reader] == false } # # the reader above is generated unless options[:instance_reader] == false
|
17
|
+
EOS
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def class_inheritable_writer(*syms)
|
22
|
+
options = syms.extract_options!
|
23
|
+
syms.each do |sym|
|
24
|
+
class_eval(<<-EOS, __FILE__, __LINE__ + 1)
|
25
|
+
def self.#{sym}=(obj) # def self.color=(obj)
|
26
|
+
write_inheritable_attribute(:#{sym}, obj) # write_inheritable_attribute(:color, obj)
|
27
|
+
end # end
|
28
|
+
#
|
29
|
+
#{" #
|
30
|
+
def #{sym}=(obj) # def color=(obj)
|
31
|
+
self.class.#{sym} = obj # self.class.color = obj
|
32
|
+
end # end
|
33
|
+
" unless options[:instance_writer] == false } # # the writer above is generated unless options[:instance_writer] == false
|
34
|
+
EOS
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -107,10 +107,10 @@ module Neo4j
|
|
107
107
|
end
|
108
108
|
end unless c.respond_to?(:orig_new)
|
109
109
|
|
110
|
-
c.
|
110
|
+
c.class_inheritable_accessor :_decl_props
|
111
111
|
c._decl_props ||= {}
|
112
112
|
|
113
|
-
c.
|
113
|
+
c.class_inheritable_accessor :_decl_rels
|
114
114
|
c._decl_rels ||= {}
|
115
115
|
|
116
116
|
c.extend ClassMethods
|
@@ -15,7 +15,7 @@ module Neo4j
|
|
15
15
|
include ActiveModel::Dirty # track changes to attributes
|
16
16
|
include ActiveModel::MassAssignmentSecurity # handle attribute hash assignment
|
17
17
|
|
18
|
-
|
18
|
+
class_inheritable_accessor :attribute_defaults
|
19
19
|
self.attribute_defaults ||= {}
|
20
20
|
|
21
21
|
# save the original [] and []= to use as read/write to Neo4j
|
@@ -36,7 +36,7 @@ module Neo4j
|
|
36
36
|
# and callbacks are run to ensure correctness
|
37
37
|
def write_local_property(key, value)
|
38
38
|
key_s = key.to_s
|
39
|
-
if @properties[key_s] != value
|
39
|
+
if !@properties.has_key?(key_s) || @properties[key_s] != value
|
40
40
|
attribute_will_change!(key_s)
|
41
41
|
@properties[key_s] = value
|
42
42
|
end
|
@@ -4,13 +4,17 @@ module Neo4j
|
|
4
4
|
extend ActiveSupport::Concern
|
5
5
|
|
6
6
|
included do
|
7
|
-
[:create_or_update, :create, :update, :destroy].each do |method|
|
7
|
+
[:valid?, :create_or_update, :create, :update, :destroy].each do |method|
|
8
8
|
alias_method_chain method, :callbacks
|
9
9
|
end
|
10
10
|
|
11
11
|
extend ActiveModel::Callbacks
|
12
12
|
|
13
|
-
define_model_callbacks :create, :save, :update, :destroy
|
13
|
+
define_model_callbacks :validation, :create, :save, :update, :destroy
|
14
|
+
end
|
15
|
+
|
16
|
+
def valid_with_callbacks?(*) #:nodoc:
|
17
|
+
_run_validation_callbacks { valid_without_callbacks? }
|
14
18
|
end
|
15
19
|
|
16
20
|
def destroy_with_callbacks #:nodoc:
|
@@ -135,7 +135,11 @@ module Neo4j
|
|
135
135
|
# Only utc times are supported !
|
136
136
|
def to_java(value)
|
137
137
|
return nil if value.nil?
|
138
|
-
|
138
|
+
if value.class == Date
|
139
|
+
Time.utc(value.year, value.month, value.day, 0, 0, 0).to_i
|
140
|
+
else
|
141
|
+
Time.utc(value.year, value.month, value.day, value.hour, value.min, value.sec).to_i
|
142
|
+
end
|
139
143
|
end
|
140
144
|
|
141
145
|
def to_ruby(value)
|
@@ -157,7 +161,11 @@ module Neo4j
|
|
157
161
|
# Only utc times are supported !
|
158
162
|
def to_java(value)
|
159
163
|
return nil if value.nil?
|
160
|
-
value.
|
164
|
+
if value.class == Date
|
165
|
+
Time.utc(value.year, value.month, value.day, 0, 0, 0).to_i
|
166
|
+
else
|
167
|
+
value.utc.to_i
|
168
|
+
end
|
161
169
|
end
|
162
170
|
|
163
171
|
def to_ruby(value)
|
data/lib/neo4j/version.rb
CHANGED
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: neo4j
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 1.1.
|
5
|
+
version: 1.1.1
|
6
6
|
platform: java
|
7
7
|
authors:
|
8
8
|
- Andreas Ronge
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-05-
|
13
|
+
date: 2011-05-26 00:00:00 +02:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -107,6 +107,7 @@ files:
|
|
107
107
|
- lib/neo4j/relationship_mixin/relationship_mixin.rb
|
108
108
|
- lib/neo4j/relationship_mixin/class_methods.rb
|
109
109
|
- lib/neo4j/type_converters/type_converters.rb
|
110
|
+
- lib/neo4j/core_ext/class/inheritable_attributes.rb
|
110
111
|
- lib/neo4j/migrations/migrations.rb
|
111
112
|
- lib/neo4j/migrations/lazy_node_mixin.rb
|
112
113
|
- lib/neo4j/migrations/extensions.rb
|