Module: ActiveRecord::Lint
- Extended by:
- Lint
- Included in:
- Lint, Scanner
- Defined in:
- lib/active_record/lint/reporter.rb,
lib/active_record/lint/pairs.rb,
lib/active_record/lint.rb
Defined Under Namespace
Classes: MissingForeignKey, MissingIndex, MissingTable, Pair, Reporter, TableColumnPair, TableIndexPair, TableKeyPair
Instance Method Summary
collapse
Instance Method Details
#load_models(rails_root) ⇒ Object
5
6
7
8
9
10
|
# File 'lib/active_record/lint.rb', line 5
def load_models(rails_root)
pattern = File.join(rails_root, "app", "models", "*.rb")
Dir.glob(pattern){|file|
load( file )
}
end
|
#missing_indexes(options = {}) ⇒ Object
21
22
23
24
|
# File 'lib/active_record/lint.rb', line 21
def missing_indexes(options = {})
load_models(options[:rails_root] || RAILS_ROOT)
Scanner.new(options[:connection] || ActiveRecord::Base.connection).missing_indexes
end
|
#unload_models ⇒ Object
12
13
14
15
16
17
18
19
|
# File 'lib/active_record/lint.rb', line 12
def unload_models
models = ActiveRecord::Base.send :class_variable_get, :@@subclasses
models = models.keys - [ActiveRecord::Base]
models.map(&:name).each do |name|
Object.send :remove_const, name unless name.nil? or name.empty?
end
ActiveRecord::Base.send :class_variable_set, :@@subclasses, {}
end
|