class Sinatra::Request::AcceptEntry
def <=>(other)
def <=>(other) other.priority <=> 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 = params.to_h @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 || 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