class Osrs::Player

Attributes

name[R]
raw_stats[R]
stats[R]

Public Class Methods

new(name) click to toggle source
# File lib/osrshighscores/player.rb, line 9
def initialize name
  @name = name
  validate_name
end

Public Instance Methods

fetch_highscores() click to toggle source
# File lib/osrshighscores/player.rb, line 23
def fetch_highscores
  f = open(@@lookup_url + @name, "User-Agent" => "Ruby/OSRSGrabber")
  
  @raw_stats = f.readlines.map &:chomp # Readlines preserves newlines??
  @stats = Osrs::Stats.new @raw_stats
end
validate_name() click to toggle source
# File lib/osrshighscores/player.rb, line 14
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