class NewsApi

Api Reference: newsapi.org/#apiArticles

Constants

API_TOKEN
Article
SOURCES
Source

Public Class Methods

articles() click to toggle source
# File lib/chid/news_api.rb, line 33
def self.articles
  sources = self.sources()
  sources.collect do |s|
    request   = ::HTTP.get("https://newsapi.org/v1/articles?source=#{s.id}&apiKey=#{API_TOKEN}")
    json_news = JSON.parse request

    json_news[ 'articles' ].collect do |n|
        published_at =  n[ 'publishedAt' ].nil? ? nil : Date.parse(n[ 'publishedAt' ])
        Article.new(json_news[ 'source' ], n[ 'author' ], n[ 'title' ],
                    n[ 'description' ], n[ 'url' ], published_at)
    end

  end.flatten
end
sources() click to toggle source
# File lib/chid/news_api.rb, line 48
def self.sources()
  #request      = HTTP.get("https://newsapi.org/v1/sources?language=en")
  #json_sources = JSON.parse request

  #json_sources[ 'sources' ].collect do |s|
  #  Source.new(s[ 'id' ], s[ 'name' ], s[ 'description' ], s[ 'category' ])
  #end
  SOURCES.collect do |s|
    Source.new(s)
  end
end