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_http ⇒ Object
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_params ⇒ Object
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_user ⇒ Object
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_locale ⇒ Object
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
|