class Tvteka::API
Public Instance Methods
get(request_type, url, params, &block)
click to toggle source
# File lib/tvteka/api.rb, line 4 def get(request_type, url, params, &block) cookies = params.delete(:cookies) params = params.to_a.map {|p| "#{p[0]}=#{p[1]}" }.join("&") request = create_request(url + "?" + params, :get) add_cookies(request, cookies) if cookies create_task(request_type, request, &block).resume end
Private Instance Methods
config()
click to toggle source
# File lib/tvteka/api.rb, line 14 def config NSURLSessionConfiguration.defaultSessionConfiguration end
create_request(url, method)
click to toggle source
# File lib/tvteka/api.rb, line 22 def create_request(url, method) url = NSURL.URLWithString(url) request = NSMutableURLRequest.requestWithURL(url) request.addValue("application/vnd.tvp.xbmc+json", forHTTPHeaderField: "Content-Type") request.addValue("application/vnd.tvp.xbmc+json", forHTTPHeaderField: "Accept") request.setHTTPMethod(method.to_s.upcase) request end
create_task(request_type, request, &block)
click to toggle source
# File lib/tvteka/api.rb, line 37 def create_task(request_type, request, &block) if block_given? session.dataTaskWithRequest(request, completionHandler: -> (data, response, error) { block.call(APIResponse.new(request_type, data, response, error)) }) else session.dataTaskWithRequest(request) end end
session()
click to toggle source
# File lib/tvteka/api.rb, line 18 def session NSURLSession.sessionWithConfiguration(config) end