Sha256: 65754d3ec471117c9a7808b19e466aea47d7823265fde18e7f9392769cda3131

Contents?: true

Size: 644 Bytes

Versions: 3

Compression:

Stored size: 644 Bytes

Contents

class BlogFeed
  attr_reader :pub_date, :items

  def initialize(feed)
    first = feed.first

    if first
      first_date = first.posted_at
    else
      first_date = Time.now
    end

    @pub_date = first_date.localtime.strftime "%a, %d %b %Y %H:%M:00 %z"
    @items = feed.map do |item|
      BlogFeed::Item.new item
    end
  end

  class Item
    attr_reader :title, :content, :url_title, :pub_date

    def initialize(post)
      @title = post.title
      @content = Markdown.render post.content, false
      @url_title = post.url_title
      @pub_date = post.posted_at.localtime.strftime "%a, %d %b %Y %H:%M:00 %z"
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
cartoonist-blog-0.0.9 app/models/blog_feed.rb
cartoonist-blog-0.0.8 app/models/blog_feed.rb
cartoonist-blog-0.0.7 app/models/blog_feed.rb