Skip to content

Commit

Permalink
Add default display name for state & event
Browse files Browse the repository at this point in the history
  • Loading branch information
the-spectator committed Oct 13, 2020
1 parent a37370a commit ee6ac4d
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 9 deletions.
3 changes: 2 additions & 1 deletion lib/aasm/core/event.rb
Expand Up @@ -4,7 +4,7 @@ module AASM::Core
class Event
include AASM::DslHelper

attr_reader :name, :state_machine, :options
attr_reader :name, :state_machine, :options, :default_display_name

def initialize(name, state_machine, options = {}, &block)
@name = name
Expand All @@ -13,6 +13,7 @@ def initialize(name, state_machine, options = {}, &block)
@valid_transitions = {}
@guards = Array(options[:guard] || options[:guards] || options[:if])
@unless = Array(options[:unless]) #TODO: This could use a better name
@default_display_name = name.to_s.gsub(/_/, ' ').capitalize

# from aasm4
@options = options # QUESTION: .dup ?
Expand Down
11 changes: 5 additions & 6 deletions lib/aasm/core/state.rb
Expand Up @@ -2,12 +2,13 @@

module AASM::Core
class State
attr_reader :name, :state_machine, :options
attr_reader :name, :state_machine, :options, :default_display_name

def initialize(name, klass, state_machine, options={})
@name = name
@klass = klass
@state_machine = state_machine
@default_display_name = name.to_s.gsub(/_/, ' ').capitalize
update(options)
end

Expand Down Expand Up @@ -55,12 +56,10 @@ def fire_callbacks(action, record, *args)

def display_name
@display_name = begin
if @fixed_display_name
@fixed_display_name
elsif Module.const_defined?(:I18n)
if Module.const_defined?
localized_name
else
name.to_s.gsub(/_/, ' ').capitalize
default_display_name
end
end
end
Expand All @@ -78,7 +77,7 @@ def for_select

def update(options = {})
if options.key?(:display)
@fixed_display_name = options.delete(:display)
@default_display_name = options.delete(:display)
end
@options = options
self
Expand Down
4 changes: 2 additions & 2 deletions lib/aasm/localizer.rb
Expand Up @@ -5,7 +5,7 @@ def human_event_name(klass, event)
list << :"#{i18n_scope(klass)}.events.#{i18n_klass(ancestor)}.#{event}"
list
end
translate_queue(checklist) || I18n.translate(checklist.shift, :default => event.to_s.humanize)
translate_queue(checklist) || I18n.translate(checklist.shift, :default => event.default_display_name)
end

def human_state_name(klass, state)
Expand All @@ -14,7 +14,7 @@ def human_state_name(klass, state)
list << item_for(klass, state, ancestor, :old_style => true)
list
end
translate_queue(checklist) || I18n.translate(checklist.shift, :default => state.to_s.humanize)
translate_queue(checklist) || I18n.translate(checklist.shift, :default => state.default_display_name)
end

private
Expand Down

0 comments on commit ee6ac4d

Please sign in to comment.