summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/assets/javascripts/application.js3
-rw-r--r--app/assets/stylesheets/matches.css.scss28
-rw-r--r--app/controllers/matches_controller.rb32
-rw-r--r--app/views/layouts/application.html.erb5
-rw-r--r--app/views/matches/show.html.erb38
5 files changed, 74 insertions, 32 deletions
diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js
index d6925fa..cb6edeb 100644
--- a/app/assets/javascripts/application.js
+++ b/app/assets/javascripts/application.js
@@ -14,3 +14,6 @@
//= require jquery_ujs
//= require turbolinks
//= require_tree .
+//= require 'drag.js'
+//= require 'dragsort.js'
+//= require 'coordinates.js'
diff --git a/app/assets/stylesheets/matches.css.scss b/app/assets/stylesheets/matches.css.scss
index e0bed85..3ef9170 100644
--- a/app/assets/stylesheets/matches.css.scss
+++ b/app/assets/stylesheets/matches.css.scss
@@ -1,11 +1,27 @@
// Place all the styles related to the matches controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/
-
-#match-tree{
- float: right;
+#boxes li {
+ cursor: move;
+ position: relative;
+ float: left;
+ margin: 5px;
+ width: 180px;
+ height: 240px;
+ border: 1px solid rgb(0, 0, 0);
+ text-align: center;
+ padding-top: 10px;
+ background-color: rgb(238, 238, 255);
}
-
-#hovered-info-text {
-
+#numeric li {
+ cursor: move;
+ position: relative;
+ float: left;
+ margin: 5px;
+ width: 180px;
+ height: 240px;
+ border: 1px solid rgb(0, 0, 0);
+ text-align: center;
+ padding-top: 10px;
+ background-color: rgb(238, 238, 255);
} \ No newline at end of file
diff --git a/app/controllers/matches_controller.rb b/app/controllers/matches_controller.rb
index 28bc512..e9fe727 100644
--- a/app/controllers/matches_controller.rb
+++ b/app/controllers/matches_controller.rb
@@ -5,6 +5,7 @@ class MatchesController < ApplicationController
# GET /matches.json
require 'httparty'
require 'json'
+ require 'delayed_job'
def index
@matches = @tournament.matches
@@ -14,6 +15,8 @@ class MatchesController < ApplicationController
@height = 200 * 2**Math.log2(@matches.count).floor + 100;
end
+
+
def get_riot_info
if signed_in?
@@ -118,14 +121,41 @@ class MatchesController < ApplicationController
end #end def
# GET /matches/1
# GET /matches/1.json
+
+ def is_match_over
+ response = HTTParty.get("https://prod.api.pvp.net/api/lol/na/v1.3/summoner/by-name/#{@first}?api_key=ad539f86-22fd-474d-9279-79a7a296ac38")
+ riot_id = response["#{@first}"]['id']
+ #recent game information
+ game_info = HTTParty.get("https://prod.api.pvp.net/api/lol/na/v1.3/game/by-summoner/#{riot_id}/recent?api_key=ad539f86-22fd-474d-9279-79a7a296ac38")
+ first_id = game_info["games"][0]["gameId"]
+
+ while true do
+ sleep(240) #wait four minutes
+
+ recent = HTTParty.get("https://prod.api.pvp.net/api/lol/na/v1.3/game/by-summoner/#{riot_id}/recent?api_key=ad539f86-22fd-474d-9279-79a7a296ac38")
+ current_id = recent["games"][0]["gameId"]
+
+ if current_id != first_id
+ @match.status = 2
+ end
+ end #while
+ end
+ handle_asynchronously :is_match_over
+
def show
+ if @match.id == 1
+ is_match_over
+ end
+
+
end
private
# Use callbacks to share common setup or constraints between actions.
def set_match
set_tournament
- @match = @tournament.matches.find(params[:id]);
+ @match = @tournament.matches.find(params[:id])
+ @first = @match.teams.first.users.first.user_name.downcase
end
def set_tournament
@tournament = Tournament.find(params[:tournament_id])
diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb
index 6d1d7f4..de9f3b8 100644
--- a/app/views/layouts/application.html.erb
+++ b/app/views/layouts/application.html.erb
@@ -8,6 +8,11 @@
<%= yield :head %>
</head>
<body>
+<script>
+ window.onload = function() {
+ BetterDragSort.makeListSortable(document.getElementById("boxes"));
+ };
+</script>
<header><nav>
<div class="navbar-brand"><%= link_to('Leaguer', root_path) %></div>
<div>
diff --git a/app/views/matches/show.html.erb b/app/views/matches/show.html.erb
index 20860e2..ffa7682 100644
--- a/app/views/matches/show.html.erb
+++ b/app/views/matches/show.html.erb
@@ -2,7 +2,6 @@
<strong>Status:</strong>
<%= @match.status %>
</p>
-
<p>
<strong>Tournament:</strong>
<%= @match.tournament.id %>
@@ -27,49 +26,38 @@
Note:- The change of status from 1 to 2 is coming from League Data Pull (RIOT API)
-->
-<!--
- This is what the HOST will see when the Match Status is NOT 3
--->
-<% if (@tournament.hosts.include?(current_user) and @match.winner.nil?) %>
- <%= form_for([@tournament, @match], method: "put") do |f| %>
- <ul>
- <% @match.teams.each do |team| %>
- <li><label><%= f.radio_button(:winner, team.id) %>
- <%= team.users.collect{|u| u.user_name}.join(", ") %></label></li>
- <% end %>
- </ul>
- <%= f.submit("Select Winner") %>
- <% end %>
-<% end %>
<!--
This is what the Players and the Hosts of the tournament will view when the Match Status is 0
-->
-<% if (@match.status==0) %>
+<% if (@match.status==1) %>
<% if (@tournament.players.include?(current_user) || @tournament.hosts.include?(current_user)) %>
<% @match.teams.each do |team| %>
- <ul>
+ <ol>
<% team.users.collect{|u| u.user_name}.each do |k| %>
- <li><label><%= k %></label></li>
+ <li><%= k %></li>
<% end %>
- </ul>
+ </ol>
<% end %>
<% end %>
<% end %>
<!--
+ When Match Status is 2
Players see the Peer Review Page
Host see the Game Status
-->
-<% if @match.status == 0 %>
- <% if @tournament.players.include?(current_user) %>
+<% if (@match.status==0) %>
+ <% if (@tournament.players.include?(current_user)) %>
<% @match.teams.each do |team| %>
- <ul>
+ <ol id="boxes" class="sortable">
<% team.users.collect{|u| u.user_name}.each do |k| %>
- <li><label><%= k %></label></li>
+ <li><%= k %></li>
<% end %>
- </ul>
- <% end %>
+ </ol>
+ <% end %>
+ <% elsif (@tournament.hosts.include?(current_user)) %>
+ <label>Game Status Page Goes here! Because you are a Host that is not a player!</label>
<% end %>
<% end %>