Sha256: 44440227175aa382c083efc5fa0d988f04b441385a20386adab114bc7bcc5425

Contents?: true

Size: 1.24 KB

Versions: 14

Compression:

Stored size: 1.24 KB

Contents

# frozen_string_literal: true
require 'active_support/concern'

module BaseEditingBootstrap
  module ActionTranslation

    extend ActiveSupport::Concern

    class_methods do

      ##
      # Viene generato un messaggio rispetto all'azione nel caso di successo o fallimento
      # i messaggi seguono la stessa logica del human_attribute_name con inheritance delle classi`
      #
      # {i18n_scope della classe}.{successful|unsuccessful}.messages.{class_name}.{action}
      # {i18n_scope della classe}.{successful|unsuccessful}.messages.{class_ancestors}.{action}
      # {i18n_scope della classe}.{successful|unsuccessful}.messages.{action}
      def human_action_message(action:, successful: true, **options)

        successful_string = successful ? "successful" : "unsuccessful"

        defaults = lookup_ancestors.map do |klass|
          :"#{i18n_scope}.#{successful_string}.messages.#{klass.model_name.i18n_key}.#{action}"
        end

        defaults << options[:default] if options[:default]
        defaults << :"#{i18n_scope}.#{successful_string}.messages.#{action}"

        options.reverse_merge!(model: model_name.human)

        I18n.t(
          defaults.shift,
          default: defaults,
          **options
        )
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
base_editing_bootstrap-1.7.0 lib/base_editing_bootstrap/action_translation.rb
base_editing_bootstrap-1.6.0 lib/base_editing_bootstrap/action_translation.rb
base_editing_bootstrap-1.5.1 lib/base_editing_bootstrap/action_translation.rb
base_editing_bootstrap-1.5.0 lib/base_editing_bootstrap/action_translation.rb
base_editing_bootstrap-1.4.0 lib/base_editing_bootstrap/action_translation.rb
base_editing_bootstrap-1.3.2 lib/base_editing_bootstrap/action_translation.rb
base_editing_bootstrap-1.3.1 lib/base_editing_bootstrap/action_translation.rb
base_editing_bootstrap-1.3.0 lib/base_editing_bootstrap/action_translation.rb
base_editing_bootstrap-1.2.0 lib/base_editing_bootstrap/action_translation.rb
base_editing_bootstrap-1.1.0 lib/base_editing_bootstrap/action_translation.rb
base_editing_bootstrap-1.0.0 lib/base_editing_bootstrap/action_translation.rb
base_editing_bootstrap-0.16.1 lib/base_editing_bootstrap/action_translation.rb
base_editing_bootstrap-0.16.0 lib/base_editing_bootstrap/action_translation.rb
base_editing_bootstrap-0.15.0 lib/base_editing_bootstrap/action_translation.rb