active_node 2.3.6 → 2.3.9

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b884b5d0dd3dad07e649785c7f93ebc1ddf306b6
4
- data.tar.gz: 59b3577cb8953aa800694f5c29db1e4f15800dcd
3
+ metadata.gz: 77c70d1eb0d4e2b31cb814bbf2580cca4a5523f8
4
+ data.tar.gz: f93d7a8fe623813630ba63bf3e44b0e5580e0c54
5
5
  SHA512:
6
- metadata.gz: 7a8cb52eb6fc1dcde0ebad7bd241e9d77e14551d76fa034c3e5be6d8f8891e256dd1df34f27a7850552c2dc51e39c27f342da8a58bdfc928f11423fed27f9071
7
- data.tar.gz: 6e5a9e4e2550236549f1d1620551b70d981cc55decfe56bb9d2a4e75825ef6032f04899129df18c95f503de816b06a6ede216c897063d25b4a50c875b13cfd98
6
+ metadata.gz: 9a55ce03a65cb500ca528ffdec0bf4abc48dbce96fd66a6f44b93d23eba8a4c12d9b20c4aa2c1a62ba2e557a26b9772f9a2da89596d1dc6ffc3914ebbf95c033
7
+ data.tar.gz: 9ea612a3a3cebe13d862315c2383fc272b44c73b6c47b9beea0ac2abb6f8b88b39b7d4a44548b30c93ca8d2bb0a0c11f01b47b9f3a49ae634de1674cbe42a365
@@ -1,7 +1,8 @@
1
- script: "bundle exec rake neo4j:install['enterprise','2.3.2'] neo4j:unsecure neo4j:start spec --trace"
2
1
  language: ruby
2
+ cache: bundler
3
3
  rvm:
4
- - 2.1.2
4
+ - 2.2.2
5
+ script: "bundle exec rake neo4j:install['enterprise','2.3.2'] neo4j:unsecure neo4j:start spec --trace"
5
6
  addons:
6
7
  code_climate:
7
8
  repo_token: 88fa9b8eb0bfc48e8c5077253d829e94af9f76aca60df9e75ae0e50a4c7cd9f0
@@ -6,5 +6,32 @@ module ActiveNode
6
6
  @association_cache = {}
7
7
  super attributes, split_by
8
8
  end
9
+
10
+ # Returns true if +comparison_object+ is the same exact object, or +comparison_object+
11
+ # is of the same type and +self+ has an ID and it is equal to +comparison_object.id+.
12
+ #
13
+ # Note that new records are different from any other record by definition, unless the
14
+ # other record is the receiver itself. Besides, if you fetch existing records with
15
+ # +select+ and leave the ID out, you're on your own, this predicate will return false.
16
+ #
17
+ # Note also that destroying a record preserves its ID in the model instance, so deleted
18
+ # models are still comparable.
19
+ def ==(comparison_object)
20
+ super ||
21
+ comparison_object.instance_of?(self.class) &&
22
+ !id.nil? &&
23
+ comparison_object.id == id
24
+ end
25
+ alias :eql? :==
26
+
27
+ # Delegates to id in order to allow two records of the same type and id to work with something like:
28
+ # [ Person.find(1), Person.find(2), Person.find(3) ] & [ Person.find(1), Person.find(4) ] # => [ Person.find(1) ]
29
+ def hash
30
+ if id
31
+ id.hash
32
+ else
33
+ super
34
+ end
35
+ end
9
36
  end
10
37
  end
@@ -1,3 +1,3 @@
1
1
  module ActiveNode
2
- VERSION = "2.3.6"
2
+ VERSION = "2.3.9"
3
3
  end
@@ -178,4 +178,24 @@ describe ActiveNode::Persistence do
178
178
  expect(Address.create!.city).to eq "New York"
179
179
  end
180
180
  end
181
+
182
+ describe "eql?" do
183
+ before :each do
184
+ Client.create!(name: 'abc')
185
+ end
186
+
187
+ it "should be equal" do
188
+ expect(Client.first).to eq Client.first
189
+ end
190
+ end
191
+
192
+ describe "hash" do
193
+ before :each do
194
+ Client.create!(name: 'abc')
195
+ end
196
+
197
+ it "should be equal" do
198
+ expect(Client.first.hash).to eq Client.first.hash
199
+ end
200
+ end
181
201
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_node
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.6
4
+ version: 2.3.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Heinrich Klobuczek
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-11 00:00:00.000000000 Z
11
+ date: 2016-04-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_attr
@@ -176,7 +176,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
176
176
  version: '0'
177
177
  requirements: []
178
178
  rubyforge_project: active_node
179
- rubygems_version: 2.2.2
179
+ rubygems_version: 2.5.1
180
180
  signing_key:
181
181
  specification_version: 4
182
182
  summary: ActiveRecord style Object Graph Mapping for neo4j