module StampL10n::StampExtension

Public Instance Methods

l_stamp(example, locale = I18n.locale)
Alias for: locale_stamp
locale_stamp(example, locale = I18n.locale) click to toggle source
# File lib/stamp-l10n/stamp_extension.rb, line 3
def locale_stamp(example, locale = I18n.locale)
  memoize_locale_stamp_emitters(example, locale).format(self)
end
Also aliased as: l_stamp

Private Instance Methods

locale_stamp_emitters(example, locale = I18n.locale) click to toggle source
# File lib/stamp-l10n/stamp_extension.rb, line 10
def locale_stamp_emitters(example, locale = I18n.locale)
  emitters = ::Stamp::Translator.new.translate_with_locale(example, locale)
  Disambiguator.new(emitters).disambiguate!
end
memoize_locale_stamp_emitters(example, locale = I18n.locale) click to toggle source
# File lib/stamp-l10n/stamp_extension.rb, line 21
def memoize_locale_stamp_emitters(example, locale = I18n.locale)
  @@memoized_stamp_emitters ||= {} # rubocop:disable Style/ClassVars
  @@memoized_stamp_emitters[example] ||= {}
  @@memoized_stamp_emitters[example][locale.to_sym] ||= locale_stamp_emitters(example, locale)
end
memoize_stamp_emitters(example) click to toggle source
# File lib/stamp-l10n/stamp_extension.rb, line 15
def memoize_stamp_emitters(example)
  @@memoized_stamp_emitters ||= {} # rubocop:disable Style/ClassVars
  @@memoized_stamp_emitters[example] ||= {}
  @@memoized_stamp_emitters[example][:en] ||= stamp_emitters(example)
end