Class: IMissValidator::Inspector
- Inherits:
-
Object
- Object
- IMissValidator::Inspector
- Defined in:
- lib/i_miss_validator/inspector.rb
Defined Under Namespace
Classes: AcceptanceInspector, LengthInspector, NumericalityInspector, PresenceInspector
Instance Attribute Summary collapse
-
#results ⇒ Object
readonly
Returns the value of attribute results.
Instance Method Summary collapse
-
#initialize(models_path, inspectors = []) ⇒ Inspector
constructor
A new instance of Inspector.
- #inspect ⇒ Object
- #models ⇒ Object
Constructor Details
#initialize(models_path, inspectors = []) ⇒ Inspector
Returns a new instance of Inspector.
6 7 8 9 10 |
# File 'lib/i_miss_validator/inspector.rb', line 6 def initialize(models_path, inspectors = []) @models_path = models_path @inspectors = inspectors @results = [] end |
Instance Attribute Details
#results ⇒ Object (readonly)
Returns the value of attribute results.
4 5 6 |
# File 'lib/i_miss_validator/inspector.rb', line 4 def results @results end |
Instance Method Details
#inspect ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/i_miss_validator/inspector.rb', line 24 def inspect models.each do |model| begin model.columns rescue puts "No schema in model class #{model.to_s}" next end problems = @inspectors.map do |inspector| inspector.inspect(model) end @results << { model: model.to_s, problems: problems.flatten.compact.group_by {|pb| pb[:column] } } end end |
#models ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/i_miss_validator/inspector.rb', line 12 def models Dir.glob(File.join(@models_path, "**", "*.rb")).sort.each do |filename| begin Kernel.require_dependency filename rescue puts "Not a class #{filename}" end end ActiveRecord::Base.descendants.sort_by(&:name) end |