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

49 lines
785 B
Ruby

#!/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
get '/' do
erb :index, locals: { scores: @@match.scores }
end
put '/reset_scores' do
@@match.reset_scores
@@match.reset_games
push_scores
end
put '/red_scores' do
@@match.add_point(:red)
push_scores
end
put '/blue_scores' do
@@match.add_point(:blue)
push_scores
end
get '/scores' do
JSON @@match.scores
end
def push_scores
Pusher['scores'].trigger('update_scores', @@match.scores.to_json)
end
end