Module Locale::SystemCGI
In: lib/locale/cgi.rb

Locale::System module for CGI. This is a low-level class. Application shouldn‘t use this directly.

Methods

cgi   cgi=   default_locale   set_cgi   system  

Public Instance methods

Gets the CGI object. If it is nil, returns new CGI object.

  • Returns: the CGI object

[Source]

    # File lib/locale/cgi.rb, line 68
68:     def cgi
69:       @@cgi = CGI.new unless @@cgi
70:       @@cgi
71:     end

Sets a CGI object.

  • cgi_: CGI object
  • Returns: cgi_

[Source]

    # File lib/locale/cgi.rb, line 61
61:     def cgi=(cgi_)
62:       set_cgi(cgi_)
63:       cgi_
64:     end

Gets the default Locale::Object.

  • Returns: the default locale

[Source]

    # File lib/locale/cgi.rb, line 75
75:     def default_locale
76:       @@default_locale
77:     end

Sets a CGI object.

  • cgi_: CGI object
  • Returns: self

[Source]

    # File lib/locale/cgi.rb, line 53
53:     def set_cgi(cgi_)
54:       @@cgi = cgi_
55:       self
56:     end

Gets the default locale using setlocale and nl_langinfo.

[Source]

    # File lib/locale/cgi.rb, line 26
26:     def system
27:       return @@default_locale unless @@cgi
28:       cgi_ = cgi
29:       if cgi_.has_key?("lang") and ret = cgi_["lang"] and ret.size > 0
30:       elsif ret = cgi_.cookies["lang"][0]
31:       elsif lang = cgi_.accept_language and lang.size > 0
32:         num = lang.index(/;|,/)
33:         ret = num ? lang[0, num] : lang
34:       else
35:         ret = @@default_locale.to_str
36:       end
37:  
38:       codesets = cgi_.accept_charset
39:       if codesets and codesets.size > 0
40:         num = codesets.index(',')
41:         codeset = num ? codesets[0, num] : codesets
42:         codeset = @@default_locale.charset if codeset == "*"
43:       else
44:         codeset = @@default_locale.charset
45:       end
46:       Locale::Object.new(ret, nil, codeset)
47:     end

[Validate]