Espacio de nombres de Ruby

Soy bastante nuevo en Ruby, proveniente de un fondo de php, pero algo no está haciendo clic conmigo.

Entonces, digamos que tengo una aplicación Ruby on Rails y estoy versionando mi API de esta manera:

app
|_controllers
  |_api
  | |_v1
  | | |_application_controller.rb
  | | |_user_controller.rb
  | |_application_controller.rb
  |_application_controller.rb

Con la estructura de clase con

# Versioned API V1 app controller
module Api
  module V1
    class ApplicationController
    end
  end
end

# Versioned API app controller
module Api
  class ApplicationController
  end
end

# Root app controller
class ApplicationController
end

#The code in question
module Api
  module V1
    class UserController < ApplicationController
    end
  end
end

Entonces la pregunta es, ¿busca RubyApi::V1::ApplicationController, Api::ApplicationControlleroApllicationController para extender?

Hace el< ApplicationController buscar su propio espacio de nombres a menos que especifiqueApi::ApplicationController? Si es así, ¿cómo especifico la raíz?

Respuestas a la pregunta(3)

Su respuesta a la pregunta