Skip to content

Commit 8c92b51

Browse files
committed
Remove unnecessary definition of members methods by eval
1 parent b94357b commit 8c92b51

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

lib/concurrent/synchronization/immutable_struct.rb

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,12 @@ class ImmutableStruct < Synchronization::Object
1111
def self.with_fields(*names, &block)
1212
Class.new(self) do
1313
attr_reader(*names)
14-
1514
class_eval <<-RUBY, __FILE__, __LINE__ + 1
1615
def initialize(#{names.join(', ')})
1716
#{names.map { |n| '@' + n.to_s }.join(', ')} = #{names.join(', ')}
1817
ensure_ivar_visibility!
1918
end
2019
21-
def members
22-
#{names.inspect}
23-
end
24-
2520
def self.members
2621
#{names.inspect}
2722
end
@@ -46,6 +41,10 @@ def self.[](*args)
4641
new *args
4742
end
4843

44+
def members
45+
self.class.members
46+
end
47+
4948
include Enumerable
5049

5150
def each(&block)

0 commit comments

Comments
 (0)