module MagicLocaleHelper::InstanceMethods

Private Instance Methods

acceptable_locale?( locale ) click to toggle source
# File lib/magic_locales/magic_locale_helper.rb, line 31
def acceptable_locale?( locale )
  system_locales.include?( locale.to_s )
end
get_accepted_locale() click to toggle source
# File lib/magic_locales/magic_locale_helper.rb, line 13
def get_accepted_locale
  if params[:locale] && !params[:locale].blank?
    params[:locale]
  elsif session[:user_locale] && !session[:user_locale].blank?
    session[:user_locale]
  elsif request.env["HTTP_ACCEPT_LANGUAGE"] && !request.env["HTTP_ACCEPT_LANGUAGE"].blank?
    if acceptable_locale?( request.env["HTTP_ACCEPT_LANGUAGE"].to_sym )
      request.env["HTTP_ACCEPT_LANGUAGE"]
    elsif acceptable_locale?( request.env["HTTP_ACCEPT_LANGUAGE"].split("-")[0].to_sym )
      request.env["HTTP_ACCEPT_LANGUAGE"].split("-")[0]
    else
      I18n.default_locale
    end
  else
    I18n.default_locale
  end
end
get_system_locales() click to toggle source
# File lib/magic_locales/magic_locale_helper.rb, line 35
def get_system_locales
  if Rails.env.production?
    MagicLocales::Locale.where(locale_state: "live")
  else
    MagicLocales::Locale.where(locale_state: ["active","live"])
  end
end
get_user_language() click to toggle source
# File lib/magic_locales/magic_locale_helper.rb, line 8
def get_user_language
  @accept_locale ||= get_accepted_locale
  I18n.locale = @accept_locale.to_sym
end
system_locales() click to toggle source
# File lib/magic_locales/magic_locale_helper.rb, line 43
def system_locales
  get_system_locales.map(&:iso_code)
end