has_versions 0.7.0 → 0.7.1
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/has_versions.gemspec
CHANGED
@@ -10,11 +10,14 @@ module HasVersions
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def versioned_attributes
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
13
|
+
create_versioned_attributes do |attribute|
|
14
|
+
send(attribute)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def versioned_attributes_was
|
19
|
+
create_versioned_attributes do |attribute|
|
20
|
+
send("#{attribute}_was")
|
18
21
|
end
|
19
22
|
end
|
20
23
|
|
@@ -25,6 +28,16 @@ module HasVersions
|
|
25
28
|
nil
|
26
29
|
end
|
27
30
|
end
|
31
|
+
|
32
|
+
private
|
33
|
+
def create_versioned_attributes(&block)
|
34
|
+
self.class.versioned_attributes.inject({}) do |memo, attribute|
|
35
|
+
if (value = block.call(attribute)).present?
|
36
|
+
memo[attribute] = versioning_encode_value(attribute, value)
|
37
|
+
end
|
38
|
+
memo
|
39
|
+
end
|
40
|
+
end
|
28
41
|
end
|
29
42
|
end
|
30
43
|
end
|
@@ -25,6 +25,13 @@ module HasVersions
|
|
25
25
|
assert_equal expected, record.versioned_attributes
|
26
26
|
end
|
27
27
|
|
28
|
+
# def test_instance_versioned_attributes_was
|
29
|
+
# record = VersionedRecord.new(name: 'joe', price: nil, weight: 142.0, color: 'green')
|
30
|
+
# expected = {'name' => 'joe', 'weight' => '142.0'}
|
31
|
+
#
|
32
|
+
# assert_equal expected, record.versioned_attributes_was
|
33
|
+
# end
|
34
|
+
|
28
35
|
def test_associated_versions_when_defined
|
29
36
|
model = Class.new(VersionedRecord) do
|
30
37
|
versioning_configuration.associated_versions do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: has_versions
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-10-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|