class RsHiscores::Player
Constants
- LookupUrl
- StatClass
Attributes
name[R]
raw_stats[R]
stats[R]
Public Class Methods
new(name, params = {})
click to toggle source
# File lib/rshiscores/player.rb, line 10 def initialize name, params = {} @name = name validate_name fetch_highscores if params[:force] end
Public Instance Methods
fetch_highscores()
click to toggle source
# File lib/rshiscores/player.rb, line 26 def fetch_highscores safe_name = @name.gsub " ", "%20" f = open(self.class::LookupUrl + safe_name, "User-Agent" => "Ruby/RsHiscoresGrabber") @raw_stats = f.readlines.map &:chomp # readlines preserves newlines?? @stats = self.class::StatClass.new @raw_stats end
validate_name()
click to toggle source
# File lib/rshiscores/player.rb, line 17 def validate_name raise "invalid characters in name" if @name =~ /[^A-Za-z0-9_\- ]/ raise "name too long" if @name.length > 12 raise "name too short" if @name.length < 1 raise "name starts/ends with a space character" if (name[0] + name[-1]) =~ /[_\- ]/ end