Module: RailsMaint::MaintenancePageHelper
- Included in:
- CLI, Middleware
- Defined in:
- lib/rails_maint/helpers/maintenance_page_helper.rb
Constant Summary collapse
- ALLOWED_LOCALE_PATTERN =
/\A[a-z]{2}(-[A-Z]{2})?\z/
Instance Method Summary collapse
Instance Method Details
#available_locales ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/rails_maint/helpers/maintenance_page_helper.rb', line 21 def available_locales base_path = File.('..', __dir__) locale_dir = File.join(base_path, 'assets/locales') app_locale_dir = 'config/locales' gem_locales = Dir.glob("#{locale_dir}/*.yml").map { |f| File.basename(f, '.yml') } app_locales = if Dir.exist?(app_locale_dir) Dir.glob("#{app_locale_dir}/rails_maint.*.yml") .map { |f| File.basename(f, '.yml').split('.').last } else [] end (gem_locales + app_locales).uniq end |
#default_maintenance_page_content(locale = 'en') ⇒ Object
10 11 12 13 14 15 16 17 18 19 |
# File 'lib/rails_maint/helpers/maintenance_page_helper.rb', line 10 def default_maintenance_page_content(locale = 'en') raise ArgumentError, "Invalid locale format: #{locale.inspect}" unless locale.to_s.match?(ALLOWED_LOCALE_PATTERN) base_path = File.('..', __dir__) css_content = File.read(File.join(base_path, 'assets/default.css')) html_template = File.read(File.join(base_path, 'assets/maintenance.html')) translations = load_translations(base_path, locale) apply_template(html_template, css_content, locale, translations) end |