class ElitePvPersAPI::User
Attributes
Public Class Methods
new()
click to toggle source
# File lib/ElitePvPersAPI.rb, line 14 def initialize @cookies = "" @user_is_logged_in = false end
Public Instance Methods
get_private_messages()
click to toggle source
# File lib/ElitePvPersAPI.rb, line 37 def get_private_messages private_messages = EPvPersAPI_Array.new if is_logged_in == false private_messages.returncode = 1 return private_messages end agent = Mechanize.new agent.cookie_jar = @cookies pns = agent.get("http://www.elitepvpers.com/forum/private.php") File.open("test.html", 'w') { |file| file.write(pns.parser.to_html) } doc = Nokogiri::HTML(pns.parser.to_html) pagenav = doc.search('/html/body/table[2]/tr[2]/td/table/tr[5]/td/table/tr[2]/td/div/div/div/table/tr/td[3]/form[2]/table/tr/td/div/table/tr/td[1]').text minpage, maxpage = pagenav.match(/Page (\d{1,10}) of (\d{1,10})/i).captures (minpage.to_i..maxpage.to_i).each do |i| pns = agent.get("http://www.elitepvpers.com/forum/private.php?folderid=0&pp=50&sort=date&page="+i.to_s, {'Cookie' => agent.cookie_jar.to_s }) doc = Nokogiri::HTML(pns.parser.to_html) rows = doc.css("#collapseobj_pmf0_old_messages>tr") rows.each do |row| private_message = Array.new private_message[0] = row.search("td[3]/div[1]/a[2]").text # Headline of the message date = row.search("td[3]/div[1]/span[1]").text.split("-") # Date of the message time = row.search("td[3]/div[2]/span[1]").text.split(":") # Time of the message private_message[1] = DateTime.new(date[2].to_i, date[0].to_i, date[1].to_i, time[0].to_i, time[1].to_i) # Generate DateTime object based on the date and time from the private message private_message[2] = row.search("td[3]/div[2]/span[2]").text # Sender private_messages.push private_message end end private_messages.returncode = 0 return private_messages end
is_logged_in()
click to toggle source
# File lib/ElitePvPersAPI.rb, line 73 def is_logged_in return @user_is_logged_in end
login(username, password)
click to toggle source
# File lib/ElitePvPersAPI.rb, line 19 def login username, password agent = Mechanize.new page = agent.get("http://www.elitepvpers.com/forum/index.php") login_form = page.form_with(:action => 'http://www.elitepvpers.com/forum/login.php?do=login') login_form.vb_login_username = username login_form.vb_login_password = '' login_form.vb_login_md5password_utf = Digest::MD5.hexdigest(password) login_form.vb_login_md5password = Digest::MD5.hexdigest(password) page = agent.submit login_form @cookies = agent.cookie_jar if page.body.to_s.include? "Thank you for logging in, " + username @user_is_logged_in = true else @user_is_logged_in = false end end