#!/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*</a>}m))
	votesfor = (response.body.scan(%r{votes_left_text_\d*\" style=\"color:#fff;\">(.*?)</span>}m))
	votesagainst = (response.body.scan(%r{votes_right_text_\d*\" style=\"color:#fff;\">(.*?)</span>}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}
