persistent_open_struct 0.0.2 → 0.0.3
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/lib/persistent_open_struct.rb +2 -2
- data/lib/persistent_open_struct/version.rb +2 -2
- data/test/test_persistent_open_struct.rb +14 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f6c41e9e236bb66901a4391b2e3faff934b08a87
|
4
|
+
data.tar.gz: 34f5b6e46d8832b0647fe74cfb51682311924acd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3e844c2385b245cfe29cc4575f4e675e71478e47d877312238b2e71a174eb7faa49dd184e14b452bee4e0a6ef530ef366e0fae66b9b6c6501c46f355dcbf9d34
|
7
|
+
data.tar.gz: 53b8efa1f9ac4cbf4a1c63abe496898afff1e6783663ac7064d9f3363bcd7aeffa0498145354fcdf7cce24bf6489be3a0994dedbf3f5dc3a6e85db95bed65df6
|
@@ -119,12 +119,12 @@ class PersistentOpenStruct
|
|
119
119
|
protected :table
|
120
120
|
|
121
121
|
def ==(other)
|
122
|
-
return false unless other.
|
122
|
+
return false unless other.class == self.class
|
123
123
|
@table == other.table
|
124
124
|
end
|
125
125
|
|
126
126
|
def eql?(other)
|
127
|
-
return false unless other.
|
127
|
+
return false unless other.class == self.class
|
128
128
|
@table.eql?(other.table)
|
129
129
|
end
|
130
130
|
|
@@ -28,6 +28,17 @@ class PersistentOpenStructTest < Minitest::Test
|
|
28
28
|
refute_equal(o1, o2)
|
29
29
|
end
|
30
30
|
|
31
|
+
def test_equality_of_subclasses
|
32
|
+
pos_class = Class.new(PersistentOpenStruct)
|
33
|
+
o1 = pos_class.new(foo: :bar)
|
34
|
+
|
35
|
+
pos_class2 = Class.new(pos_class)
|
36
|
+
o2 = pos_class2.new(foo: :bar)
|
37
|
+
|
38
|
+
assert_equal(o1, o1.dup)
|
39
|
+
refute_equal(o1, o2)
|
40
|
+
end
|
41
|
+
|
31
42
|
def test_inspect
|
32
43
|
foo = PersistentOpenStruct.new
|
33
44
|
assert_equal("#<PersistentOpenStruct>", foo.inspect)
|
@@ -109,10 +120,12 @@ class PersistentOpenStructTest < Minitest::Test
|
|
109
120
|
def test_eql_and_hash
|
110
121
|
os1 = PersistentOpenStruct.new age: 70
|
111
122
|
os2 = PersistentOpenStruct.new age: 70.0
|
123
|
+
os3 = Class.new(PersistentOpenStruct).new age: 70
|
112
124
|
assert_equal os1, os2
|
113
125
|
assert_equal false, os1.eql?(os2)
|
114
126
|
refute_equal os1.hash, os2.hash
|
115
|
-
|
127
|
+
assert os1.eql?(os1.dup)
|
128
|
+
refute os1.eql?(os3)
|
116
129
|
assert_equal os1.hash, os1.dup.hash
|
117
130
|
end
|
118
131
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: persistent_open_struct
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- amcaplan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-07-
|
11
|
+
date: 2016-07-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -119,7 +119,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
119
119
|
version: '0'
|
120
120
|
requirements: []
|
121
121
|
rubyforge_project:
|
122
|
-
rubygems_version: 2.
|
122
|
+
rubygems_version: 2.2.2
|
123
123
|
signing_key:
|
124
124
|
specification_version: 4
|
125
125
|
summary: A variant of OpenStruct that persists defined methods
|