class Merb::AcceptType
Attributes
index[R]
media_range[R]
quality[R]
sub_type[R]
type[R]
Public Class Methods
new(entry,index)
click to toggle source
Parameters¶ ↑
- 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(%r{/}) (quality ||= 0.0) if @media_range == "*/*" @quality = quality ? (quality.to_f * 100).to_i : 100 @quality *= (mime && mime[:default_quality] || 1) end
Public Instance Methods
<=>(entry)
click to toggle source
Compares two accept types for sorting purposes.
Parameters¶ ↑
- entry<AcceptType>
-
The accept type to compare.
Returns¶ ↑
- 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
==(entry)
click to toggle source
An alias for eql?.
:api: private
# File lib/merb-core/controller/mixins/responder.rb, line 465 def ==(entry); eql?(entry); end
eql?(entry)
click to toggle source
Parameters¶ ↑
- entry<AcceptType>
-
The accept type to compare.
Returns¶ ↑
- 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
hash()
click to toggle source
mime()
click to toggle source
: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
super_range()
click to toggle source
synonyms()
click to toggle source
to_s()
click to toggle source