summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Gemfile.lock6
-rw-r--r--app/controllers/matches_controller.rb52
-rw-r--r--app/models/tournament.rb22
-rw-r--r--app/models/user.rb2
-rw-r--r--app/views/matches/show.html.erb20
5 files changed, 73 insertions, 29 deletions
diff --git a/Gemfile.lock b/Gemfile.lock
index b894f81..fd03576 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -31,9 +31,6 @@ GEM
bootstrap-sass (3.1.1.0)
sass (~> 3.2)
builder (3.1.4)
- byebug (2.7.0)
- columnize (~> 0.3)
- debugger-linecache (~> 1.2)
coffee-rails (4.0.1)
coffee-script (>= 2.2.0)
railties (>= 4.0.0, < 5.0)
@@ -41,8 +38,6 @@ GEM
coffee-script-source
execjs
coffee-script-source (1.7.0)
- columnize (0.3.6)
- debugger-linecache (1.2.0)
delayed_job (4.0.0)
activesupport (>= 3.0, < 4.1)
delayed_job_active_record (4.0.0)
@@ -135,7 +130,6 @@ PLATFORMS
DEPENDENCIES
bcrypt-ruby (= 3.1.2)
bootstrap-sass
- byebug
coffee-rails (~> 4.0.0)
delayed_job_active_record
httparty
diff --git a/app/controllers/matches_controller.rb b/app/controllers/matches_controller.rb
index 1d4ee27..93b5514 100644
--- a/app/controllers/matches_controller.rb
+++ b/app/controllers/matches_controller.rb
@@ -22,24 +22,20 @@ class MatchesController < ApplicationController
tournament_matches_path(@tournament)
end
- def get_riot_info
- if signed_in?
+ def get_riot_info
+ if signed_in?
+ pull = "Kaceytron"
#current user information
- response = HTTParty.get("https://prod.api.pvp.net/api/lol/na/v1.3/summoner/by-name/#{current_user.user_name}?api_key=ad539f86-22fd-474d-9279-79a7a296ac38")
+ response = HTTParty.get("https://prod.api.pvp.net/api/lol/na/v1.3/summoner/by-name/#{pull.downcase}?api_key=ad539f86-22fd-474d-9279-79a7a296ac38")
- id = response["#{current_user.user_name.downcase}"]['id']
+ id = response["#{pull.downcase}"]['id']
#recent game information
- recent = HTTParty.get("https://prod.api.pvp.net/api/lol/na/v1.3/game/by-summoner/#{response["#{current_user.user_name.downcase}"]['id']}/recent?api_key=ad539f86-22fd-474d-9279-79a7a296ac38")
+ recent = HTTParty.get("https://prod.api.pvp.net/api/lol/na/v1.3/game/by-summoner/#{response["#{pull.downcase}"]['id']}/recent?api_key=ad539f86-22fd-474d-9279-79a7a296ac38")
game_id = recent["games"][0]["gameId"]
- #remote_user_id = 6651654651354
- #remove_user_name = TeslasMind
- #How to Add
- #how do I access
-
#members of most recent game id's
player1 = recent["games"][0]["fellowPlayers"][0]["summonerId"]
player2 = recent["games"][0]["fellowPlayers"][1]["summonerId"]
@@ -122,8 +118,8 @@ class MatchesController < ApplicationController
@purp = purple
@blue = blue
- end #end if
- end #end def
+ end #end if
+ end #end def
# GET /matches/1
# GET /matches/1.json
@@ -151,7 +147,10 @@ class MatchesController < ApplicationController
if (@match.status == 1)
@scores = @match.scores
end
-
+ file_blue = "blue.yaml"
+ file_purple = "purple.yaml"
+ @blue2 = YAML.load_file(file_blue)
+ @purp2 = YAML.load_file(file_purple)
end
@@ -186,13 +185,36 @@ class MatchesController < ApplicationController
@match.status = 2;
respond_to do |format|
if @match.save
- format.html { redirect_to tournament_match_path(@tournament, @match), notice: 'Scores submitted' }
+ format.html { redirect_to tournament_match_path(@tournament, @match), notice: 'Scores Submitted' }
format.json { head :no_content }
else
format.html { redirect_to @tournament, notice: "You don't have permission to start this match." }
format.json { render json: "Permission denied", status: :forbidden }
end
- end
+ end
+ when "finish"
+ @match.status = 3
+ respond_to do |format|
+ if @match.save
+ format.html { redirect_to tournament_match_path(@tournament, @match), notice: 'Peer Review Submitted' }
+ format.json { head :no_content }
+ else
+ format.html { redirect_to @tournament, notice: "You don't have permission to start this match." }
+ format.json { render json: "Permission denied", status: :forbidden }
+ end
+ end
+ when "reset"
+ @match.status = 0
+ respond_to do |format|
+ if @match.save
+ format.html { redirect_to tournament_match_path(@tournament, @match), notice: 'Match Status Reset to 0' }
+ format.json { head :no_content }
+ else
+ format.html { redirect_to @tournament, notice: "You don't have permission to start this match." }
+ format.json { render json: "Permission denied", status: :forbidden }
+ end
+ end
+
else
respond_to do |format|
format.html { redirect_to @tournament, notice: "Invalid action", status: :unprocessable_entity }
diff --git a/app/models/tournament.rb b/app/models/tournament.rb
index fdcdba2..3e85744 100644
--- a/app/models/tournament.rb
+++ b/app/models/tournament.rb
@@ -16,6 +16,14 @@ class Tournament < ActiveRecord::Base
end
class Preferences
+ @vartypes = {
+ :true_false => 0,
+ :integer => 1,
+ :string => 2,
+ :select => 3,
+ :range => 4
+ }
+
def initialize(tournament)
@tournament = tournament
end
@@ -29,15 +37,23 @@ class Tournament < ActiveRecord::Base
end
end
- def []=(preference, value)
+ def []=(preference, val)
p = @tournament.preferences_raw.find_by_name(preference)
if p.nil?
- # TODO: create it
+ TournamentPreference.create( tournament_id: @tournament.id, vartype: get_type(val), name: preference, value: val )
else
- p.value = value
+ p.value = val
end
end
+ def get_type(val) {
+ return vartypes[:true_false] if val == "true" or val == "false"
+ return vartypes[:range] if /\d+-\d+/ =~ val
+ return vartypes[:integer] if /\d+/ =~ val
+ return vartypes[:select] if /,/ =~ val
+ return vartypes[:string]
+ }
+
def keys
@tournament.preferences_raw.all.collect { |x| x.name }
end
diff --git a/app/models/user.rb b/app/models/user.rb
index 0446b35..3407355 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -111,7 +111,7 @@ class User < ActiveRecord::Base
# VALID_USER_NAME checks to make sure a user's user_name
# is in the proper format.
- VALID_USER_NAME_REG = /\A[a-zA-Z0-9\-]+\z/
+ VALID_USER_NAME_REG = /\A[a-zA-Z0-9 _\-]+\z/
# The following lines put a user account through a series of
# validations in order to make sure all of their information
diff --git a/app/views/matches/show.html.erb b/app/views/matches/show.html.erb
index 109aa70..cd30926 100644
--- a/app/views/matches/show.html.erb
+++ b/app/views/matches/show.html.erb
@@ -26,6 +26,7 @@
Note:- The change of status from 1 to 2 is coming from League Data Pull (RIOT API)
-->
+
<% if (@match.status== 0) || !@tournament.players.include?(current_user) %>
<% @match.teams.each do |team| %>
<ol>
@@ -37,7 +38,7 @@
<!--
- This is what the Players and the Hosts of the tournament will view when the Match Status is 0
+ This is what the Players and the Hosts of the tournament will view when the Match Status is 1
-->
<% elsif (@match.status==1) %>
<% if @tournament.hosts.include?(current_user) && @scores.empty? %>
@@ -87,7 +88,16 @@
<% if team.users.include?(current_user) %>
<ol id="boxes" class="sortable">
<% team.users.collect{|u| u.user_name}.each do |k| %>
- <li><%= k %></li>
+ <li><%= k%>
+ <br>
+ <% if (@tournament.game_id == 1) %>
+ <%= if @blue2["#{k}"] == nil
+ "Level: #{@purp2["#{k}"]["level"]} K/D/A: #{@purp2["#{k}"]["championsKilled"]}/#{@purp2["#{k}"]["numDeaths"]}/#{@purp2["#{k}"]["assists"]} Gold:#{@purp2["#{k}"]["goldEarned"]}"
+ else
+ "Level: #{@blue2["#{k}"]["level"]} K/D/A: #{@blue2["#{k}"]["championsKilled"]}/#{@blue2["#{k}"]["numDeaths"]}/#{@blue2["#{k}"]["assists"]} Gold:#{@blue2["#{k}"]["goldEarned"]}"
+ end %>
+ <% end %>
+ </li>
<% end %>
</ol>
<% end %>
@@ -104,7 +114,7 @@
</p>
<% end %>
-<% if @tournament.hosts.include?(current_user) %>
+<% if @tournament.players.include?(current_user) %>
<br />
<div id="host">
<%= form_tag(tournament_match_path(@tournament, @match), method: "put") do %>
@@ -118,9 +128,11 @@
<% when 2 %>
<input type="hidden" name="update_action" value="finish">
<%= submit_tag("End Match") %>
+ <% when 3 %>
+ <input type="hidden" name="update_action" value="reset">
+ <%= submit_tag("Reset Status") %>
<% end %>
<% end %>
-
</div>
<% end %>