class PageDownloader::Filters::EmbedScript
Attributes
fetcher[R]
Public Class Methods
new(options = {})
click to toggle source
# File lib/page_downloader/filters/embed_script.rb, line 6 def initialize(options = {}) @fetcher = options.fetch :fetcher @url_resolver = options.fetch :url_resolver end
Public Instance Methods
filter(content)
click to toggle source
# File lib/page_downloader/filters/embed_script.rb, line 11 def filter(content) content.css("script").select do |script| script.attributes["src"] end.each do |script| embed(script) end content end
Private Instance Methods
embed(script)
click to toggle source
# File lib/page_downloader/filters/embed_script.rb, line 23 def embed(script) html = fetch_content(script.attributes["src"].value) script.remove_attribute("src") script.add_child(html) end
fetch_content(url)
click to toggle source
# File lib/page_downloader/filters/embed_script.rb, line 29 def fetch_content(url) fetcher.fetch(@url_resolver.resolve(url)) end