class CategoryFilter
Gets the categories for articles and filters based on that data¶ ↑
Public Class Methods
categories_for(article)
click to toggle source
# File lib/wikipedia_twitterbot/category_filter.rb, line 20 def self.categories_for(article) article_id = article.id response = Wiki.query category_query(article_id) categories = response.data['pages'][article_id.to_s]['categories'] return unless categories categories = categories.map { |cat| cat['title'] } categories end
category_query(page_id)
click to toggle source
Other stuff #
# File lib/wikipedia_twitterbot/category_filter.rb, line 14 def self.category_query(page_id) { prop: 'categories', cllimit: 500, pageids: page_id } end
disambiguation_page?(article)
click to toggle source
# File lib/wikipedia_twitterbot/category_filter.rb, line 29 def self.disambiguation_page?(article) categories = categories_for(article) return false unless categories categories_for(article).include?('Category:Disambiguation pages') end
discard_disambiguation_pages(articles)
click to toggle source
Entry points #
# File lib/wikipedia_twitterbot/category_filter.rb, line 6 def self.discard_disambiguation_pages(articles) articles.reject! { |article| disambiguation_page?(article) } articles end