class FeedDuck::RSSFeed

Attributes

parsed_feed[R]

Public Class Methods

new(parsed_feed) click to toggle source
# File lib/feed_duck/rss_feed.rb, line 3
def initialize(parsed_feed)
  @parsed_feed = parsed_feed
end

Public Instance Methods

description() click to toggle source
# File lib/feed_duck/rss_feed.rb, line 15
def description
  parsed_feed.channel.description
end
entries() click to toggle source
# File lib/feed_duck/rss_feed.rb, line 23
def entries
  parsed_feed.items.map do |item|
    RSSEntry.new(item)
  end
end
language() click to toggle source
# File lib/feed_duck/rss_feed.rb, line 19
def language
  parsed_feed.channel.language
end
title() click to toggle source
# File lib/feed_duck/rss_feed.rb, line 7
def title
  parsed_feed.channel.title
end
to_h() click to toggle source
# File lib/feed_duck/rss_feed.rb, line 29
def to_h
  attributes_hash.merge(entries: entries.map(&:to_h))
end
url() click to toggle source
# File lib/feed_duck/rss_feed.rb, line 11
def url
  parsed_feed.channel.link
end

Private Instance Methods

attributes_hash() click to toggle source
# File lib/feed_duck/rss_feed.rb, line 37
def attributes_hash
  public_attributes.each_with_object(Hash.new) do |attr, attribute_hash|
    attribute_hash[attr] = send(attr)
  end
end
public_attributes() click to toggle source
# File lib/feed_duck/rss_feed.rb, line 43
def public_attributes
  [:title, :url, :description]
end