Class: ActivePublicResources::Drivers::Schooltube

Inherits:
Driver
  • Object
show all
Defined in:
lib/active_public_resources/drivers/schooltube.rb

Constant Summary collapse

DRIVER_NAME =
"schooltube"

Instance Method Summary collapse

Instance Method Details

#perform_request(request_criteria) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/active_public_resources/drivers/schooltube.rb', line 9

def perform_request(request_criteria)
  request_criteria.validate_presence!([:query])
  uri = URI('http://www.schooltube.com/api/v1/video/search/')
  params = {
    'term' => request_criteria.query,
    'orderby' => normalize_request_criteria(request_criteria, 'sort') || '-view_count',
    'offset' => offset(request_criteria.page, request_criteria.per_page),
    'limit' => request_criteria.per_page || 25
  }
  uri.query = URI.encode_www_form(params)
  res = Net::HTTP.get_response(uri)
  results = JSON.parse(res.body)

  return parse_results(request_criteria, results)
end