Module: LocaleSetter

Includes:
Rails
Defined in:
lib/locale_setter.rb,
lib/locale_setter/http.rb,
lib/locale_setter/user.rb,
lib/locale_setter/param.rb,
lib/locale_setter/rails.rb,
lib/locale_setter/matcher.rb,
lib/locale_setter/version.rb

Defined Under Namespace

Modules: HTTP, Matcher, Param, Rails, User

Constant Summary collapse

VERSION =
"0.1.0"

Instance Attribute Summary

Attributes included from Rails

#i18n

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Rails

#default_url_options

Class Method Details

.included(controller) ⇒ Object



11
12
13
14
15
# File 'lib/locale_setter.rb', line 11

def self.included(controller)
  if controller.respond_to?(:before_filter)
    controller.before_filter :set_locale
  end
end

Instance Method Details

#from_httpObject



30
31
32
33
34
# File 'lib/locale_setter.rb', line 30

def from_http
  if respond_to?(:request) && request.env && request.env['HTTP_ACCEPT_LANGUAGE']
    LocaleSetter::HTTP.for(request.env['HTTP_ACCEPT_LANGUAGE'])
  end
end

#from_paramsObject



36
37
38
39
40
# File 'lib/locale_setter.rb', line 36

def from_params
  if respond_to?(:params) && params[:locale]
    LocaleSetter::Param.for(params[:locale])
  end
end

#from_userObject



24
25
26
27
28
# File 'lib/locale_setter.rb', line 24

def from_user
  if respond_to?(:current_user) && current_user
    LocaleSetter::User.for(current_user)
  end
end

#set_localeObject



17
18
19
20
21
22
# File 'lib/locale_setter.rb', line 17

def set_locale
  i18n.locale = from_params ||
                from_user   ||
                from_http   ||
                i18n.default_locale
end