Module: LcpRuby::Metadata::EnumLabelResolver
- Defined in:
- lib/lcp_ruby/metadata/enum_label_resolver.rb
Overview
Routes a raw enum value through ‘FieldDefinition#enum_label_for` so all consumers (model `to_label`, `display_template “enum_field”`, future call sites) share one resolution path. Non-enum values pass through untouched.
Without this helper, ‘to_label` and display templates returned raw enum keys (“father”) instead of localized labels (“Otec”) — see `docs/improve-tasks/school-improve-tasks.md` #13.
Class Method Summary collapse
-
.resolve(value, field_def, model_name: nil) ⇒ Object
Localized label for enum fields, original value otherwise.
Class Method Details
.resolve(value, field_def, model_name: nil) ⇒ Object
Returns localized label for enum fields, original value otherwise.
18 19 20 21 22 23 24 |
# File 'lib/lcp_ruby/metadata/enum_label_resolver.rb', line 18 def resolve(value, field_def, model_name: nil) return value if value.nil? return value if field_def.nil? return value unless field_def.enum? field_def.enum_label_for(value, model_name: model_name) end |