Class: Lolita::I18n::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/lolita-i18n/request.rb

Defined Under Namespace

Classes: ExportXls, Translation, Translations, Validator

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params) ⇒ Request

Returns a new instance of Request.



191
192
193
# File 'lib/lolita-i18n/request.rb', line 191

def initialize(params)
  self.params = params
end

Instance Attribute Details

#paramsObject

Returns the value of attribute params.



189
190
191
# File 'lib/lolita-i18n/request.rb', line 189

def params
  @params
end

Instance Method Details

#sort_translations(unsorted_translations) ⇒ Object



202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
# File 'lib/lolita-i18n/request.rb', line 202

def sort_translations(unsorted_translations)
  unsorted_translations.sort do |pair_a,pair_b|
    value_a,value_b = pair_a[1][:original_translation],pair_b[1][:original_translation]

    if both_values_complex?(value_a, value_b)
      0
    elsif complex_value?(value_a,value_b)
      -1
    elsif complex_value?(value_b,value_a)
      1
    else
      UnicodeUtils.upcase(value_a.to_s) <=> UnicodeUtils.upcase(value_b.to_s)
    end
  end
end

#translations(locale) ⇒ Object



195
196
197
198
199
200
# File 'lib/lolita-i18n/request.rb', line 195

def translations locale
  return @translations if defined?(@translations)
  Lolita.i18n.load_translations
  translations = Translations.new(Lolita.i18n.yaml_backend.send(:translations)[::I18n.default_locale])
  @translations = translations.normalized(locale)
end

#update_keyObject



218
219
220
# File 'lib/lolita-i18n/request.rb', line 218

def update_key
  set(Base64.decode64(params[:id]),params[:translation])
end

#validatorObject



222
223
224
# File 'lib/lolita-i18n/request.rb', line 222

def validator
  @validator ||= Validator.new()
end

#xls(locale) ⇒ Object



226
227
228
229
# File 'lib/lolita-i18n/request.rb', line 226

def xls(locale)
  return @xls if defined?(@xls)
  @xls = ExportXls.new(translations(locale)).to_a
end