activemodel 4.2.0 → 4.2.1.rc1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of activemodel might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +2 -0
- data/lib/active_model/dirty.rb +19 -14
- data/lib/active_model/gem_version.rb +2 -2
- data/lib/active_model/naming.rb +1 -0
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 26a6712d35e1d29c386fff19184c427d9207f54d
|
4
|
+
data.tar.gz: 83384ef049d093b60e450db120eea3c42cdbaf0f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5331c5a07062d390451c595e580e3f2ada26a3e0de21ed59113db018e2ecc550804222c997133411e18b04c9fa4e86413ed07f1f94e6d6112f4016db90cd35c4
|
7
|
+
data.tar.gz: b20cc834a02751edfae3a676bf026a6116f10f28aa0bafd55886fa6a36aa3dd9a8ffb38f389a66ac87991651456282ad9aaefe3ac71838ca6de0f84bc953a304
|
data/CHANGELOG.md
CHANGED
data/lib/active_model/dirty.rb
CHANGED
@@ -53,10 +53,10 @@ module ActiveModel
|
|
53
53
|
# end
|
54
54
|
# end
|
55
55
|
#
|
56
|
-
# A newly instantiated object is unchanged:
|
56
|
+
# A newly instantiated +Person+ object is unchanged:
|
57
57
|
#
|
58
|
-
# person = Person.
|
59
|
-
# person.changed?
|
58
|
+
# person = Person.new
|
59
|
+
# person.changed? # => false
|
60
60
|
#
|
61
61
|
# Change the name:
|
62
62
|
#
|
@@ -72,8 +72,8 @@ module ActiveModel
|
|
72
72
|
# Save the changes:
|
73
73
|
#
|
74
74
|
# person.save
|
75
|
-
# person.changed?
|
76
|
-
# person.name_changed?
|
75
|
+
# person.changed? # => false
|
76
|
+
# person.name_changed? # => false
|
77
77
|
#
|
78
78
|
# Reset the changes:
|
79
79
|
#
|
@@ -85,20 +85,20 @@ module ActiveModel
|
|
85
85
|
#
|
86
86
|
# person.name = "Uncle Bob"
|
87
87
|
# person.rollback!
|
88
|
-
# person.name
|
89
|
-
# person.name_changed?
|
88
|
+
# person.name # => "Bill"
|
89
|
+
# person.name_changed? # => false
|
90
90
|
#
|
91
91
|
# Assigning the same value leaves the attribute unchanged:
|
92
92
|
#
|
93
93
|
# person.name = 'Bill'
|
94
|
-
# person.name_changed?
|
95
|
-
# person.name_change
|
94
|
+
# person.name_changed? # => false
|
95
|
+
# person.name_change # => nil
|
96
96
|
#
|
97
97
|
# Which attributes have changed?
|
98
98
|
#
|
99
99
|
# person.name = 'Bob'
|
100
|
-
# person.changed
|
101
|
-
# person.changes
|
100
|
+
# person.changed # => ["name"]
|
101
|
+
# person.changes # => {"name" => ["Bill", "Bob"]}
|
102
102
|
#
|
103
103
|
# If an attribute is modified in-place then make use of
|
104
104
|
# +[attribute_name]_will_change!+ to mark that the attribute is changing.
|
@@ -107,9 +107,9 @@ module ActiveModel
|
|
107
107
|
# not need to call +[attribute_name]_will_change!+ on Active Record models.
|
108
108
|
#
|
109
109
|
# person.name_will_change!
|
110
|
-
# person.name_change
|
110
|
+
# person.name_change # => ["Bill", "Bill"]
|
111
111
|
# person.name << 'y'
|
112
|
-
# person.name_change
|
112
|
+
# person.name_change # => ["Bill", "Billy"]
|
113
113
|
module Dirty
|
114
114
|
extend ActiveSupport::Concern
|
115
115
|
include ActiveModel::AttributeMethods
|
@@ -170,7 +170,7 @@ module ActiveModel
|
|
170
170
|
|
171
171
|
# Handle <tt>*_changed?</tt> for +method_missing+.
|
172
172
|
def attribute_changed?(attr, options = {}) #:nodoc:
|
173
|
-
result =
|
173
|
+
result = changes_include?(attr)
|
174
174
|
result &&= options[:to] == __send__(attr) if options.key?(:to)
|
175
175
|
result &&= options[:from] == changed_attributes[attr] if options.key?(:from)
|
176
176
|
result
|
@@ -188,6 +188,11 @@ module ActiveModel
|
|
188
188
|
|
189
189
|
private
|
190
190
|
|
191
|
+
def changes_include?(attr_name)
|
192
|
+
attributes_changed_by_setter.include?(attr_name)
|
193
|
+
end
|
194
|
+
alias attribute_changed_by_setter? changes_include?
|
195
|
+
|
191
196
|
# Removes current changes and makes them accessible through +previous_changes+.
|
192
197
|
def changes_applied # :doc:
|
193
198
|
@previously_changed = changes
|
data/lib/active_model/naming.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activemodel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.2.
|
4
|
+
version: 4.2.1.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Heinemeier Hansson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-02-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 4.2.
|
19
|
+
version: 4.2.1.rc1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 4.2.
|
26
|
+
version: 4.2.1.rc1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: builder
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -99,12 +99,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
99
99
|
version: 1.9.3
|
100
100
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
101
101
|
requirements:
|
102
|
-
- - "
|
102
|
+
- - ">"
|
103
103
|
- !ruby/object:Gem::Version
|
104
|
-
version:
|
104
|
+
version: 1.3.1
|
105
105
|
requirements: []
|
106
106
|
rubyforge_project:
|
107
|
-
rubygems_version: 2.
|
107
|
+
rubygems_version: 2.4.5
|
108
108
|
signing_key:
|
109
109
|
specification_version: 4
|
110
110
|
summary: A toolkit for building modeling frameworks (part of Rails).
|