Sha256: da7abf2e59305572c1422cd92a09262e9161d5fd67825747ba00aedc0bda7300
Contents?: true
Size: 757 Bytes
Versions: 1
Compression:
Stored size: 757 Bytes
Contents
require 'mime/types' module Swagger class MimeType < String extend Forwardable def_delegators :@mime_type, :media_type, :sub_type MIME_TYPE_FORMAT = /(\w+)\/(\w+\.)?([\w\.]+)(\+\w+)?\s*(;.*)?/ 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? super @mime_type_name end private 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 end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
swagger-core-0.2.0 | lib/swagger/mime_type.rb |