Class: Cyberweb::REST::MimeTypeEntry

Inherits:
Object
  • Object
show all
Defined in:
lib/cyberweb/REST/base/mime_type_entry.rb

Overview

Cyberweb::REST::MimeTypeEntry

Instance Method Summary collapse

Constructor Details

#initialize(entry) ⇒ MimeTypeEntry

#

initialize

#


18
19
20
21
22
23
24
25
26
27
28
# File 'lib/cyberweb/REST/base/mime_type_entry.rb', line 18

def initialize(entry)
  params = entry.scan(HEADER_PARAM).map! { |s|
    key, value = s.strip.split('=', 2)
    if value.start_with?('"')
      value = value[1..-2].gsub(/\\(.)/, '\1')
    end
    [key, value]
  }
  @type   = entry[/[^;]+/].delete(' ')
  @params = params.to_h
end

Instance Method Details

#accepts?(entry) ⇒ Boolean

#

accepts?

#

Returns:

  • (Boolean)


33
34
35
# File 'lib/cyberweb/REST/base/mime_type_entry.rb', line 33

def accepts?(entry)
  File.fnmatch(entry, self) && matches_params?(entry.params)
end

#matches_params?(params) ⇒ Boolean

#

matches_params?

#

Returns:

  • (Boolean)


54
55
56
57
58
59
# File 'lib/cyberweb/REST/base/mime_type_entry.rb', line 54

def matches_params?(params)
  return true if @params.empty?
  params.all? { |key, value|
    !@params.key?(key) || @params[key] == value
  }
end

#params?Boolean Also known as: params

#

params?

#

Returns:

  • (Boolean)


40
41
42
# File 'lib/cyberweb/REST/base/mime_type_entry.rb', line 40

def params?
  @params
end

#to_strObject

#

to_str

#


47
48
49
# File 'lib/cyberweb/REST/base/mime_type_entry.rb', line 47

def to_str
  @type
end