active_resource-dirty 1.0.5 → 1.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/active_resource/dirty.rb +15 -3
- data/lib/active_resource/dirty/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bb6d6388350cebd5d10bcebf4d0a60a52852a79842a55f7cda3b705ef5249a73
|
4
|
+
data.tar.gz: f12d3d19080dedc5edcde658930e065d2b708dc3e80a679244d8f96bba8db7a4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fb222b6ce9e24d115624a5df083222b815b3d0ff1de6798a94aca36775e2f908a05fc38766cd60b7b63552edb414286c69e5701566e67c2c1b510950f9a32c11
|
7
|
+
data.tar.gz: b31f252377dd572d4778bc1cd5a6bb08b14bbc45c9488acd72c037fada22f034f2ce3e5df6fe7a94419d902251621fc4909554fdbb2f374f0d747631b191a206
|
@@ -38,12 +38,20 @@ module ActiveResource
|
|
38
38
|
|
39
39
|
# Monkey patch
|
40
40
|
def changes_applied
|
41
|
-
|
42
|
-
|
41
|
+
if new_active_model_version?
|
42
|
+
super
|
43
|
+
else
|
44
|
+
@previously_changed = changes
|
45
|
+
@attributes_changed_by_setter = ActiveSupport::HashWithIndifferentAccess.new
|
46
|
+
end
|
43
47
|
end
|
44
48
|
|
45
49
|
private
|
46
50
|
|
51
|
+
def new_active_model_version?
|
52
|
+
ActiveModel::VERSION::MAJOR == 6
|
53
|
+
end
|
54
|
+
|
47
55
|
def method_missing(method_symbol, *arguments) #:nodoc:
|
48
56
|
method_name = method_symbol.to_s
|
49
57
|
if method_name =~ /(=)$/ && attributes.key?($`)
|
@@ -62,7 +70,11 @@ module ActiveResource
|
|
62
70
|
|
63
71
|
# Monkey patch
|
64
72
|
def mutations_from_database
|
65
|
-
@mutations_from_database ||=
|
73
|
+
@mutations_from_database ||= if new_active_model_version?
|
74
|
+
ActiveModel::ForcedMutationTracker.new(self)
|
75
|
+
else
|
76
|
+
ActiveModel::NullMutationTracker.instance
|
77
|
+
end
|
66
78
|
end
|
67
79
|
|
68
80
|
# Monkey patch
|