Module: Rails::Mongoid
Overview
:nodoc:
Defined Under Namespace
Classes: Railtie
Instance Method Summary collapse
-
#create_indexes(pattern) ⇒ Array<String>
Create indexes for each model given the provided pattern and the class is not embedded.
-
#load_models(app) ⇒ Object
Use the application configuration to get every model and require it, so that indexing and inheritance work in both development and production with the same results.
-
#preload_models(app) ⇒ Object
Conditionally calls ‘Rails::Mongoid.load_models(app)` if the `::Mongoid.preload_models` is `true`.
Instance Method Details
#create_indexes(pattern) ⇒ Array<String>
Create indexes for each model given the provided pattern and the class is not embedded.
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/rails/mongoid.rb', line 17 def create_indexes(pattern) Dir.glob(pattern).each do |file| logger = Logger.new($stdout) begin model = determine_model(file, logger) rescue => e logger.error(%Q{Failed to determine model from #{file}: #{e.class}:#{e.} #{e.backtrace.join("\n")} }) end if model model.create_indexes logger.info("Generated indexes for #{model}") else logger.info("Not a Mongoid parent model: #{file}") end end end |
#load_models(app) ⇒ Object
Use the application configuration to get every model and require it, so that indexing and inheritance work in both development and production with the same results.
45 46 47 48 49 50 51 |
# File 'lib/rails/mongoid.rb', line 45 def load_models(app) app.config.paths["app/models"].each do |path| Dir.glob("#{path}/**/*.rb").sort.each do |file| load_model(file.gsub("#{path}/" , "").gsub(".rb", "")) end end end |