Class: Ecm::Translations::ImportTranslationsService

Inherits:
Object
  • Object
show all
Defined in:
app/services/ecm/translations/import_translations_service.rb

Defined Under Namespace

Classes: TranslationInFileSystem

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ ImportTranslationsService

Returns a new instance of ImportTranslationsService.



36
37
38
39
# File 'app/services/ecm/translations/import_translations_service.rb', line 36

def initialize(options = {})
  options.reverse_merge!(translations: load_translations_from_backends)
  @source_translations = options[:translations]
end

Class Method Details

.call(*args) ⇒ Object



32
33
34
# File 'app/services/ecm/translations/import_translations_service.rb', line 32

def self.call(*args)
  new(*args).do_work
end

Instance Method Details

#do_workObject



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'app/services/ecm/translations/import_translations_service.rb', line 41

def do_work
  puts "Environment: #{Rails.env}"
  @translations = load_translations
  translations_count = @translations.size
  puts "Processing #{translations_count} translations:"
  @translations.each_with_index do |translation, index|
    puts "  (#{index + 1}/#{translations_count}) #{translation.human}"
    translation = Translation.new(translation.to_translation_attributes_hash)
    if translation.save
      puts "    Created #{translation.human}"
    else
      puts "    Could not create #{translation.human}. Errors: #{translation.errors.full_messages}"
    end
  end
end