module Mongoid::Indexing

Attributes

logging[W]

Public Class Methods

create_indexes(models_paths = nil) click to toggle source
# File lib/mongoid/indexing.rb, line 18
def create_indexes models_paths = nil
  message "creating mongoid indexes..."
  models_paths = rails_models_paths if models_paths == :rails

  load_models_from_paths models_paths

  ::Rails::Mongoid.create_indexes
end
load_models_from_paths(*models_paths) click to toggle source
# File lib/mongoid/indexing.rb, line 37
def load_models_from_paths *models_paths
  [models_paths].flatten.compact.each do |path|
    require "#{path}/**/*.rb" unless path.blank?
  end
end
log?() click to toggle source
# File lib/mongoid/indexing.rb, line 14
def log?
  @logging ||= false
end
log_off!() click to toggle source
# File lib/mongoid/indexing.rb, line 10
def log_off!
  @logging = false
end
log_on!() click to toggle source
# File lib/mongoid/indexing.rb, line 6
def log_on!
  @logging = true
end
rails_models_paths() click to toggle source
# File lib/mongoid/indexing.rb, line 43
def rails_models_paths
  engines_models_paths = ::Rails.application.railties.engines.map do |engine|
    engine.paths["app/models"].expanded
  end
  root_models_paths = ::Rails.application.paths["app/models"]
  engines_models_paths.push(root_models_paths).flatten
end
remove_indexes(models_paths = nil) click to toggle source
# File lib/mongoid/indexing.rb, line 27
def remove_indexes models_paths = nil
  message "removing mongoid indexes..."

  models_paths = rails_models_paths if models_paths == :rails

  load_models_from_paths models_paths

  ::Rails::Mongoid.remove_indexes 
end

Protected Class Methods

message(txt) click to toggle source
# File lib/mongoid/indexing.rb, line 53
def message txt
  puts txt if log?
end