Sha256: a69d9d4c2bed3e67ba902798e06797e5c7f73477d4d8c2e082f3a08bd087d9b3

Contents?: true

Size: 1.33 KB

Versions: 55

Compression:

Stored size: 1.33 KB

Contents

require 'rack/mime'

module Sprockets
  module Mime
    # Returns a `Hash` of registered mime types registered on the
    # environment and those part of `Rack::Mime`.
    #
    # If an `ext` is given, it will lookup the mime type for that extension.
    def mime_types(ext = nil)
      if ext.nil?
        Rack::Mime::MIME_TYPES.merge(@mime_types)
      else
        ext = Sprockets::Utils.normalize_extension(ext)
        @mime_types[ext] || Rack::Mime::MIME_TYPES[ext]
      end
    end

    if {}.respond_to?(:key)
      def extension_for_mime_type(type)
        mime_types.key(type)
      end
    else
      def extension_for_mime_type(type)
        mime_types.index(type)
      end
    end

    # Register a new mime type.
    def register_mime_type(mime_type, ext)
      ext = Sprockets::Utils.normalize_extension(ext)
      @mime_types[ext] = mime_type
    end

    if defined? Encoding
      # Returns the correct encoding for a given mime type, while falling
      # back on the default external encoding, if it exists.
      def encoding_for_mime_type(type)
        encoding = Encoding::BINARY if type =~ %r{^(image|audio|video)/}
        encoding ||= default_external_encoding if respond_to?(:default_external_encoding)
        encoding
      end
    end
  end

  # Extend Sprockets module to provide global registry
  extend Mime
  @mime_types = {}
end

Version data entries

55 entries across 43 versions & 16 rubygems

Version Path
jquery_regex-0.0.3 vendor/bundle/gems/jquery_regex-0.0.2/vendor/bundle/gems/jquery_regex-0.0.1/vendor/bundle/gems/sprockets-2.2.2/lib/sprockets/mime.rb
jquery_regex-0.0.3 vendor/bundle/gems/jquery_regex-0.0.1/vendor/bundle/gems/sprockets-2.2.2/lib/sprockets/mime.rb
jquery_regex-0.0.3 vendor/bundle/gems/sprockets-2.2.2/lib/sprockets/mime.rb
jquery_regex-0.0.3 vendor/bundle/gems/jquery_regex-0.0.3/vendor/bundle/gems/jquery_regex-0.0.2/vendor/bundle/gems/sprockets-2.2.2/lib/sprockets/mime.rb
jquery_regex-0.0.1 vendor/bundle/gems/sprockets-2.2.2/lib/sprockets/mime.rb
sprockets-2.2.2 lib/sprockets/mime.rb
challah-rolls-0.2.0 vendor/bundle/gems/challah-0.8.3/vendor/bundle/gems/sprockets-2.2.1/lib/sprockets/mime.rb
challah-rolls-0.2.0 vendor/bundle/gems/sprockets-2.2.1/lib/sprockets/mime.rb
challah-0.8.3 vendor/bundle/gems/sprockets-2.2.1/lib/sprockets/mime.rb
sprockets-2.2.1 lib/sprockets/mime.rb
sprockets-2.3.2 lib/sprockets/mime.rb
sprockets-2.3.1 lib/sprockets/mime.rb
sprockets-2.3.0 lib/sprockets/mime.rb
sprockets-2.3.0.beta lib/sprockets/mime.rb
sprockets-2.2.0 lib/sprockets/mime.rb