class LinkedRails::Renderers
Attributes
rdf_content_types[RW]
Public Class Methods
register!()
click to toggle source
Registers mime types and renderers for all available rdf formats. Add additional formats by adding the gems to the Gemfile. See github.com/ruby-rdf/rdf#rdf-serialization-formats for a list of available formats.
# File lib/linked_rails/renderers.rb, line 15 def register! self.rdf_content_types = [] RDF::Format.each do |format| register_renderer(format.file_extension, format.content_type, format.symbols.first) end register_renderer(%i[hndjson], ['application/hex+x-ndjson'], :hndjson) rdf_content_types.freeze end
Private Class Methods
prefixes()
click to toggle source
# File lib/linked_rails/renderers.rb, line 27 def prefixes @prefixes ||= RDF::Vocabulary.vocab_map.transform_values do |options| options[:class] || RDF::Vocabulary.from_sym(options[:class_name]) end end
register_renderer(extensions, content_types, symbol)
click to toggle source
# File lib/linked_rails/renderers.rb, line 34 def register_renderer(extensions, content_types, symbol) return if extensions.blank? || content_types.blank? || symbol.blank? rdf_content_types << symbol Mime::Type.register(content_types.first, symbol, content_types.drop(1), extensions - [symbol]) extensions.each do |_extension| RDF::Serializers::Renderers.add_renderer(symbol, content_types.first, symbol, prefixes: prefixes) end end