class SportsbookAg::Feed::Game
Attributes
_data[R]
home[R]
home_moneyline[R]
home_spread[R]
over[R]
total[R]
under[R]
visitor[R]
visitor_moneyline[R]
visitor_spread[R]
Public Class Methods
new(data)
click to toggle source
# File lib/sportsbook_ag/game.rb, line 7 def initialize(data) @_data = data @updated_at = Time.now parse end
Private Instance Methods
parse()
click to toggle source
# File lib/sportsbook_ag/game.rb, line 15 def parse desc = Nokogiri::HTML(_data[:description]) @elements = desc.xpath('//body').first.children parse_teams parse_lines parse_total end
parse_lines()
click to toggle source
# File lib/sportsbook_ag/game.rb, line 24 def parse_lines teams = { home: [6, 8], visitor: [2, 4] } teams.each do |team, num| instance_variable_set("@#{team}_spread", parse_spread(@elements[num[0]])) instance_variable_set("@#{team}_moneyline", Line.new(:moneyline, @elements[num[1]].text.to_i)) end end
parse_moneyline(element)
click to toggle source
# File lib/sportsbook_ag/game.rb, line 40 def parse_moneyline(element) end
parse_spread(element)
click to toggle source
# File lib/sportsbook_ag/game.rb, line 44 def parse_spread(element) spread = element.text.split(' ') Line.new(:spread, spread.last[1...-1].to_i, spread.first.to_d) end
parse_teams()
click to toggle source
# File lib/sportsbook_ag/game.rb, line 49 def parse_teams teams = _data[:title].split(' @ ') @visitor = teams.first @home = teams.last end
parse_total()
click to toggle source
# File lib/sportsbook_ag/game.rb, line 32 def parse_total over = @elements[10].text.split(' ') under = @elements[12].text.split(' ') @total = over[1].to_d @over = Line.new(:total, over[2][1...-1].to_i, @total) @under = Line.new(:total, under[2][1...-1].to_i, @total) end