class Swagger::MimeType
Class representing Media Types (commonly known as MIME Types). @see en.wikipedia.org/wiki/Internet_media_type
Constants
- COMMON_ALIASES
- MIME_TYPE_FORMAT
Public Class Methods
new(mime_type_name)
click to toggle source
Calls superclass method
# File lib/swagger/mime_type.rb, line 20 def initialize(mime_type_name) @mime_type_name = mime_type_name.to_s @mime_type = MIME::Types[@mime_type_name].first || base_type(@mime_type_name) #fail ArgumentError, "Unknown mime type or suffix: #{mime_type_name}" if @mime_type.nil? @mime_type ||= MIME::Types["text/plain"].first super @mime_type_name end
parser_for(mime_type)
click to toggle source
# File lib/swagger/mime_type.rb, line 28 def self.parser_for(mime_type) mime_type = COMMON_ALIASES[mime_type] if COMMON_ALIASES.key? mime_type case mime_type when 'application/json' return JSON else fail NotImplementedError, "Parser support for #{mime_type} is not implemented" end end
Private Instance Methods
base_type(mime_type_name)
click to toggle source
# File lib/swagger/mime_type.rb, line 40 def base_type(mime_type_name) media_type, _sub_type, _tree, suffix, _parameters = MIME_TYPE_FORMAT.match mime_type_name return MIME::Types["#{media_type}/#{suffix}"].first if media_type && suffix nil end