Class: Html2rss::Rendering::MediaRenderer
- Inherits:
-
Object
- Object
- Html2rss::Rendering::MediaRenderer
- Defined in:
- lib/html2rss/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, ...
23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/html2rss/rendering/media_renderer.rb', line 23 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, ...
11 12 13 14 15 16 |
# File 'lib/html2rss/rendering/media_renderer.rb', line 11 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 |