Class: AlchemyI18n::Generators::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- AlchemyI18n::Generators::InstallGenerator
- Defined in:
- lib/generators/alchemy_i18n/install/install_generator.rb
Class Method Summary collapse
Instance Method Summary collapse
- #add_rails_i18n ⇒ Object
- #add_russian_gem ⇒ Object
- #append_assets ⇒ Object
- #append_manifest ⇒ Object
- #copy_locales ⇒ Object
- #copy_tinymce_locales ⇒ Object
Class Method Details
.description ⇒ Object
11 12 13 14 |
# 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 |
Instance Method Details
#add_rails_i18n ⇒ Object
58 59 60 61 62 |
# 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 ⇒ Object
64 65 66 67 68 |
# 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 ⇒ Object
33 34 35 36 37 38 39 40 41 |
# 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 ⇒ Object
50 51 52 53 54 55 56 |
# 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 ⇒ Object
23 24 25 26 27 28 29 30 31 |
# 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 ⇒ Object
43 44 45 46 47 48 |
# 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 |