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!