class ZooniverseSocial::Posts
Attributes
data[R]
Public Class Methods
new()
click to toggle source
# File lib/zooniverse_social/posts.rb, line 8 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
Public Instance Methods
_update(updater)
click to toggle source
# File lib/zooniverse_social/posts.rb, line 20 def _update(updater) response = updater.update number: 3, fields: 'ID,URL,title,excerpt,date,featured_image' 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'], image: post['featured_image'] } end end
remove_entities(text)
click to toggle source
# File lib/zooniverse_social/posts.rb, line 34 def remove_entities(text) CGI.unescapeHTML (text || '') .gsub('’', '\'') .gsub('“', '"') .gsub('”', '"') .gsub('&', '&') .gsub(' ', '') .gsub('[…]', '') .gsub('<p>', '') .gsub('</p>', '') .strip end
update()
click to toggle source
# File lib/zooniverse_social/posts.rb, line 14 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