class Hanami::Action::Mime::RequestMimeWeight

@since 1.0.1 @api private

Constants

MIME_SEPARATOR

@since 2.0.0 @api private

MIME_WILDCARD

@since 2.0.0 @api private

Attributes

format[R]

@since 1.0.1 @api private

index[R]

@since 1.0.1 @api private

mime[R]

@since 1.0.1 @api private

priority[R]

@since 1.0.1 @api private

quality[R]

@since 1.0.1 @api private

Public Class Methods

new(mime, quality, index, format = mime) click to toggle source

@since 1.0.1 @api private

# File lib/hanami/action/mime/request_mime_weight.rb, line 43
def initialize(mime, quality, index, format = mime)
  @quality, @index, @format = quality, index, format
  calculate_priority(mime)
end

Public Instance Methods

<=>(other) click to toggle source

@since 1.0.1 @api private

# File lib/hanami/action/mime/request_mime_weight.rb, line 50
def <=>(other)
  return priority <=> other.priority unless priority == other.priority

  other.index <=> index
end

Private Instance Methods

calculate_priority(mime) click to toggle source

@since 1.0.1 @api private

# File lib/hanami/action/mime/request_mime_weight.rb, line 60
def calculate_priority(mime)
  @priority ||= (mime.split(MIME_SEPARATOR, 2).count(MIME_WILDCARD) * -10) + quality
end