File tree Expand file tree Collapse file tree 2 files changed +14
-0
lines changed Expand file tree Collapse file tree 2 files changed +14
-0
lines changed Original file line number Original file line Diff line number Diff line change @@ -79,6 +79,8 @@ def initialize(params={})
79
params . each do |attr , value |
79
params . each do |attr , value |
80
self . public_send ( "#{ attr } =" , value )
80
self . public_send ( "#{ attr } =" , value )
81
end if params
81
end if params
82
+
83
+ super
82
end
84
end
83
85
84
# Indicates if the model is persisted. Default is +false+.
86
# Indicates if the model is persisted. Default is +false+.
Original file line number Original file line Diff line number Diff line change 3
class ModelTest < ActiveModel ::TestCase
3
class ModelTest < ActiveModel ::TestCase
4
include ActiveModel ::Lint ::Tests
4
include ActiveModel ::Lint ::Tests
5
5
6
+ module DefaultValue
7
+ def initialize ( *args )
8
+ @attr ||= 'default value'
9
+ end
10
+ end
11
+
6
class BasicModel
12
class BasicModel
13
+ include DefaultValue
7
include ActiveModel ::Model
14
include ActiveModel ::Model
8
attr_accessor :attr
15
attr_accessor :attr
9
end
16
end
@@ -29,4 +36,9 @@ def test_persisted_is_always_false
29
object = BasicModel . new ( :attr => "value" )
36
object = BasicModel . new ( :attr => "value" )
30
assert object . persisted? == false
37
assert object . persisted? == false
31
end
38
end
39
+
40
+ def test_mixin_inclusion_chain
41
+ object = BasicModel . new
42
+ assert_equal object . attr , 'default value'
43
+ end
32
end
44
end
You can’t perform that action at this time.
0 commit comments