Class: Api::V5::BlogPostsController
- Inherits:
-
BaseController
- Object
- ActionController::API
- BaseController
- Api::V5::BlogPostsController
- Defined in:
- app/controllers/api/v5/blog_posts_controller.rb
Overview
typed: ignore
Constant Summary
Constants inherited from BaseController
Api::V5::BaseController::CACHE_NAMESPACE, Api::V5::BaseController::INTERNAL_SERVER_ERROR_MESSAGE, Api::V5::BaseController::ResponseSchema
Instance Method Summary collapse
Methods inherited from BaseController
Methods included from LogrageCustomLogger
Methods included from ResponseCacheConcern
Instance Method Details
#index ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'app/controllers/api/v5/blog_posts_controller.rb', line 3 def index page = params.fetch(:page, 1) per_page = params.fetch(:per_page, 10) cache_key = "#{Date.today}:#{Time.zone.now.hour}:#{page}:#{per_page}" my_response_cache(cache_key, :json, public: true) do url = "https://blog.hungryhub.com/wp-json/wp/v2/posts?page=#{page}&per_page=#{per_page}&embed" response = DefaultFaradayClient.create_faraday_connection.get url if response.status == 200 data = JSON.parse(response.body).map do |item| { title: item['title']['rendered'], link: item['link'], cover: find_cover_url(item) } end { success: true, data: data, message: '' } else { success: false, data: '', message: 'Something went wrong' } end end end |