Skip to content

Commit 24e9888

Browse files
committed
Enabled ranking search within country. Also some design change.
1 parent 8367cf2 commit 24e9888

File tree

6 files changed

+38
-21
lines changed

6 files changed

+38
-21
lines changed

app/controllers/api/players_controller.rb

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -116,14 +116,23 @@ def detail
116116
@player = Player.find(:all, :conditions => ['login = ?',params[:name]])
117117

118118
respond_to do |format|
119-
format.xml { render :xml => @player }
119+
format.xml { render :xml => @player.to_xml(:only => [
120+
:avatar_image_url, :country_id, :created_at, :draws34, :exp34, :login,
121+
:losses, :losses34, :max_rate, :name, :pr, :rate, :streak, :streak_best,
122+
:updated_at, :wins, :wins34]) }
120123
end
121124
end
122125

123126
def ranking
124-
conditions = 'players.updated_at >= ? and (players.wins + players.losses) >= ? and players.show_ranking = ?'
125-
@api_players = Player.find(:all,
126-
:conditions => [conditions, DateTime.now - 90 , 30, true])
127+
if (params[:country_id] == "*")
128+
conditions = 'players.updated_at >= ? and (players.wins + players.losses) >= ? and players.show_ranking = ?'
129+
@api_players = Player.find(:all,
130+
:conditions => [conditions, DateTime.now - 90 , 30, true])
131+
else
132+
conditions = 'players.updated_at >= ? and (players.wins + players.losses) >= ? and players.show_ranking = ? and players.country_id = ?'
133+
@api_players = Player.find(:all,
134+
:conditions => [conditions, DateTime.now - 90 , 30, true, params[:country_id]])
135+
end
127136
case params[:item]
128137
when "rate"
129138
@api_players = @api_players.sort_by { |v| - ( v.wins + v.losses ) }
@@ -153,9 +162,15 @@ def ranking
153162
end
154163

155164
def ranking34
156-
conditions = 'players.updated_at >= ? and players.exp34 >= ? and players.show_ranking = ?'
157-
@api_players = Player.find(:all,
158-
:conditions => [conditions, DateTime.now - 90 , 20, true])
165+
if (params[:country_id] == "*")
166+
conditions = 'players.updated_at >= ? and players.exp34 >= ? and players.show_ranking = ?'
167+
@api_players = Player.find(:all,
168+
:conditions => [conditions, DateTime.now - 90 , 20, true])
169+
else
170+
conditions = 'players.updated_at >= ? and players.exp34 >= ? and players.show_ranking = ? and players.country_id = ?'
171+
@api_players = Player.find(:all,
172+
:conditions => [conditions, DateTime.now - 90 , 20, true, params[:country_id]])
173+
end
159174
case params[:item]
160175
when "exp"
161176
@api_players = @api_players.sort_by { |v| - v.wins34 }

app/views/api/players/ranking.xml.builder

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,11 @@ xml.ranking(:item => params[:item]) do
55
xml.login(p.login)
66
xml.name(p.name)
77
xml.country_id(p.country_id)
8-
xml.rate(p.rate)
8+
xml.rate(p.rate.to_i)
99
xml.wins(p.wins)
1010
xml.losses(p.losses)
1111
xml.streak(p.streak)
1212
xml.streak_best(p.streak_best)
13-
xml.created_at(p.created_at)
14-
xml.updated_at(p.updated_at)
1513
end
1614
i += 1
1715
break if i >= 100

app/views/api/players/search.xml.builder

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,18 @@
11
xml.players do
22
for p in @api_players
33
xml.player do
4-
xml.id(p.id)
54
xml.login(p.login)
5+
xml.name(p.name)
66
xml.country_id(p.country_id)
7-
xml.rate(p.rate)
7+
xml.rate(p.rate.to_i)
88
xml.wins(p.wins)
99
xml.losses(p.losses)
1010
xml.streak(p.streak)
1111
xml.streak_best(p.streak_best)
12+
xml.exp34(p.exp34)
13+
xml.wins34(p.wins34)
14+
xml.losses34(p.losses34)
15+
xml.draws34(p.draws34)
1216
xml.created_at(p.created_at)
1317
xml.updated_at(p.updated_at)
1418
end

app/views/players/show.html.erb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
<div class="container">
55
<table width=100% border="1" cellspacing="0" cellpadding="5" align="center">
66
<tr>
7-
<td><b>81Dojo <%= Player.human_attribute_name("login") %></b><td><%= @player.name %>
7+
<td><b>81Dojo <%= Player.human_attribute_name("login") %></b><td align="center"><%= @player.name %>
88
<tr>
9-
<td><b><%= Player.human_attribute_name("country") %></b><td><%= @player.country ? @player.country.name : '' %>
9+
<td><b><%= Player.human_attribute_name("country") %></b><td align="center"><%= @player.country ? @player.country.name : '' %>
1010
<tr>
11-
<td><b><%= Player.human_attribute_name("rate") %></b><td><%= @player.rate %>
11+
<td><b><%= Player.human_attribute_name("rate") %></b><td align="center"><%= sprintf("%.2f",@player.rate) %>
1212
</table>
1313
</div>
1414
<div style="font-size:24px"><%= link_to 'Edit',edit_player_path(@player) %></div>

app/views/sessions/new.html.erb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
<div style="color:green"><%= flash[:notice] %></div>
44
<div style="color:red"><%= flash[:error] %></div>
55
<% form_tag session_path do -%>
6-
<p><%= label_tag 'login' %><br />
7-
ハンドルネーム<br />
6+
<p><b><%= label_tag 'login' %></b><br />
7+
<font size="-1">(ハンドルネーム)</font><br />
88
<%= text_field_tag 'login', @login %></p>
99

10-
<p><%= label_tag 'password' %><br/>
11-
パスワード<br />
10+
<p><b><%= label_tag 'password' %></b><br/>
11+
<font size="-1">(パスワード)</font><br />
1212
<%= password_field_tag 'password', nil %></p>
1313

1414
<!-- Uncomment this if you want this functionality

config/routes.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88

99
map.namespace :api do |api|
1010
api.connect '/players/search/:name', :controller => 'players', :action => 'search'
11-
api.connect '/players/ranking/:item', :controller => 'players', :action => 'ranking'
12-
api.connect '/players/ranking34/:item', :controller => 'players', :action => 'ranking34'
11+
api.connect '/players/ranking/:country_id/:item', :controller => 'players', :action => 'ranking'
12+
api.connect '/players/ranking34/:country_id/:item', :controller => 'players', :action => 'ranking34'
1313
api.connect '/players/detail/:name', :controller => 'players', :action => 'detail'
1414
api.connect '/kifus/search/:player_name/:opponent_name/:begin_date/:end_date', :controller => 'kifus', :action => 'search'
1515
api.connect '/rate_change_histories/search/:name', :controller => 'rate_change_histories', :action => 'search'

0 commit comments

Comments
 (0)