class Gogcom::News

Public Class Methods

new(options) click to toggle source
# File lib/gogcom/news.rb, line 4
def initialize(options)
  @limit = options[:limit] || nil
end

Public Instance Methods

get() click to toggle source

Main method to get news data.

# File lib/gogcom/news.rb, line 9
def get()
  parse(fetch())
end

Private Instance Methods

fetch() click to toggle source

Fetches raw data from source.

@return [String]

# File lib/gogcom/news.rb, line 18
def fetch()
  url = "http://www.gog.com/frontpage/rss"
  page = Net::HTTP.get(URI(url))
  page
end
parse(data) click to toggle source

Parses raw data and returns news items

@return [Array]

# File lib/gogcom/news.rb, line 27
def parse(data)
  rss = SimpleRSS.parse data
  news = Array.new

  rss.items.each do |item|
    news_item = NewsItem.new(item.title, item.link, item.description.force_encoding("UTF-8"), item.pubDate)

    news.push news_item
  end

  unless @limit.nil?
    news.take(@limit)
  else
    news
  end
end