Class: LcpRuby::Workflow::TransitionLabelResolver
- Inherits:
-
Object
- Object
- LcpRuby::Workflow::TransitionLabelResolver
- Defined in:
- lib/lcp_ruby/workflow/transition_label_resolver.rb
Overview
Resolves a human-readable label for a workflow transition.
Lookup order:
1. i18n key `lcp_ruby.workflows.<workflow>.transitions.<transition>`
2. transition.label (from workflow YAML/DSL), if a Transition object is given
3. transition_name.humanize
Used by both the toolbar action builder (button label) and the controller success flash so a single override flows through both surfaces.
Class Method Summary collapse
Class Method Details
.resolve(workflow_name, transition) ⇒ Object
13 14 15 16 17 18 |
# File 'lib/lcp_ruby/workflow/transition_label_resolver.rb', line 13 def self.resolve(workflow_name, transition) transition_name = transition.respond_to?(:name) ? transition.name : transition.to_s yaml_label = transition.respond_to?(:label) ? transition.label : nil i18n_key = "lcp_ruby.workflows.#{workflow_name}.transitions.#{transition_name}" I18n.t(i18n_key, default: yaml_label || transition_name.to_s.humanize) end |