1
0
mirror of https://github.com/danbee/scoreboard synced 2025-03-04 08:59:11 +00:00
scoreboard/score_board.rb
2015-05-08 18:02:45 +01:00

49 lines
872 B
Ruby
Executable File

#!/usr/bin/env ruby
require 'dotenv'
Dotenv.load
require 'json'
require 'sinatra'
require 'pusher'
require './lib/match'
require './lib/player'
Pusher.url = "http://#{ENV['PUSHER_KEY']}:#{ENV['PUSHER_SECRET']}@api.pusherapp.com/apps/#{ENV['PUSHER_APP']}"
class ScoreBoard < Sinatra::Base
@@match = Match.new(Player.new, Player.new)
get '/' do
erb :index, locals: { one: @@match.players[:one],
two: @@match.players[:two] }
end
put '/reset_scores' do
@@match = Match.new(Player.new, Player.new)
push_scores
end
put '/player1_scores' do
@@match.add_point(:one)
push_scores
end
put '/player2_scores' do
@@match.add_point(:two)
push_scores
end
get '/scores' do
JSON @@match.scores
end
def push_scores
Pusher['scores'].trigger('update_scores', @@match.scores.to_json)
end
end