Class: RailsProof::ModelInspector
- Inherits:
-
Object
- Object
- RailsProof::ModelInspector
- Defined in:
- lib/rails_proof/model_inspector.rb
Instance Attribute Summary collapse
-
#model_class ⇒ Object
readonly
Returns the value of attribute model_class.
Instance Method Summary collapse
- #associations ⇒ Object
- #columns ⇒ Object
-
#initialize(model_class) ⇒ ModelInspector
constructor
A new instance of ModelInspector.
- #model_name ⇒ Object
- #table_name ⇒ Object
- #validators ⇒ Object
Constructor Details
#initialize(model_class) ⇒ ModelInspector
Returns a new instance of ModelInspector.
5 6 7 |
# File 'lib/rails_proof/model_inspector.rb', line 5 def initialize(model_class) @model_class = model_class end |
Instance Attribute Details
#model_class ⇒ Object (readonly)
Returns the value of attribute model_class.
3 4 5 |
# File 'lib/rails_proof/model_inspector.rb', line 3 def model_class @model_class end |
Instance Method Details
#associations ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/rails_proof/model_inspector.rb', line 28 def associations @associations ||= model_class.reflect_on_all_associations.map do |association| { macro: association.macro, name: association.name, class_name: association.class_name, foreign_key: association.foreign_key, options: association. } end end |
#columns ⇒ Object
17 18 19 20 21 22 23 24 25 26 |
# File 'lib/rails_proof/model_inspector.rb', line 17 def columns @columns ||= model_class.columns.map do |column| { name: column.name, type: column.type, null: column.null, default: column.default } end end |
#model_name ⇒ Object
9 10 11 |
# File 'lib/rails_proof/model_inspector.rb', line 9 def model_name model_class.name end |
#table_name ⇒ Object
13 14 15 |
# File 'lib/rails_proof/model_inspector.rb', line 13 def table_name model_class.table_name end |
#validators ⇒ Object
40 41 42 43 44 45 46 47 48 |
# File 'lib/rails_proof/model_inspector.rb', line 40 def validators @validators ||= model_class.validators.map do |validator| { class_name: validator.class.name, attributes: validator.attributes, options: validator. } end end |