summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/mime/type.rb15
-rw-r--r--lib/mime/type/columnar.rb4
-rw-r--r--lib/mime/types.rb1
-rw-r--r--lib/mime/types/_columnar.rb3
-rw-r--r--lib/mime/types/container.rb2
-rw-r--r--lib/mime/types/loader.rb2
-rw-r--r--lib/mime/types/logger.rb6
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