class Feedjira::Parser::JSONFeed

Parser for dealing with JSON Feeds.

Attributes

description[R]
entries[R]
expired[R]
feed_url[R]
json[R]
title[R]
url[R]
version[R]

Public Class Methods

able_to_parse?(json) click to toggle source
# File lib/feedjira/parser/json_feed.rb, line 10
def self.able_to_parse?(json)
  %r{https://jsonfeed.org/version/} =~ json
end
new(json) click to toggle source
# File lib/feedjira/parser/json_feed.rb, line 21
def initialize(json)
  @json = json
  @version = json.fetch("version")
  @title = json.fetch("title")
  @url = json.fetch("home_page_url", nil)
  @feed_url = json.fetch("feed_url", nil)
  @description = json.fetch("description", nil)
  @expired = json.fetch("expired", nil)
  @entries = parse_items(json["items"])
end
parse(json) click to toggle source
# File lib/feedjira/parser/json_feed.rb, line 14
def self.parse(json)
  new(JSON.parse(json))
end

Private Instance Methods

parse_items(items) click to toggle source
# File lib/feedjira/parser/json_feed.rb, line 34
def parse_items(items)
  items.map do |item|
    Feedjira::Parser::JSONFeedItem.new(item)
  end
end