Sha256: 1cf949ad34eb8f72cb8c0d94d6809811967631e0918c82de646d298cecbca5c6

Contents?: true

Size: 1.13 KB

Versions: 2

Compression:

Stored size: 1.13 KB

Contents

module TranslationCenter

  class AddLangGenerator < Rails::Generators::Base
    include Rails::Generators::Migration
    source_root File.expand_path('../templates', __FILE__)
    argument :langs, type: :array

    def self.next_migration_number(path)
      @migration_number = Time.now.utc.strftime("%Y%m%d%H%M%S%6N").to_i.to_s
    end

    def add_lang
      if langs.blank?
        puts 'Please provide a language to add to the translation center'
        return
      end

      langs.each do |lang|
        @lang = lang
        # check if language already supported
        if(TranslationCenter::TranslationKey.column_names.include? "#{lang.downcase}_status")
          puts 'This language is already supported, just make sure it is listed in config/translation_center.yml'
          return
        end
        # Generate migration templates for the models needed
        migration_template 'migrations/add_lang_status_translation_keys.rb', "db/migrate/add_#{lang.downcase}_status_translation_center_translation_keys.rb"
      end
      puts "Language(s) added, don't forget to add the language(s) to config/translation_center.yml"
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
translation_center-1.0.2 lib/generators/translation_center/add_lang/add_lang_generator.rb
translation_center-1.0.1 lib/generators/translation_center/add_lang/add_lang_generator.rb