class Ruboty::Image::Client
Constants
- GOOGLE_API_URL
Public Class Methods
new(mode, query)
click to toggle source
# File lib/ruboty/image/client.rb, line 10 def initialize(mode, query) @conn = Faraday.new(url: GOOGLE_API_URL) do |faraday| faraday.request :url_encoded faraday.adapter Faraday.default_adapter end @mode = mode @query = query end
Public Instance Methods
search()
click to toggle source
# File lib/ruboty/image/client.rb, line 19 def search response = @conn.get {|req| req.url '/customsearch/v1', params }.body images = JSON.parse(response)['items'] # when @mode is :top -> images.length is 1 images.sample['link'] rescue nil end
Private Instance Methods
params()
click to toggle source
# File lib/ruboty/image/client.rb, line 32 def params default_params = { searchType: 'image', safe: 'off', filter: 1, cx: ENV['CSE_ID'], key: ENV['CSE_KEY'], q: @query } append_params = case @mode when :top { num: 1 } when :rand { num: 8 } end default_params.merge(append_params) end