module YTS::Client

Public Class Methods

convert_query_to_url(params) click to toggle source
# File lib/yts/client.rb, line 8
def self.convert_query_to_url(params)
  params.map do |k,v|
    "&#{k}=#{v}"
  end.join
end
make_magnet(hash, encode_url) click to toggle source
# File lib/yts/client.rb, line 27
def make_magnet(hash, encode_url)
  magnets = ['udp://glotorrents.pw:6969/announce', 'udp://tracker.opentrackr.org:1337/announce', 'udp://torrent.gresille.org:80/announce', 'udp://tracker.openbittorrent.com:80', 'udp://tracker.coppersurfer.tk:6969', 'udp://tracker.leechers-paradise.org:6969', 'udp://p4p.arenabg.ch:1337', 'udp://tracker.internetwarriors.net:1337', 'udp://open.demonii.com:1337/announce', 'udp://p4p.arenabg.com:1337'].map{|t| "tr=#{t}"}.join('&')
  "magnet:?xt=urn:btih:#{hash}&dn=#{encode_url}&#{magnets}"
end
make_request(klass, endpoint, format, params = {}, method = 'get') click to toggle source
# File lib/yts/client.rb, line 14
def self.make_request(klass, endpoint, format, params = {}, method = 'get')
  result = if method == 'get'
    query_url = convert_query_to_url(params)
    get("#{endpoint}.#{format}?#{query_url}")
  else
    post("#{endpoint}.#{format}", params)
  end
  parsed_result = JSON.parse(result.body) if format.downcase.eql?('json') || format.downcase.eql?('jsonp')
  parsed_result = Nokogiri::XML(result.body) if format.downcase.eql?('xml')
  parsed_result
end