Class: Html2rss::AutoSource::Scraper::WordpressApi::PostsEndpoint
- Inherits:
-
Object
- Object
- Html2rss::AutoSource::Scraper::WordpressApi::PostsEndpoint
- Defined in:
- lib/html2rss/auto_source/scraper/wordpress_api/posts_endpoint.rb
Overview
Resolves the WordPress posts endpoint for a given page and scope.
Constant Summary collapse
- POSTS_PATH =
REST API collection path for posts resources.
'wp/v2/posts'
Class Method Summary collapse
-
.resolve(parsed_body:, page_url:, page_scope:, posts_query:, logger: Html2rss::Log) ⇒ Html2rss::Url?
Resolved posts endpoint or nil when unavailable.
Instance Method Summary collapse
-
#call ⇒ Html2rss::Url?
Resolved posts endpoint or nil when unavailable.
-
#initialize(parsed_body:, page_url:, page_scope:, posts_query:, logger:) ⇒ PostsEndpoint
constructor
A new instance of PostsEndpoint.
Constructor Details
#initialize(parsed_body:, page_url:, page_scope:, posts_query:, logger:) ⇒ PostsEndpoint
Returns a new instance of PostsEndpoint.
30 31 32 33 34 35 36 |
# File 'lib/html2rss/auto_source/scraper/wordpress_api/posts_endpoint.rb', line 30 def initialize(parsed_body:, page_url:, page_scope:, posts_query:, logger:) @parsed_body = parsed_body @page_url = Html2rss::Url.from_absolute(page_url) @page_scope = page_scope @posts_query = posts_query @logger = logger end |
Class Method Details
.resolve(parsed_body:, page_url:, page_scope:, posts_query:, logger: Html2rss::Log) ⇒ Html2rss::Url?
Returns resolved posts endpoint or nil when unavailable.
20 21 22 |
# File 'lib/html2rss/auto_source/scraper/wordpress_api/posts_endpoint.rb', line 20 def self.resolve(parsed_body:, page_url:, page_scope:, posts_query:, logger: Html2rss::Log) new(parsed_body:, page_url:, page_scope:, posts_query:, logger:).call end |
Instance Method Details
#call ⇒ Html2rss::Url?
Returns resolved posts endpoint or nil when unavailable.
40 41 42 43 44 45 46 |
# File 'lib/html2rss/auto_source/scraper/wordpress_api/posts_endpoint.rb', line 40 def call api_root = api_root_url return unless api_root return unless fetchable_page_scope? query_style_api_root?(api_root) ? query_root_posts_url(api_root) : posts_collection_url(api_root) end |