File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -19,6 +19,9 @@ def self.included(base)
1919 base . extend ClassMethods
2020
2121 base . private_class_method ( :new )
22+
23+ base . instance_variable_set ( :@_enum_hash , { } )
24+ base . instance_variable_set ( :@_enums_by_value , { } )
2225 end
2326
2427 module ClassMethods
Original file line number Diff line number Diff line change @@ -229,6 +229,22 @@ class SecondSubclass < FirstSubclass
229229 end
230230 end
231231
232+ # rubocop:disable Rspec/DescribedClass
233+ describe 'Reloading enum definition' do
234+ it 'plays nice with lazy loading in Ruby on Rails' do
235+ class_body = proc do
236+ include Ruby ::Enum
237+
238+ define :BALD , 'bald'
239+ end
240+
241+ HairStyles = Class . new ( &class_body )
242+
243+ expect { HairStyles . class_eval ( &class_body ) } . not_to raise_error
244+ end
245+ end
246+ # rubocop:enable Rspec/DescribedClass
247+
232248 describe 'Given a class that has not defined any enums' do
233249 class EmptyEnums
234250 include Ruby ::Enum
You can’t perform that action at this time.
0 commit comments