File tree Expand file tree Collapse file tree 1 file changed +9
-9
lines changed
lib/concurrent/synchronization Expand file tree Collapse file tree 1 file changed +9
-9
lines changed Original file line number Diff line number Diff line change @@ -11,20 +11,12 @@ class ImmutableStruct < Synchronization::Object
1111 def self . with_fields ( *names , &block )
1212 Class . new ( self ) do
1313 attr_reader ( *names )
14-
14+ const_set :MEMBERS , names
1515 class_eval <<-RUBY , __FILE__ , __LINE__ + 1
1616 def initialize(#{ names . join ( ', ' ) } )
1717 #{ names . map { |n | '@' + n . to_s } . join ( ', ' ) } = #{ names . join ( ', ' ) }
1818 ensure_ivar_visibility!
1919 end
20-
21- def members
22- #{ names . inspect }
23- end
24-
25- def self.members
26- #{ names . inspect }
27- end
2820 RUBY
2921
3022 instance_eval &block if block
@@ -46,6 +38,14 @@ def self.[](*args)
4638 new *args
4739 end
4840
41+ def self . members
42+ MEMBERS
43+ end
44+
45+ def members
46+ MEMBERS
47+ end
48+
4949 include Enumerable
5050
5151 def each ( &block )
You can’t perform that action at this time.
0 commit comments