class Module

def mattr_accessor(*syms)

To opt out of both instance methods, pass instance_accessor: false.
To opt out of the instance reader method, pass instance_reader: false.
To opt out of the instance writer method, pass instance_writer: false.

AppConfiguration.google_api_key # => "overriding the api key!"
AppConfiguration.google_api_key = "overriding the api key!"
AppConfiguration.google_api_key # => "123456789"

end
self.google_api_key = "123456789"

mattr_accessor :google_api_key
module AppConfiguration

just like the native attr* accessors for instance attributes.
Extends the module object with module and instance accessors for class attributes,
def mattr_accessor(*syms)
  mattr_reader(*syms)
  mattr_writer(*syms)
end