Sha256: f85c2c3ae34cb3dd1a65d91604deea3c0ce120f1a97a4ef0246aa6a07d5fb874
Contents?: true
Size: 1.37 KB
Versions: 7
Compression:
Stored size: 1.37 KB
Contents
module MrVideo module Episodes class ShowPresenter def initialize(context) @context = context end def content if fix_relative_links? content_with_relative_links_fixed else raw_content end end def content_type episode.content_type end private def content_with_relative_links_fixed content = raw_content [ /href=["']([^'" >]+)["']/, /src=["']([^'" >]+)["']/, /@import url\(([^'" >]+)\)/ ].each do |pattern| content.gsub!(pattern) do |match| url = $1 match.gsub(url, URI.join(base_url, url).to_s) end end content end def base_url episode.website_url end def raw_content episode.content end def fix_relative_links? params[:fix_relative_links] != 'false' end def episode @episode ||= cassette.find_episode_by_id(id) end def cassette @cassette ||= Cassette.find(cassette_id) end def cassette_id params[:cassette_id] end def id params[:id] end def params context.params end def context @context end end # ShowPresenter class end # Episodes module end # MrVideo module
Version data entries
7 entries across 7 versions & 1 rubygems