File tree 2 files changed +17
-1
lines changed
2 files changed +17
-1
lines changed Original file line number Diff line number Diff line change @@ -122,7 +122,11 @@ def serialize(value)
122
122
end
123
123
124
124
def cast ( value )
125
- @attr . find_value ( @subtype . cast ( value ) )
125
+ if value . is_a? ( ::Enumerize ::Value )
126
+ value
127
+ else
128
+ @attr . find_value ( @subtype . cast ( value ) )
129
+ end
126
130
end
127
131
128
132
def as_json ( options = nil )
Original file line number Diff line number Diff line change @@ -668,6 +668,18 @@ def self.name
668
668
expect ( User . find_by ( newsletter_subscribed : false ) . newsletter_subscribed ) . must_equal 'unsubscribed'
669
669
end
670
670
671
+ it 'has same value with original object when created by #dup' do
672
+ user1 = User . new ( skill : :casual )
673
+ user2 = user1 . dup
674
+ expect ( user2 . skill ) . must_equal 'casual'
675
+ end
676
+
677
+ it 'has same value with original object when created by #clone' do
678
+ user1 = User . new ( skill : :casual )
679
+ user2 = user1 . clone
680
+ expect ( user2 . skill ) . must_equal 'casual'
681
+ end
682
+
671
683
if Rails ::VERSION ::MAJOR >= 6
672
684
it 'supports AR#insert_all' do
673
685
User . delete_all
You can’t perform that action at this time.
0 commit comments