Class: NewsApiRubyRails

Inherits:
Object
  • Object
show all
Defined in:
lib/news-api-ruby-rails.rb

Constant Summary collapse

VERSION =
'v2'
BASE_URL =
'https://newsapi.org/' + VERSION + '/'

Instance Method Summary collapse

Constructor Details

#initialize(api_key) ⇒ NewsApiRubyRails

Returns a new instance of NewsApiRubyRails.



12
13
14
# File 'lib/news-api-ruby-rails.rb', line 12

def initialize(api_key)
  @api_key = api_key
end

Instance Method Details

#get_everything(**args) ⇒ Object



32
33
34
35
# File 'lib/news-api-ruby-rails.rb', line 32

def get_everything(**args)
  endpoint = 'everything'
  return _get_everything(endpoint, **args)
end

#get_source(v) ⇒ Object



37
38
39
# File 'lib/news-api-ruby-rails.rb', line 37

def get_source(v)
  Source.new(v["id"], v["name"], v["description"], v["url"], v["category"], v["language"], v["country"])
end

#get_sources(**args) ⇒ Object



21
22
23
24
25
26
27
28
29
30
# File 'lib/news-api-ruby-rails.rb', line 21

def get_sources(**args)
  endpoint = 'sources'
  request = _make_request(endpoint, **args)
  sources = request['sources']
  data = Array.new
  sources.each do |v|
    data.push(get_source(v))
  end
  return data
end

#get_top_headlines(**args) ⇒ Object



16
17
18
19
# File 'lib/news-api-ruby-rails.rb', line 16

def get_top_headlines(**args)
  endpoint = 'top-headlines'
  return _get_everything(endpoint, **args)
end