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
- .build_query(query, safe, offset) ⇒ Object
- .issue_request(url) ⇒ Object
- .search(query, safe, offset) ⇒ Object
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('', ACCOUNT_KEY) 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 |