entry<String> |
The accept type pattern |
index<Fixnum> |
The index used for sorting accept types. A lower value indicates higher priority. |
:api: private
# File lib/merb-core/controller/mixins/responder.rb, line 417 def initialize(entry,index) @index = index entry =~ /\s*([^;\s]*)\s*(;\s*q=\s*(.*))?/ @media_range, quality = $1, $3 @type, @sub_type = @media_range.split(%{/}) (quality ||= 0.0) if @media_range == "*/*" @quality = quality ? (quality.to_f * 100).to_i : 100 @quality *= (mime && mime[:default_quality] || 1) end
Compares two accept types for sorting purposes.
entry<AcceptType> |
The accept type to compare. |
Fixnum |
-1, 0 or 1, depending on whether entry has a lower, equal or higher priority than the accept type being compared. |
:api: private
# File lib/merb-core/controller/mixins/responder.rb, line 440 def <=>(entry) if entry.quality == quality @index <=> entry.index else entry.quality <=> @quality end end
An alias for eql?.
:api: private
# File lib/merb-core/controller/mixins/responder.rb, line 465 def ==(entry); eql?(entry); end
entry<AcceptType> |
The accept type to compare. |
Boolean |
True if the accept types are equal, i.e. if the synonyms for this accept type includes the entry media range. |
:api: private
# File lib/merb-core/controller/mixins/responder.rb, line 458 def eql?(entry) synonyms.include?(entry.media_range) end
Fixnum |
A hash based on the super range. |
:api: private
# File lib/merb-core/controller/mixins/responder.rb, line 471 def hash; super_range.hash; end
:api: private
# File lib/merb-core/controller/mixins/responder.rb, line 488 def mime @mime ||= Merb.available_mime_types[Merb::ResponderMixin::MIMES[@media_range]] end
The primary media range for this accept type, i.e. either the first synonym or, if none exist, the media range. |
:api: private
# File lib/merb-core/controller/mixins/responder.rb, line 498 def super_range synonyms.first || @media_range end
All Accept header values, such as "text/html", that match this type. |
:api: private
# File lib/merb-core/controller/mixins/responder.rb, line 478 def synonyms return @syns if @syns if _mime = mime @syns = _mime[:accepts] else @syns = [] end end
Generated with the Darkfish Rdoc Generator 2.