could you please explain me why the class variable cannot be accessed by attribute_accessors?
As i am trying here to have the list of all methods of all subclasses in one array it works a little different. It created array @method_names in every subclass with specific methods for every class ... so i do need to do a loop through subclasses.
What kind of variable/attribute is @method_names?
Thanks!
module First
      class First_class
        class << self
          def info
            puts "First_class method info."
            puts @subclasses
            puts @method_names
          end
      
          def inherited(subclass)
            puts "#{subclass} located ..."
            subclasses << subclass
          end
    
          def subclasses
            @subclasses ||= []
          end
    
          def method_added(method_name)
            puts "Method located #{method_name} ..."
            method_names << method_name
          end
    
          def method_names
            @method_names ||= []
          end
        end
     
        def initialize
          puts "Instance of First_class is created."
        end
    
        def first_method
        end
      end
    
      class Second_class < First_class
        def self.info
          puts "Second_class method info."
          puts @subclasses
          puts @method_names
        end
        
        def second_method
        end
    
        def initialize
          puts "Instance of Second_class is created."
        end
      end
    
      class Third_class < First_class
        def third_method
        end
    
        def initialize
          puts "Instance of Third_class is created."
        end
      end
    end
    
    First::First_class.subclasses.each {
        |subclass| puts subclass
      subclass.method_names.each {
        |methodn| puts methodn
      }
    }
#################UPDATE######### Ok, maybe I put the question incorrectly.
Basically what is the difference for @@method_names(class variable) and @method_names (instance variable) if i do not create the instance of object? After inserting more inputs into @method_names it still inserts into the same object_id. So what is benefit of @@method_names?
 
    