Inheritance
Tracks STI subclass representations for a base representation.
Created automatically when a representation's model uses STI. Provides resolution of records to their correct subclass representation.
Example
ruby
ClientRepresentation.inheritance.column # => :type
ClientRepresentation.inheritance.subclasses # => [PersonClientRepresentation, ...]
ClientRepresentation.inheritance.resolve(record) # => PersonClientRepresentationInstance Methods
#base_class
#base_class
The base class for this inheritance.
Returns
Class<Representation::Base>
#column
#column
The column for this inheritance.
Returns
Symbol
#mapping
#mapping
Mapping of API names to database type values.
Returns
Hash{String => String}
#resolve
#resolve(record)
Resolves a record to its subclass representation.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
record | ActiveRecord::Base | The record to resolve. |
Returns
Class<Representation::Base>, nil
#transform?
#transform?
Whether this inheritance requires type transformation.
Returns
Boolean