#!/usr/bin/ruby require 'net/http' require 'getoptlong' class JyteEntry def initialize(vfor, vagainst, title) @vfor = vfor @vagainst = vagainst @title = title end def print printf "[\033[32m#@vfor\033[0m " printf "\033[31m#@vagainst\033[0m]\t" printf "#@title\n" end end opts = GetoptLong.new( ["--number", "-n", GetoptLong::REQUIRED_ARGUMENT] ) donum = 10 opts.each do |opt, arg| if opt == "-n" or opt == "--number" donum = arg.to_i end end donuma = (donum / 10.0).ceil jytes = Array.new() 1.upto(donuma) do |num| response = Net::HTTP.start("jyte.com").post("/claims", "page=#{num}") titles = (response.body.scan(%r{a class=\"claim_title\"\n\s*href=\"http:(.*?)\">\n\s*(.*?)\n\s*}m)) votesfor = (response.body.scan(%r{votes_left_text_\d*\" style=\"color:#fff;\">(.*?)}m)) votesagainst = (response.body.scan(%r{votes_right_text_\d*\" style=\"color:#fff;\">(.*?)}m)) 0.upto(9) do |i| jytes.push(JyteEntry.new(votesfor[i][0],votesagainst[i][0],titles[i][1])) end end 0.upto(donum - 1) {|x| jytes[x].print}