class FunctionalLightService::LocalizationAdapter

Public Instance Methods

failure(message_or_key, action_class, i18n_options = {}) click to toggle source
# File lib/functional-light-service/localization_adapter.rb, line 5
def failure(message_or_key, action_class, i18n_options = {})
  find_translated_message(message_or_key,
                          action_class,
                          i18n_options,
                          :type => :failure)
end
success(message_or_key, action_class, i18n_options = {}) click to toggle source
# File lib/functional-light-service/localization_adapter.rb, line 12
def success(message_or_key, action_class, i18n_options = {})
  find_translated_message(message_or_key,
                          action_class,
                          i18n_options,
                          :type => :success)
end

Private Instance Methods

find_translated_message(message_or_key, action_class, i18n_options, type) click to toggle source
# File lib/functional-light-service/localization_adapter.rb, line 21
def find_translated_message(message_or_key,
                            action_class,
                            i18n_options,
                            type)
  if message_or_key.is_a?(Symbol)
    i18n_options.merge!(type)
    translate(message_or_key, action_class, i18n_options)
  else
    message_or_key
  end
end
i18n_scope_from_class(action_class, type) click to toggle source
# File lib/functional-light-service/localization_adapter.rb, line 42
def i18n_scope_from_class(action_class, type)
  inflector = Dry::Inflector.new
  "#{inflector.underscore(action_class.name)}.light_service.#{inflector.pluralize(type)}"
end
translate(key, action_class, options = {}) click to toggle source
# File lib/functional-light-service/localization_adapter.rb, line 33
def translate(key, action_class, options = {})
  type = options.delete(:type)

  scope = i18n_scope_from_class(action_class, type)
  options[:scope] = scope

  I18n.t(key, **options)
end