mattr_accessor inside a class

Rails extends Ruby with mattr_accessor (Module accessor). As Ruby's
attr_accessor generates getter/setter methods for instances,
mattr_accessor provide getter/setter methods at the module level. In
below example, you see that mattr_accessor declared in the class
context of LookupContext. It's declared in class, not module. However,
modules are defined in LookupContext, for example, the module
ViewPaths, which makes use of the accessor. So is it safe to say that
if a module accessor is declared in class, then it can only be
available to modules of that class?

  class LookupContext
    mattr_accessor :fallbacks
    module ViewPaths
      self.class.fallbacks.each do |resolver|

it looks as if it is onyl available on the class because if you look
it says self.class.fallbacks, yet that wouldnt make sense either
because then what would be the point of its existance if you had to
reach the class for it it, why not just create a class level macro
instead?

John Merlino wrote in post #1075232:

Rails extends Ruby with mattr_accessor (Module accessor). As Ruby's
attr_accessor generates getter/setter methods for instances,
mattr_accessor provide getter/setter methods at the module level. In
below example, you see that mattr_accessor declared in the class
context of LookupContext. It's declared in class, not module.

A class is a module.

However,
modules are defined in LookupContext, for example, the module
ViewPaths, which makes use of the accessor. So is it safe to say that
if a module accessor is declared in class, then it can only be
available to modules of that class?

What is 'it'?

class LookupContext
  def LookupContext.fallbacks
    @@fallbacks
  end

  def LookupContext.fallbacks=(arr)
    @@fallbacks = arr
  end

  module ViewPaths
    def ViewPaths.greet
      p LookupContext.fallbacks
    end
  end
end

class Dog
  def bark
    p LookupContext.fallbacks
  end
end

LookupContext.fallbacks = [10, 20, 30]
p LookupContext.fallbacks

LookupContext::ViewPaths.greet
Dog.new.bark

In this code:

module ViewPaths
      self.class.fallbacks.each do |resolver|

...self is the module LookupContext::ViewPaths, and self.class is
Module, and Module has no method 'fallbacks':

lass LookupContext
  def LookupContext.fallbacks
    @@fallbacks
  end

  def LookupContext.fallbacks=(arr)
    @@fallbacks = arr
  end

  module ViewPaths
    puts self
    puts
    puts self.class
    puts
    puts self.class.fallbacks
  end
end

--output:--
LookupContext::ViewPaths

Module

1.rb:60:in `<module:ViewPaths>': undefined method `fallbacks' for
Module:Class (NoMethodError)
  from 1.rb:57:in `<class:LookupContext>'
  from 1.rb:48:in `<main>'