Módulo: Mongoid::Loadable
- Incluído em:
- Mongoid
- Definido em:
- lib/mongoid/loadable.rb
Visão geral
Define como o Mongoid pode carregar automaticamente todos os modelos definidos.
Colapsode resumo constante
- DEFAULT_MODEL_PATHS =
A lista padrão de caminhos onde as classes de modelo devem ser procuradas. Se o Rails estiver presente, os caminhos "app/models" serão usados. (Consulte #model_paths.)
%w( ./app/models ./lib/models ).congelar
Recolhimento do Resumo do método de instância
-
#load_model(file) ➤ Objeto
privado
Um método de conveniência para carregar o arquivo de um modelo.
-
#load_models(paths = model_paths) ➤ Objeto
Pesquise uma lista de caminhos de modelo para obter cada modelo e exigi-lo, para que a indexação e a herança funcionem no desenvolvimento e na produção com os mesmos resultados.
-
#model_paths ➤ Array<String>
Retorna a array de caminhos onde as definições de modelo do aplicativo estão localizadas.
-
#model_paths=(caminhos) ➤ Objeto
Define os caminhos do modelo para a array de caminhos fornecida.
Detalhes do método de instância
#load_model(file) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Um método de conveniência para carregar o arquivo de um modelo. Se o método 'require_dependency' do Rails existir, ele será usado; caso contrário, "exigir" será usado.
50 51 52 53 54 55 56 |
# Arquivo 'lib/mongoid/loadable.rb', linha 50 def load_model(file) se definido?(require_dependency) require_dependency(file) mais exigir(file) end end |
#load_models(paths = model_paths) ➤ Objeto
Pesquise uma lista de caminhos de modelo para obter cada modelo e exigi-lo, para que a indexação e a herança funcionem no desenvolvimento e na produção com os mesmos resultados.
26 27 28 29 30 31 32 33 34 35 36 37 38 |
# Arquivo 'lib/mongoid/loadable.rb', linha 26 def load_models(caminhos = model_paths) caminhos.cada fazer |caminho| se preload_models.redimensionável? .idl = preload_models.map { |Modelo| "#{caminho}/#{modelo.sublinhado}.rb" } mais .idl = Gerente.global("#{caminho}/**/*.rb") end .idl.sort.cada fazer |file| load_model(file.gsub(/^#{path}\// , "").gsub(/\.rb$/, "")) end end end |
#model_paths ➤ Array<String>
Retorna a array de caminhos onde as definições de modelo do aplicativo estão localizadas. Se o Rails estiver carregado, o padrão será os caminhos "app/models" configurados (por exemplo ' config.paths'); caso contrário, o padrão será `%w(./app/models ./lib/models)'.
Observe que esses caminhos são as raizes das hierarquias de diretório onde os modelos estão localizados; não é necessário indicar todos os subdiretórios, desde que esses caminhos raiz estejam localizados em '$LOAD_PATH'.
68 69 70 71 72 |
# Arquivo 'lib/mongoid/loadable.rb', linha 68 def model_paths @model_paths ||= definido?(Trilhos) ? Trilhos.Aplicativo.config.caminhos["app/models"]. : DEFAULT_MODEL_PATHS end |
#model_paths=(caminhos) ➤ Objeto
Define os caminhos do modelo para a array de caminhos fornecida. Esses são os caminhos onde as definições de modelo do aplicativo estão localizadas.
78 79 80 |
# Arquivo 'lib/mongoid/loadable.rb', linha 78 def model_paths=(caminhos) @model_paths = caminhos end |