diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/mime/type.rb | 15 | ||||
-rw-r--r-- | lib/mime/type/columnar.rb | 4 | ||||
-rw-r--r-- | lib/mime/types.rb | 1 | ||||
-rw-r--r-- | lib/mime/types/_columnar.rb | 3 | ||||
-rw-r--r-- | lib/mime/types/container.rb | 2 | ||||
-rw-r--r-- | lib/mime/types/loader.rb | 2 | ||||
-rw-r--r-- | lib/mime/types/logger.rb | 6 |
7 files changed, 21 insertions, 12 deletions
diff --git a/lib/mime/type.rb b/lib/mime/type.rb index cdf2471..ba7e6bf 100644 --- a/lib/mime/type.rb +++ b/lib/mime/type.rb @@ -25,6 +25,7 @@ end # puts text.ascii? # => true # puts text.obsolete? # => false # puts text.registered? # => true +# puts text.provisional? # => false # puts text.complete? # => true # # puts text # => 'text/plain' @@ -92,7 +93,7 @@ class MIME::Type end # The released version of the mime-types library. - VERSION = "3.3.1" + VERSION = "3.4.0" include Comparable @@ -123,7 +124,7 @@ class MIME::Type # Yields the newly constructed +self+ object. def initialize(content_type) # :yields: self @friendly = {} - @obsolete = @registered = false + @obsolete = @registered = @provisional = false @preferred_extension = @docs = @use_instead = nil self.extensions = [] @@ -419,6 +420,14 @@ class MIME::Type attr_accessor :registered alias_method :registered?, :registered + # Indicates whether the MIME type's registration with IANA is provisional. + attr_accessor :provisional + + # Indicates whether the MIME type's registration with IANA is provisional. + def provisional? + registered? && @provisional + end + # MIME types can be specified to be sent across a network in particular # formats. This method returns +true+ when the MIME::Type encoding is set # to <tt>base64</tt>. @@ -493,6 +502,7 @@ class MIME::Type end end coder["registered"] = registered? + coder["provisional"] = provisional? if provisional? coder["signature"] = signature? if signature? coder end @@ -509,6 +519,7 @@ class MIME::Type self.preferred_extension = coder["preferred-extension"] self.obsolete = coder["obsolete"] || false self.registered = coder["registered"] || false + self.provisional = coder["provisional"] || false self.signature = coder["signature"] self.xrefs = coder["xrefs"] || {} self.use_instead = coder["use-instead"] diff --git a/lib/mime/type/columnar.rb b/lib/mime/type/columnar.rb index 93a3350..1b7c3ca 100644 --- a/lib/mime/type/columnar.rb +++ b/lib/mime/type/columnar.rb @@ -35,8 +35,8 @@ class MIME::Type::Columnar < MIME::Type column :encoding, :encoding= column :docs, :docs= column :preferred_extension, :preferred_extension= - column :obsolete, :obsolete=, :obsolete?, :registered, :registered=, - :registered?, :signature, :signature=, :signature?, file: "flags" + column :obsolete, :obsolete=, :obsolete?, :registered, :registered=, :registered?, :signature, :signature=, + :signature?, :provisional, :provisional=, :provisional?, file: "flags" column :xrefs, :xrefs=, :xref_urls column :use_instead, :use_instead= diff --git a/lib/mime/types.rb b/lib/mime/types.rb index 2cf7fc4..1424666 100644 --- a/lib/mime/types.rb +++ b/lib/mime/types.rb @@ -61,6 +61,7 @@ require "mime/type" # puts plaintext.ascii? # => true # puts plaintext.obsolete? # => false # puts plaintext.registered? # => true +# puts plaintext.provisional? # => false # puts plaintext == 'text/plain' # => true # puts MIME::Type.simplified('x-appl/x-zip') # => 'appl/zip' # diff --git a/lib/mime/types/_columnar.rb b/lib/mime/types/_columnar.rb index 777c316..9f8c132 100644 --- a/lib/mime/types/_columnar.rb +++ b/lib/mime/types/_columnar.rb @@ -19,7 +19,7 @@ module MIME::Types::Columnar end # Load the first column data file (type and extensions). - def load_base_data(path) #:nodoc: + def load_base_data(path) # :nodoc: @__root__ = path each_file_line("content_type", false) do |line| @@ -85,6 +85,7 @@ module MIME::Types::Columnar type.instance_variable_set(:@obsolete, flag(line.shift)) type.instance_variable_set(:@registered, flag(line.shift)) type.instance_variable_set(:@signature, flag(line.shift)) + type.instance_variable_set(:@provisional, flag(line.shift)) end end diff --git a/lib/mime/types/container.rb b/lib/mime/types/container.rb index 094682b..441debe 100644 --- a/lib/mime/types/container.rb +++ b/lib/mime/types/container.rb @@ -9,7 +9,7 @@ require "forwardable" # format (plus, a default of a mutable object resuls in a shared mess). # Hash#default_proc cannot be used without a wrapper because it prevents # Marshal serialization (and doesn't survive the round-trip). -class MIME::Types::Container #:nodoc: +class MIME::Types::Container # :nodoc: extend Forwardable def initialize(hash = {}) diff --git a/lib/mime/types/loader.rb b/lib/mime/types/loader.rb index 74fa63f..d6450c5 100644 --- a/lib/mime/types/loader.rb +++ b/lib/mime/types/loader.rb @@ -1,7 +1,5 @@ # frozen_string_literal: true -# -*- ruby encoding: utf-8 -*- - ## module MIME; end diff --git a/lib/mime/types/logger.rb b/lib/mime/types/logger.rb index a065fc3..894f47c 100644 --- a/lib/mime/types/logger.rb +++ b/lib/mime/types/logger.rb @@ -1,7 +1,5 @@ # frozen_string_literal: true -# -*- ruby encoding: utf-8 -*- - require "logger" ## @@ -14,8 +12,8 @@ module MIME attr_accessor :logger end - class WarnLogger < ::Logger #:nodoc: - class WarnLogDevice < ::Logger::LogDevice #:nodoc: + class WarnLogger < ::Logger # :nodoc: + class WarnLogDevice < ::Logger::LogDevice # :nodoc: def initialize(*) end |