class Hanami::Action::Mime::RequestMimeWeight

@since 1.0.1 @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.rb, line 637
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.rb, line 644
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.rb, line 653
def calculate_priority(mime)
  @priority ||= (mime.split('/'.freeze, 2).count('*'.freeze) * -10) + quality
end