Class: PaperTrail::Human::Core::FieldFormatter
- Inherits:
-
Object
- Object
- PaperTrail::Human::Core::FieldFormatter
- Defined in:
- lib/paper_trail/human/core/field_formatter.rb
Constant Summary collapse
- RESOLVER_MAP =
{ relation: 'PaperTrail::Human::Adapters::Resolvers::Relation', enum: 'PaperTrail::Human::Adapters::Resolvers::Enum', boolean: 'PaperTrail::Human::Adapters::Resolvers::Boolean', custom: 'PaperTrail::Human::Adapters::Resolvers::Custom', text: 'PaperTrail::Human::Adapters::Resolvers::Text', date: 'PaperTrail::Human::Adapters::Resolvers::Date', number: 'PaperTrail::Human::Adapters::Resolvers::Number' }.freeze
Instance Method Summary collapse
- #call(field_name, previous_value, new_value) ⇒ Object
-
#initialize(model_config, item_type, field_name_resolver: nil, preloaded: nil) ⇒ FieldFormatter
constructor
A new instance of FieldFormatter.
Constructor Details
#initialize(model_config, item_type, field_name_resolver: nil, preloaded: nil) ⇒ FieldFormatter
Returns a new instance of FieldFormatter.
17 18 19 20 21 22 |
# File 'lib/paper_trail/human/core/field_formatter.rb', line 17 def initialize(model_config, item_type, field_name_resolver: nil, preloaded: nil) @model_config = model_config @item_type = item_type @field_name_resolver = field_name_resolver @preloaded = preloaded || {} end |
Instance Method Details
#call(field_name, previous_value, new_value) ⇒ Object
24 25 26 27 28 29 30 31 32 33 |
# File 'lib/paper_trail/human/core/field_formatter.rb', line 24 def call(field_name, previous_value, new_value) config = field_config(field_name) resolver = build_resolver(config, field_name) { field: human_field_name(field_name), previous_value: resolve_value(resolver, previous_value), value: resolve_value(resolver, new_value) } end |