Class: TranslationEngine::Downloader

Inherits:
Object
  • Object
show all
Defined in:
app/models/translation_engine/downloader.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.etag?(etag) ⇒ Boolean

Returns:

  • (Boolean)


5
6
7
8
9
10
# File 'app/models/translation_engine/downloader.rb', line 5

def self.etag?(etag)
  response = @current_etag == etag
  Rails.logger.info { "Translations are up to date" } if response
  @current_etag = etag
  response
end

Instance Method Details

#storeObject



17
18
19
20
21
22
23
24
# File 'app/models/translation_engine/downloader.rb', line 17

def store
  if (yml_data = receive_translations)
    Rails.logger.info { "Storing translations to #{locale_file}" }
    write(locale_file, yml_data)
    add_translation_file_to_i18n
    I18n.backend.reload!
  end
end

#store_release(release) ⇒ Object



26
27
28
29
30
31
32
33
# File 'app/models/translation_engine/downloader.rb', line 26

def store_release(release)
  locale = release.split('_')[0...-1].join('_')
  filename = releases_dir.join("#{locale.downcase}.yml")
  if (yml_data = connection.get_release(release).body)
    Rails.logger.info { "Storing release #{release} to #{filename}" }
    write(filename, yml_data)
  end
end

#updateObject



12
13
14
15
# File 'app/models/translation_engine/downloader.rb', line 12

def update
  return nil if self.class.etag?(connection.get_translations_head[:etag])
  I18n.backend.reload!
end