class Sinatra::Request::AcceptEntry
def <=>(other)
def <=>(other) other.priority <=> self.priority end
def initialize(entry)
def initialize(entry) params = entry.scan(HEADER_PARAM).map! do |s| key, value = s.strip.split('=', 2) value = value[1..-2].gsub(/\\(.)/, '\1') if value.start_with?('"') [key, value] end @entry = entry @type = entry[/[^;]+/].delete(' ') @params = Hash[params] @q = @params.delete('q') { 1.0 }.to_f end
def method_missing(*args, &block)
def method_missing(*args, &block) to_str.send(*args, &block) end
def priority
def priority # We sort in descending order; better matches should be higher. [ @q, -@type.count('*'), @params.size ] end
def respond_to?(*args)
def respond_to?(*args) super or to_str.respond_to?(*args) end
def to_s(full = false)
def to_s(full = false) full ? entry : to_str end
def to_str
def to_str @type end