Sha256: 6d8c0cd6fcc1e2d6cc7bf1721e2dfb12e87febebb6a638c6427f7e2e5e55560d
Contents?: true
Size: 606 Bytes
Versions: 4
Compression:
Stored size: 606 Bytes
Contents
require "nokogiri" require "open-uri" module Feed2Gram Post = Struct.new(:url, :images, :caption, keyword_init: true) class ParsesEntries def parse(feed_url) feed = Nokogiri::XML(URI.parse(feed_url).open) feed.xpath("//*:entry").map { |entry| html = Nokogiri::HTML(entry.xpath("*:content[1]").text) Post.new( url: entry.xpath("*:id[1]").text, images: html.xpath("//figure[1]/img").map { |img| img["src"] }, caption: html.xpath("//figure[1]/figcaption").text.strip ) }.reject { |post| post.images.empty? } end end end
Version data entries
4 entries across 4 versions & 1 rubygems