Uses the default_display_name for localizer

This commit is contained in:
Akshay Birajdar 2020-10-14 00:54:01 +05:30 committed by Anil Kumar Maurya
parent 92e65558d4
commit 8560d40896
3 changed files with 13 additions and 4 deletions

View File

@ -4,7 +4,7 @@ module AASM::Core
class Event class Event
include AASM::DslHelper 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) def initialize(name, state_machine, options = {}, &block)
@name = name @name = name
@ -13,6 +13,7 @@ module AASM::Core
@valid_transitions = {} @valid_transitions = {}
@guards = Array(options[:guard] || options[:guards] || options[:if]) @guards = Array(options[:guard] || options[:guards] || options[:if])
@unless = Array(options[:unless]) #TODO: This could use a better name @unless = Array(options[:unless]) #TODO: This could use a better name
@default_display_name = name.to_s.gsub(/_/, ' ').capitalize
# from aasm4 # from aasm4
@options = options # QUESTION: .dup ? @options = options # QUESTION: .dup ?

View File

@ -2,7 +2,7 @@
module AASM::Core module AASM::Core
class State class State
attr_reader :name, :state_machine, :options attr_reader :name, :state_machine, :options, :default_display_name
def initialize(name, klass, state_machine, options={}) def initialize(name, klass, state_machine, options={})
@name = name @name = name

View File

@ -5,7 +5,7 @@ module AASM
list << :"#{i18n_scope(klass)}.events.#{i18n_klass(ancestor)}.#{event}" list << :"#{i18n_scope(klass)}.events.#{i18n_klass(ancestor)}.#{event}"
list list
end end
translate_queue(checklist) || I18n.translate(checklist.shift, :default => event.to_s.gsub(/_/, ' ').capitalize) translate_queue(checklist) || I18n.translate(checklist.shift, :default => default_display_name(event))
end end
def human_state_name(klass, state) def human_state_name(klass, state)
@ -14,7 +14,7 @@ module AASM
list << item_for(klass, state, ancestor, :old_style => true) list << item_for(klass, state, ancestor, :old_style => true)
list list
end end
translate_queue(checklist) || I18n.translate(checklist.shift, :default => state.to_s.gsub(/_/, ' ').capitalize) translate_queue(checklist) || I18n.translate(checklist.shift, :default => default_display_name(state))
end end
private private
@ -52,5 +52,13 @@ module AASM
ancestor.respond_to?(:model_name) && not_active_record_base ancestor.respond_to?(:model_name) && not_active_record_base
end end
end end
def default_display_name(object) # Can use better arguement name
if object.respond_to?(:default_display_name)
object.default_display_name
else
object.to_s.gsub(/_/, ' ').capitalize
end
end
end end
end # AASM end # AASM