class Ramaze::Helper::Localize::Parser

Attributes

request[RW]

Public Class Methods

new(request) click to toggle source
# File lib/ramaze/helper/localize.rb, line 108
def initialize(request)
  @request = request
end

Public Instance Methods

locales(fallback = nil) click to toggle source
# File lib/ramaze/helper/localize.rb, line 112
def locales(fallback = nil)
  locales = [parse, fallback].flatten.uniq
  ::Locale::TagList.new(locales)
end
parse() click to toggle source
# File lib/ramaze/helper/localize.rb, line 117
def parse
  parse_params || parse_session || parse_cookie || parse_header
end
parse_header() click to toggle source
# File lib/ramaze/helper/localize.rb, line 136
def parse_header
  request.accept_language.map{|lang|
    ::Locale::Tag.parse(lang) }
end
parse_params(key = 'lang') click to toggle source
# File lib/ramaze/helper/localize.rb, line 121
def parse_params(key = 'lang')
  return unless lang = request.params[key]
  ::Locale::Tag.parse(lang)
end
parse_session(key = :lang) click to toggle source
# File lib/ramaze/helper/localize.rb, line 126
def parse_session(key = :lang)
  return unless lang = Current.session[key]
  ::Locale::Tag.parse(lang)
end