class Lita::Handlers::Cat
Constants
- BASE_URL
- CATEGORIES
Attributes
url[RW]
Public Class Methods
fetch(count: nil, category: nil)
click to toggle source
# File lib/lita/handlers/cat.rb, line 22 def fetch(count: nil, category: nil) url = "#{BASE_URL}/images/search?format=json" url += "&limit=#{count}" unless count.nil? if category.present? return [] unless valid_category?(category) url += "&category_ids=#{CATEGORIES[category.to_sym]}" end JSON.parse(open(url) { |io| io.read }).each_with_object([]) do |cat, cats| cats << new(cat["url"]) end end
fetch_categories()
click to toggle source
# File lib/lita/handlers/cat.rb, line 35 def fetch_categories CATEGORIES.keys.map(&:to_s) end
new(url)
click to toggle source
# File lib/lita/handlers/cat.rb, line 46 def initialize(url) @url = url end
Private Class Methods
valid_category?(category)
click to toggle source
# File lib/lita/handlers/cat.rb, line 41 def valid_category?(category) fetch_categories.include?(category) end