Sha256: aa37449f81a7b7ca4482568db537a3db0862ab9531b05aa41f33754e8ce4c559

Contents?: true

Size: 1.33 KB

Versions: 23

Compression:

Stored size: 1.33 KB

Contents

# frozen_string_literal: true

module Effective
  module Resources
    module I18n
      def human_action_name(action)
        if klass.respond_to?(:model_name)
          key = "activerecord.actions.#{klass.model_name.i18n_key}.#{action}"

          value = ::I18n.t(key)
          return value unless value.include?(key) # missing translation
        end

        if crud_actions.include?(action)
          # Raises exception if not present
          return EffectiveResources.et("effective_resources.actions.#{action}")
        end

        action.to_s.titleize
      end

      def human_action_confirm(action)
        if klass.respond_to?(:model_name)
          key = "activerecord.actions.#{klass.model_name.i18n_key}.#{action}_confirm"

          value = ::I18n.t(key)
          return value unless value.include?(key) # missing translation
        end

        "Are you sure you want to #{human_action_name(action).downcase}?"
      end

      def human_name
        if klass.respond_to?(:model_name)
          klass.model_name.human
        else
          name.gsub('::', ' ').underscore.gsub('_', ' ')
        end
      end

      def human_plural_name
        if klass.respond_to?(:model_name)
          klass.model_name.human.pluralize
        else
          name.pluralize.gsub('::', ' ').underscore.gsub('_', ' ')
        end
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
effective_resources-2.27.9 app/models/effective/resources/i18n.rb
effective_resources-2.27.8 app/models/effective/resources/i18n.rb
effective_resources-2.27.7 app/models/effective/resources/i18n.rb
effective_resources-2.27.6 app/models/effective/resources/i18n.rb
effective_resources-2.27.5 app/models/effective/resources/i18n.rb
effective_resources-2.27.4 app/models/effective/resources/i18n.rb
effective_resources-2.27.3 app/models/effective/resources/i18n.rb
effective_resources-2.27.2 app/models/effective/resources/i18n.rb
effective_resources-2.27.1 app/models/effective/resources/i18n.rb
effective_resources-2.27.0 app/models/effective/resources/i18n.rb
effective_resources-2.26.5 app/models/effective/resources/i18n.rb
effective_resources-2.26.4 app/models/effective/resources/i18n.rb
effective_resources-2.26.3 app/models/effective/resources/i18n.rb
effective_resources-2.26.2 app/models/effective/resources/i18n.rb
effective_resources-2.26.1 app/models/effective/resources/i18n.rb
effective_resources-2.26.0 app/models/effective/resources/i18n.rb
effective_resources-2.25.16 app/models/effective/resources/i18n.rb
effective_resources-2.25.15 app/models/effective/resources/i18n.rb
effective_resources-2.25.14 app/models/effective/resources/i18n.rb
effective_resources-2.25.13 app/models/effective/resources/i18n.rb