class QuakeliveApi::Base
Attributes
player_name[RW]
Public Class Methods
new(player_name)
click to toggle source
# File lib/quakelive_api/base.rb, line 5 def initialize(player_name) @player_name = player_name set_parser Nokogiri::HTML(get) setup_variables! end
Private Class Methods
class_name()
click to toggle source
# File lib/quakelive_api/base.rb, line 37 def self.class_name name.split('::').last end
Public Instance Methods
inspect()
click to toggle source
# File lib/quakelive_api/base.rb, line 12 def inspect "#{self.class}:#{object_id}\n" + instance_variables.map do |v| next if v.to_s == "@parser" "#{v}=#{instance_variable_get(v).inspect}" end.compact.join("\n") end
Private Instance Methods
get()
click to toggle source
# File lib/quakelive_api/base.rb, line 21 def get Net::HTTP.get(URI.parse(URI::encode("#{QuakeliveApi.site}#{url}"))) end
parser()
click to toggle source
# File lib/quakelive_api/base.rb, line 29 def parser @parser end
set_parser(document)
click to toggle source
# File lib/quakelive_api/base.rb, line 33 def set_parser(document) @parser ||= ::QuakeliveApi::Parser.const_get(self.class.class_name).new(document) end
setup_variables()
click to toggle source
# File lib/quakelive_api/base.rb, line 48 def setup_variables raise NotImplementedError end
setup_variables!()
click to toggle source
# File lib/quakelive_api/base.rb, line 41 def setup_variables! raise Error::PlayerNotFound if parser.invalid_player? raise Error::RequestError if parser.request_error? setup_variables end
url()
click to toggle source
# File lib/quakelive_api/base.rb, line 25 def url raise NotImplementedError end