maestrano/mno-enterprise

View on GitHub
frontend/lib/tasks/mnoe_locales.rake

Summary

Maintainability
Test Coverage
#=============================================
# Enterprise Express Locales Tasks
#=============================================
# Enterprise Express tasks related to locales management
namespace :mnoe do
  namespace :locales do
    locales_dist_folder = 'public/dashboard/locales'
    locales_tmp_folder = 'tmp/build/frontend/src/locales'

    desc "Generate JSON locales"
    task :generate => :environment do
      MnoEnterprise::Frontend::LocalesGenerator.new(locales_tmp_folder).generate_json

      # Copy locales to public
      cp_r("#{locales_tmp_folder}/.","#{locales_dist_folder}/")

      Rake::Task['mnoe:locales:impac'].invoke
    end

    desc "Copy impac locales to the public locales folder"
    task :impac do
      locales_impac_folder = 'tmp/build/frontend/bower_components/impac-angular/dist/locales'

      # impac-angular < 1.5.0-rc8 doesn't contain locales
      if Dir.exists?(locales_impac_folder)
        cp_r("#{locales_impac_folder}/.","#{locales_dist_folder}/impac/")

        # TODO: remove when locales moved to four letters
        # 4-letters locales --> 2-letters locales
        dir = "#{locales_dist_folder}/impac/"
        Dir.foreach(dir) do |f|
          next unless f.include?(".json")
          File.rename("#{dir}#{f}", "#{dir}#{f.slice(0,2)}.json")
        end
      end
    end
  end
end