Class: Protocol::HTTP::Header::Accept::MediaRange

Inherits:
Struct
  • Object
show all
Defined in:
lib/protocol/http/header/accept.rb

Overview

A single entry in the Accept: header, which includes a mime type and associated parameters. A media range can include wild cards, but a media type is a specific type and subtype.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(type, subtype = "*", parameters = {}) ⇒ MediaRange

Returns a new instance of MediaRange.



33
34
35
# File 'lib/protocol/http/header/accept.rb', line 33

def initialize(type, subtype = "*", parameters = {})
  super(type, subtype, parameters)
end

Instance Attribute Details

#parametersObject

Returns the value of attribute parameters

Returns:

  • (Object)

    the current value of parameters



32
33
34
# File 'lib/protocol/http/header/accept.rb', line 32

def parameters
  @parameters
end

#subtypeObject

Returns the value of attribute subtype

Returns:

  • (Object)

    the current value of subtype



32
33
34
# File 'lib/protocol/http/header/accept.rb', line 32

def subtype
  @subtype
end

#typeObject

Returns the value of attribute type

Returns:

  • (Object)

    the current value of type



32
33
34
# File 'lib/protocol/http/header/accept.rb', line 32

def type
  @type
end

Instance Method Details

#<=>(other) ⇒ Object



37
38
39
# File 'lib/protocol/http/header/accept.rb', line 37

def <=> other
  other.quality_factor <=> self.quality_factor
end

#quality_factorObject



55
56
57
# File 'lib/protocol/http/header/accept.rb', line 55

def quality_factor
  parameters.fetch("q", 1.0).to_f
end

#to_sObject Also known as: to_str



49
50
51
# File 'lib/protocol/http/header/accept.rb', line 49

def to_s
  "#{type}/#{subtype}#{parameters_string}"
end