Method: I18n::Inflector::Interpolate#key_to_pattern

Defined in:
lib/i18n-inflector/interpolate.rb

#key_to_pattern(key) ⇒ String

This method creates an inflection pattern by collecting information contained in a key-based inflection data.

Parameters:

  • key (Hash)

    the given key

Returns:

  • (String)

    the inflection pattern



94
95
96
97
98
99
100
101
102
103
104
105
# File 'lib/i18n-inflector/interpolate.rb', line 94

def key_to_pattern(key)
  key  = key.dup
  pref = key.delete(:@prefix).to_s
  suff = key.delete(:@suffix).to_s
  kind = key.delete(:@kind).to_s
  free = key.delete(:@free)
  free = free.nil? ? "" : ("" << Operators::Tokens::OR << free.to_s)

  "" << pref << Markers::PATTERN << kind << Markers::PATTERN_BEGIN  <<
  key.map { |k,v| "" << k.to_s << Operators::Tokens::ASSIGN << v.to_s }.
  join(Operators::Tokens::OR) << free << Markers::PATTERN_END << suff
end