I can't undestand. What is Test1 in the following example?:
class Test1 def request Test2.new.get_request(self.class) end end class Test2 def get_request(klass) p klass # => Test1 case klass when Test1 p 'Test1 is class' when "Test1" p 'Test1 is string' when :Test1 p 'Test1 is sybol' else p 'wtf is klass ????' end end end Test1.new.request # Test1 # "wtf is klass ????" (It works if self.class change to self) But what is explanation of this behavior?