Class/Module Index [+]

Quicksearch

Padrino::Contrib::AutoLocale

This extension give to padrino the ability to change their locale inspecting.

Usage

class MyApp < Padrino::Application
  register AutoLocale
  set :locales, [:en, :ru, :de] # First locale is the default locale
end

# view.haml
=link_to "View this page in RU Version", switch_to_lang(:ru)

So when we call an url like: /ru/blog/posts this extension set for you :ru as I18n.locale

Public Class Methods

padrino_route_added(route, verb, path, args, options, block) click to toggle source
# File lib/padrino-contrib/auto_locale.rb, line 42
def self.padrino_route_added(route, verb, path, args, options, block)
  route.instance_variable_set(:@original_path, "/:lang#{route.original_path}") unless route.original_path =~/:lang/
end
registered(app) click to toggle source
# File lib/padrino-contrib/auto_locale.rb, line 29
def self.registered(app)
  app.helpers Padrino::Contrib::AutoLocale::Helpers
  app.extend ClassMethods
  app.set :locales, [:en]
  app.before do
    if request.path_info =~ /^\/(#{settings.locales.join('|')})\b/
      I18n.locale = $1.to_sym
    else
      I18n.locale = settings.locales[0]
      not_found if request.path_info !~ /^\/?$/
    end
  end

  def self.padrino_route_added(route, verb, path, args, options, block)
    route.instance_variable_set(:@original_path, "/:lang#{route.original_path}") unless route.original_path =~/:lang/
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.