Sha256: e05ff762aefd0d53b40f7a104e5e48b9280aa30920fbdb85209a7ceccf2fd63c

Contents?: true

Size: 867 Bytes

Versions: 2

Compression:

Stored size: 867 Bytes

Contents

require 'zooniverse_social/updater'

module ZooniverseSocial
  class Posts
    attr_reader :data

    def initialize
      @blog_updater = Updater.new 'https://public-api.wordpress.com', '/rest/v1.1/sites/36711287/posts'
      @daily_updater = Updater.new 'https://public-api.wordpress.com', '/rest/v1.1/sites/57182749/posts'
      update
    end

    def update
      blog_data = _update @blog_updater
      daily_data = _update @daily_updater
      @data = (blog_data + daily_data).sort{ |a, b| b[:created_at] <=> a[:created_at] }.take 3
    end

    def _update(updater)
      response = updater.update number: 3, fields: 'ID,URL,title,date'
      response.fetch('posts', []).collect do |post|
        {
          id: post['ID'],
          title: post['title'],
          created_at: post['date'],
          link: post['URL']
        }
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
zooniverse_social-1.0.1 lib/zooniverse_social/posts.rb
zooniverse_social-1.0.0 lib/zooniverse_social/posts.rb