Project

news_api

0.0
No commit activity in last 3 years
No release in over 3 years
An API wrapper for News API v2
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.16
~> 10.0
~> 3.0
~> 0.55.0

Runtime

 Project Readme

NewsApi

An API wrapper for News API v2

Installation

Add this line to your application's Gemfile:

gem 'news_api'

And then execute:

$ bundle

Or install it yourself as:

$ gem install news_api

Configuration

Add setting with your API key.

NewsApi::Settings.configure do |config|
  config.api_key = 'your_api_key'
end

Usage

News API has 2 main endpoints and 1 minor endpoint.

Read more about required and available params.

Each request below returns instance of ApiStruct::Entity

NewsApi::TopHeadliners.search(country: :us, pageSize: 2)
NewsApi::Everything.search(q: 'bitcoin', pageSize: 2)
NewsApi::Sources.search

Errors handling

Each result respond on methods .failure? and .success?.

For example you have invalid API key:

NewsApi::Settings.configure do |config|
  config.api_key = 'fail_key'
end

NewsApi::Sources.search
=> #<Hashie::Mash body=#<Hashie::Mash code="apiKeyInvalid" message="Your API key is invalid or incorrect. Check your key, or go to https://newsapi.org to create a free API key." status="error"> error=true status=#<HTTP::Response::Status 401 Unauthorized>>

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/kirillshevch/news_api.

License

The gem is available as open source under the terms of the MIT License.