Module: BingImages

Defined in:
lib/bing_images.rb

Constant Summary collapse

ACCOUNT_KEY =
ENV['BING_ACCOUNT_KEY']
URL =
'https://api.datamarket.azure.com/Bing/Search/Image'
NUM_PAGES =
20
RESULTS_PER_PAGE =
50

Class Method Summary collapse

Class Method Details

.build_query(query, safe, offset) ⇒ Object



43
44
45
46
47
48
49
50
51
52
# File 'lib/bing_images.rb', line 43

def build_query(query, safe, offset)
  uri = Addressable::URI.new
  uri.query_values = {
    Query: "'" + query + "'",
    Adult: "'" + (safe ? 'Moderate' : 'Off') + "'",
    '$format' => 'json',
    '$skip' => offset,
  }
  uri.query
end

.issue_request(url) ⇒ Object



54
55
56
57
58
59
60
61
62
63
# File 'lib/bing_images.rb', line 54

def issue_request(url)
  uri = URI(url)
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = uri.scheme == 'https'
  query = uri.query.nil? ? '' : ('?' + uri.query)
  request = Net::HTTP::Get.new(uri.path + query)
  request.basic_auth('', )
  response = http.request(request)
  response.body
end

.search(query, safe, offset) ⇒ Object



37
38
39
40
41
# File 'lib/bing_images.rb', line 37

def search(query, safe, offset)
  query = build_query(query, safe, offset)
  url = URL + '?' + query
  json = issue_request(url)
end