lib/rack/linkeddata.rb in rack-linkeddata-0.1.1 vs lib/rack/linkeddata.rb in rack-linkeddata-0.1.2
- old
+ new
@@ -3,7 +3,25 @@
module Rack
module LinkedData
autoload :ContentNegotiation, 'rack/linkeddata/conneg'
autoload :VERSION, 'rack/linkeddata/version'
+
+ ##
+ # Registers all known RDF formats with Rack's MIME types registry.
+ #
+ # @param [Hash{Symbol => Object}] options
+ # @option options [Boolean] :overwrite (false)
+ # @return [void]
+ def self.register_mime_types!(options = {})
+ if defined?(Rack::Mime::MIME_TYPES)
+ RDF::Format.file_extensions.each do |file_ext, content_type|
+ if !Rack::Mime::MIME_TYPES.has_key?(file_ext = ".#{file_ext}") || options[:overwrite]
+ Rack::Mime::MIME_TYPES.merge!(file_ext => content_type.to_s)
+ end
+ end
+ end
+ end
end
end
+
+Rack::LinkedData.register_mime_types!