Sha256: f79e4186b1abfc8c0990b8142363435f41bcfeab46fc7d3efc5aeca746324b80
Contents?: true
Size: 993 Bytes
Versions: 1
Compression:
Stored size: 993 Bytes
Contents
module Rack::Accept # Represents an HTTP Accept-Charset header according to the HTTP 1.1 # specification, and provides several convenience methods for determining # acceptable character sets. # # http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.2 class Charset include Header # The name of this header. def name 'Accept-Charset' end # Determines the quality factor (qvalue) of the given +charset+. def qvalue(charset) m = matches(charset) if m.empty? charset == 'iso-8859-1' ? 1 : 0 else normalize_qvalue(@qvalues[m.first]) end end # Returns an array of character sets from this header that match the given # +charset+, ordered by precedence. def matches(charset) values.select {|v| v == charset || v == '*' }.sort {|a, b| # "*" gets least precedence, any others should be equal. a == '*' ? 1 : (b == '*' ? -1 : 0) } end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rack-accept-0.4.2 | lib/rack/accept/charset.rb |