Sha256: 228de187b856179323674f1a1f7d330a27aeacdf29229d319701fd106dbc0004

Contents?: true

Size: 683 Bytes

Versions: 22

Compression:

Stored size: 683 Bytes

Contents

require_relative 'node_base'

require 'mime-types'

module XML
  module MappingExtensions

    # Converts MIME type strings to `MIME::Type` objects
    class MimeTypeNode < NodeBase

      # Converts a MIME type string to a `MIME::Type` object,
      # either the first corresponding value in the `MIME::Types`
      # registry, or a newly created value.
      # @param xml_text the MIME type string
      # @return [MIME::Type] the corresponding `MIME::Type`
      def to_value(xml_text)
        if (mt = MIME::Types[xml_text].first)
          mt
        else
          MIME::Type.new(xml_text)
        end
      end
    end
    ::XML::Mapping.add_node_class MimeTypeNode
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
xml-mapping_extensions-0.4.9 lib/xml/mapping_extensions/mime_type_node.rb
xml-mapping_extensions-0.4.8 lib/xml/mapping_extensions/mime_type_node.rb
xml-mapping_extensions-0.4.7 lib/xml/mapping_extensions/mime_type_node.rb
xml-mapping_extensions-0.4.6 lib/xml/mapping_extensions/mime_type_node.rb
xml-mapping_extensions-0.4.5 lib/xml/mapping_extensions/mime_type_node.rb
xml-mapping_extensions-0.4.4 lib/xml/mapping_extensions/mime_type_node.rb
xml-mapping_extensions-0.4.3 lib/xml/mapping_extensions/mime_type_node.rb
xml-mapping_extensions-0.4.2 lib/xml/mapping_extensions/mime_type_node.rb
xml-mapping_extensions-0.4.1 lib/xml/mapping_extensions/mime_type_node.rb
xml-mapping_extensions-0.4.0 lib/xml/mapping_extensions/mime_type_node.rb
xml-mapping_extensions-0.3.7 lib/xml/mapping_extensions/mime_type_node.rb
xml-mapping_extensions-0.3.6 lib/xml/mapping_extensions/mime_type_node.rb
xml-mapping_extensions-0.3.5 lib/xml/mapping_extensions/mime_type_node.rb
xml-mapping_extensions-0.3.4 lib/xml/mapping_extensions/mime_type_node.rb
xml-mapping_extensions-0.3.3 lib/xml/mapping_extensions/mime_type_node.rb
xml-mapping_extensions-0.3.2 lib/xml/mapping_extensions/mime_type_node.rb
xml-mapping_extensions-0.3.1 lib/xml/mapping_extensions/mime_type_node.rb
xml-mapping_extensions-0.3.0 lib/xml/mapping_extensions/mime_type_node.rb
xml-mapping_extensions-0.2.1 lib/xml/mapping_extensions/mime_type_node.rb
xml-mapping_extensions-0.2.0 lib/xml/mapping_extensions/mime_type_node.rb