Class: Finlight::ArticleService
- Inherits:
-
Object
- Object
- Finlight::ArticleService
- Defined in:
- lib/finlight/article_service.rb
Overview
Fetches financial news articles.
Instance Method Summary collapse
-
#fetch_article_by_link(link:, **params) ⇒ Article
Fetches a single article by its URL.
-
#fetch_articles(**params) ⇒ ArticleResponse
Searches articles with advanced filtering by query, tickers, sources, dates, countries and categories.
-
#initialize(api_client) ⇒ ArticleService
constructor
A new instance of ArticleService.
Constructor Details
#initialize(api_client) ⇒ ArticleService
Returns a new instance of ArticleService.
6 7 8 |
# File 'lib/finlight/article_service.rb', line 6 def initialize(api_client) @api_client = api_client end |
Instance Method Details
#fetch_article_by_link(link:, **params) ⇒ Article
Fetches a single article by its URL.
43 44 45 46 47 48 |
# File 'lib/finlight/article_service.rb', line 43 def fetch_article_by_link(link:, **params) query = Params.normalize(params.merge(link: link)) query = query.transform_values { |v| [true, false].include?(v) ? v.to_s : v } response = @api_client.get("/v2/articles/by-link", query) Article.from_h(response.fetch("article")) end |
#fetch_articles(**params) ⇒ ArticleResponse
Searches articles with advanced filtering by query, tickers, sources, dates, countries and categories.
27 28 29 30 |
# File 'lib/finlight/article_service.rb', line 27 def fetch_articles(**params) response = @api_client.post("/v2/articles", Params.normalize(params)) ArticleResponse.from_h(response) end |