class AlchemyI18n::Generators::InstallGenerator
Public Class Methods
description()
click to toggle source
# File lib/generators/alchemy_i18n/install/install_generator.rb, line 11 def self.description locales = Alchemy::I18n.available_locales.reject { |l| l == :en }.to_sentence "Available locales are #{locales}" end
Public Instance Methods
add_rails_i18n()
click to toggle source
# File lib/generators/alchemy_i18n/install/install_generator.rb, line 58 def add_rails_i18n environment do "config.i18n.available_locales = #{locales.map(&:to_sym).inspect}" end end
add_russian_gem()
click to toggle source
# File lib/generators/alchemy_i18n/install/install_generator.rb, line 64 def add_russian_gem if locales.include?('ru') gem 'russian', '~> 0.6' end end
append_assets()
click to toggle source
# File lib/generators/alchemy_i18n/install/install_generator.rb, line 33 def append_assets locales.each do |locale| append_file 'vendor/assets/javascripts/alchemy/admin/all.js', <<~ASSETS //= require alchemy_i18n/#{locale} //= require select2_locale_#{locale} //= require flatpickr/#{locale} ASSETS end end
append_manifest()
click to toggle source
# File lib/generators/alchemy_i18n/install/install_generator.rb, line 50 def append_manifest locales.each do |locale| append_file 'app/assets/config/manifest.js', <<~MANIFEST //= link tinymce/langs/#{locale}.js MANIFEST end end
copy_locales()
click to toggle source
# File lib/generators/alchemy_i18n/install/install_generator.rb, line 23 def copy_locales locales.each do |locale| yml_filename = "alchemy.#{locale}.yml" copy_file File.join('locales', yml_filename), Rails.root.join('config', 'locales', yml_filename) js_filename = "#{locale}.js" copy_file File.join('app', 'assets', 'javascripts', 'alchemy_i18n', js_filename), Rails.root.join('vendor', 'assets', 'javascripts', 'alchemy_i18n', js_filename) copy_file File.join('vendor', 'assets', 'javascripts', 'flatpickr', js_filename), Rails.root.join('vendor', 'assets', 'javascripts', 'flatpickr', js_filename) end end
copy_tinymce_locales()
click to toggle source
# File lib/generators/alchemy_i18n/install/install_generator.rb, line 43 def copy_tinymce_locales locales.each do |locale| copy_file File.join("locales", "tinymce", "#{locale}.js"), Rails.root.join('vendor', 'assets', 'javascripts', 'tinymce', 'langs', "#{locale}.js") end end
Private Instance Methods
ask_locales()
click to toggle source
# File lib/generators/alchemy_i18n/install/install_generator.rb, line 78 def ask_locales ask <<~LOCALES Which locales should we generate files for? #{self.class.description} (seperate multiple locales with space): LOCALES end
locales()
click to toggle source
# File lib/generators/alchemy_i18n/install/install_generator.rb, line 72 def locales @_locales ||= begin options[:locales].presence || ask_locales.split(' ') end end