Class: Html2rss::Html::Rendering::MediaRenderer
- Inherits:
-
Object
- Object
- Html2rss::Html::Rendering::MediaRenderer
- Defined in:
- lib/html2rss/html/rendering/media_renderer.rb
Overview
Factory: picks the appropriate renderer for a given enclosure or fallback image.
Class Method Summary collapse
- .create_renderer_for_type(type, url:, title:) ⇒ ImageRenderer, ...
- .for(enclosure:, image:, title:) ⇒ ImageRenderer, ...
Class Method Details
.create_renderer_for_type(type, url:, title:) ⇒ ImageRenderer, ...
24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/html2rss/html/rendering/media_renderer.rb', line 24 def self.create_renderer_for_type(type, url:, title:) case type when %r{^image/} ImageRenderer.new(url:, title:) when %r{^video/} VideoRenderer.new(url:, type:) when %r{^audio/} AudioRenderer.new(url:, type:) when 'application/pdf' PdfRenderer.new(url:) end end |
.for(enclosure:, image:, title:) ⇒ ImageRenderer, ...
12 13 14 15 16 17 |
# File 'lib/html2rss/html/rendering/media_renderer.rb', line 12 def self.for(enclosure:, image:, title:) return ImageRenderer.new(url: image, title:) if enclosure.nil? && image return nil unless enclosure create_renderer_for_type(enclosure.type, url: enclosure.url, title:) end |