Class: ObjectInspector::Inspector
- Inherits:
-
Object
- Object
- ObjectInspector::Inspector
- Defined in:
- lib/object_inspector/inspector.rb
Overview
Organizes inspection of the associated #object via the passed in options and via an BaseFormatter instance.
Instance Attribute Summary collapse
-
#object ⇒ Object
readonly
Returns the value of attribute object.
Class Method Summary collapse
-
.inspect ⇒ String
Shortcuts the instantiation -> #to_s flow that would normally be required to use ObjectInspector::Inspector.
Instance Method Summary collapse
-
#flags ⇒ String, NilClass
Boolean flags/states applicable to #object.
-
#identification ⇒ String
Core object identification details, such as the #object class name and any core-level attributes.
-
#info ⇒ String, NilClass
Informational details applicable to #object.
-
#initialize(object, scope: ObjectInspector.configuration.default_scope, formatter: ObjectInspector.configuration.formatter_class, **kwargs) ⇒ Inspector
constructor
A new instance of Inspector.
-
#issues ⇒ String, NilClass
Issues/Warnings applicable to #object.
-
#name ⇒ String, NilClass
A human-friendly identifier for #object.
-
#to_s ⇒ String
Generate the formatted inspect String.
-
#wrapped_object_inspection_result ⇒ String, NilClass
Generate the inspect String for the wrapped object, if ‘self` is a wrapper object.
Constructor Details
#initialize(object, scope: ObjectInspector.configuration.default_scope, formatter: ObjectInspector.configuration.formatter_class, **kwargs) ⇒ Inspector
Returns a new instance of Inspector.
40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/object_inspector/inspector.rb', line 40 def initialize( object, scope: ObjectInspector.configuration.default_scope, formatter: ObjectInspector.configuration.formatter_class, **kwargs ) @object = object @scope = ObjectInspector::Conversions.Scope(scope) @formatter_class = formatter @kwargs = kwargs end |
Instance Attribute Details
#object ⇒ Object (readonly)
Returns the value of attribute object.
19 20 21 |
# File 'lib/object_inspector/inspector.rb', line 19 def object @object end |
Class Method Details
.inspect ⇒ String
Shortcuts the instantiation -> #to_s flow that would normally be required to use ObjectInspector::Inspector.
25 |
# File 'lib/object_inspector/inspector.rb', line 25 def self.inspect(...) = new(...).to_s |
Instance Method Details
#flags ⇒ String, NilClass
Boolean flags/states applicable to #object.
87 88 89 |
# File 'lib/object_inspector/inspector.rb', line 87 def flags value(key: :flags) end |
#identification ⇒ String
Core object identification details, such as the #object class name and any core-level attributes.
79 80 81 |
# File 'lib/object_inspector/inspector.rb', line 79 def identification (value(key: :identification) || object.class).to_s end |
#info ⇒ String, NilClass
Informational details applicable to #object.
103 104 105 |
# File 'lib/object_inspector/inspector.rb', line 103 def info value(key: :info) end |
#issues ⇒ String, NilClass
Issues/Warnings applicable to #object.
95 96 97 |
# File 'lib/object_inspector/inspector.rb', line 95 def issues value(key: :issues) end |
#name ⇒ String, NilClass
A human-friendly identifier for #object.
111 112 113 114 115 116 117 118 119 120 121 122 123 |
# File 'lib/object_inspector/inspector.rb', line 111 def name key = :name if @kwargs.key?(key) value(key:) else interrogate_object_inspect_method(key) || interrogate_object( method_name: :display_name, kwargs: object_method_keyword_arguments, ) end end |
#to_s ⇒ String
Generate the formatted inspect String.
55 56 57 |
# File 'lib/object_inspector/inspector.rb', line 55 def to_s formatter.call end |
#wrapped_object_inspection_result ⇒ String, NilClass
Generate the inspect String for the wrapped object, if ‘self` is a wrapper object.
64 65 66 67 68 69 70 71 72 73 |
# File 'lib/object_inspector/inspector.rb', line 64 def wrapped_object_inspection_result return unless object_is_a_wrapper? self.class.inspect( extract_wrapped_object, scope: @scope, formatter: @formatter_class, kwargs: @kwargs, ) end |