class Rack::Accept::Charset

Represents an HTTP Accept-Charset header according to the HTTP 1.1 specification, and provides several convenience methods for determining acceptable character sets.

www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.2

Public Instance Methods

matches(charset) click to toggle source

Returns an array of character sets from this header that match the given charset, ordered by precedence.

   # File lib/rack/accept/charset.rb
27 def matches(charset)
28   values.select {|v|
29     v == charset || v == '*'
30   }.sort {|a, b|
31     # "*" gets least precedence, any others should be equal.
32     a == '*' ? 1 : (b == '*' ? -1 : 0)
33   }
34 end
name() click to toggle source

The name of this header.

   # File lib/rack/accept/charset.rb
11 def name
12   'Accept-Charset'
13 end
qvalue(charset) click to toggle source

Determines the quality factor (qvalue) of the given charset.

   # File lib/rack/accept/charset.rb
16 def qvalue(charset)
17   m = matches(charset)
18   if m.empty?
19     charset == 'iso-8859-1' ? 1 : 0
20   else
21     normalize_qvalue(@qvalues[m.first])
22   end
23 end