Sha256: 3797b2d3689423257ae03efd61707d9033683cad74c53985e385153d7e4b7b90
Contents?: true
Size: 1.25 KB
Versions: 1
Compression:
Stored size: 1.25 KB
Contents
require 'cgi' 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,excerpt,date' response.fetch('posts', []).collect do |post| { id: post['ID'], title: remove_entities(post['title']), excerpt: remove_entities(post['excerpt']), created_at: post['date'], link: post['URL'] } end end def remove_entities(text) CGI.unescapeHTML (text || '') .gsub('’', '\'') .gsub('“', '"') .gsub('”', '"') .gsub('&', '&') .gsub(' ', '') .gsub('[…]', '') .gsub('<p>', '') .gsub('</p>', '') .strip end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
zooniverse_social-1.0.5 | lib/zooniverse_social/posts.rb |