class SC2Stats

Public Class Methods

new(profileurl) click to toggle source
# File lib/sc2stats.rb, line 69
def initialize(profileurl)
        @url = profileurl

        self.scrape
end

Public Instance Methods

==(o) click to toggle source
# File lib/sc2stats.rb, line 88
def ==(o)
        if o.is_a? SC2Stats
                @url == o.url
        else
                false
        end
end
league() click to toggle source
# File lib/sc2stats.rb, line 80
def league; @league; end
name() click to toggle source
# File lib/sc2stats.rb, line 82
def name; @name; end
points() click to toggle source
# File lib/sc2stats.rb, line 81
def points; @points; end
scrape() click to toggle source
# File lib/sc2stats.rb, line 29
def scrape
        html = Nokogiri::HTML(open("#{@url}/ladder/leagues","User-Agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0) Gecko/20100101 Firefox/4.0"))

        @league = scrape_league(html)
        @points = scrape_points(html)
        @name = scrape_name(html)

        true
end
scrape_league(html) click to toggle source
# File lib/sc2stats.rb, line 39
def scrape_league(html)
        league = nil

        html.css("#profile-menu li a").each do |l|
                if l.text.include? "1v1"
                        league = l
                        break
                end
        end

        leaguename = league.text.strip.gsub(/\dv\d /, "").gsub(/ Rank.+/, "").downcase unless league.nil?
        leaguename ||= SC2League::LEAGUES.last

        SC2League.new(leaguename)
end
scrape_name(html) click to toggle source
# File lib/sc2stats.rb, line 65
def scrape_name(html)
        html.css("#profile-header h2 a").first.text
end
scrape_points(html) click to toggle source
# File lib/sc2stats.rb, line 55
def scrape_points(html)
        td = html.css("#current-rank td")[3]

        if td.nil?
                0
        else
                Integer(td.text)
        end
end
to_s() click to toggle source
# File lib/sc2stats.rb, line 84
def to_s
        "#{@name} (#{@league}, #{@points} pts)"
end
url() click to toggle source
# File lib/sc2stats.rb, line 75
def url; @url; end
url=(value) click to toggle source
# File lib/sc2stats.rb, line 76
def url=(value)
        @url = value
end