module ContentFS::Renderers
Public Class Methods
register(name, format:, constant:, path:)
click to toggle source
# File lib/contentfs/renderers.rb, line 16 def register(name, format:, constant:, path:) (renderers[format.to_sym] ||= []) << { name: name.to_sym, constant: constant.to_s, path: Pathname.new(path) } end
resolve(format)
click to toggle source
# File lib/contentfs/renderers.rb, line 6 def resolve(format) renderers[format.to_sym].to_a.each do |renderer| if (resolved = try(renderer)) return resolved end end nil end
Private Class Methods
renderers()
click to toggle source
@api private
# File lib/contentfs/renderers.rb, line 37 def renderers @_renderers ||= {} end
try(renderer)
click to toggle source
@api private
# File lib/contentfs/renderers.rb, line 25 def try(renderer) require(renderer[:path]) const_get(renderer[:constant]) rescue LoadError # swallow load errors rescue NameError # TODO: maybe print name errors rescue # TODO: maybe print other errors end