Skip to content

Commit

Permalink
template updates; game, player, and game_player models; enum_class, t…
Browse files Browse the repository at this point in the history
…ribe, and alliance_member fake AR models
  • Loading branch information
= committed Dec 1, 2010
1 parent 80dfb93 commit d3fa6fb
Show file tree
Hide file tree
Showing 61 changed files with 1,254 additions and 14 deletions.
2 changes: 2 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ gem 'sqlite3-ruby', :require => 'sqlite3'
# gem 'sqlite3-ruby', :require => 'sqlite3'
# gem 'aws-s3', :require => 'aws/s3'

gem 'haml'

# Bundle gems for the local environment. Make sure to
# put test-only gems in this group so their generators
# and rake tasks are available in development mode:
Expand Down
83 changes: 83 additions & 0 deletions app/controllers/game_players_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
class GamePlayersController < ApplicationController
# GET /game_players
# GET /game_players.xml
def index
@game_players = GamePlayer.all

respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @game_players }
end
end

# GET /game_players/1
# GET /game_players/1.xml
def show
@game_player = GamePlayer.find(params[:id])

respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @game_player }
end
end

# GET /game_players/new
# GET /game_players/new.xml
def new
@game_player = GamePlayer.new

respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @game_player }
end
end

# GET /game_players/1/edit
def edit
@game_player = GamePlayer.find(params[:id])
end

# POST /game_players
# POST /game_players.xml
def create
@game_player = GamePlayer.new(params[:game_player])

respond_to do |format|
if @game_player.save
format.html { redirect_to(@game_player, :notice => 'Game player was successfully created.') }
format.xml { render :xml => @game_player, :status => :created, :location => @game_player }
else
format.html { render :action => "new" }
format.xml { render :xml => @game_player.errors, :status => :unprocessable_entity }
end
end
end

# PUT /game_players/1
# PUT /game_players/1.xml
def update
@game_player = GamePlayer.find(params[:id])

respond_to do |format|
if @game_player.update_attributes(params[:game_player])
format.html { redirect_to(@game_player, :notice => 'Game player was successfully updated.') }
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @game_player.errors, :status => :unprocessable_entity }
end
end
end

# DELETE /game_players/1
# DELETE /game_players/1.xml
def destroy
@game_player = GamePlayer.find(params[:id])
@game_player.destroy

respond_to do |format|
format.html { redirect_to(game_players_url) }
format.xml { head :ok }
end
end
end
83 changes: 83 additions & 0 deletions app/controllers/games_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
class GamesController < ApplicationController
# GET /games
# GET /games.xml
def index
@games = Game.all

respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @games }
end
end

# GET /games/1
# GET /games/1.xml
def show
@game = Game.find(params[:id])

respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @game }
end
end

# GET /games/new
# GET /games/new.xml
def new
@game = Game.new

respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @game }
end
end

# GET /games/1/edit
def edit
@game = Game.find(params[:id])
end

# POST /games
# POST /games.xml
def create
@game = Game.new(params[:game])

respond_to do |format|
if @game.save
format.html { redirect_to(@game, :notice => 'Game was successfully created.') }
format.xml { render :xml => @game, :status => :created, :location => @game }
else
format.html { render :action => "new" }
format.xml { render :xml => @game.errors, :status => :unprocessable_entity }
end
end
end

# PUT /games/1
# PUT /games/1.xml
def update
@game = Game.find(params[:id])

respond_to do |format|
if @game.update_attributes(params[:game])
format.html { redirect_to(@game, :notice => 'Game was successfully updated.') }
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @game.errors, :status => :unprocessable_entity }
end
end
end

# DELETE /games/1
# DELETE /games/1.xml
def destroy
@game = Game.find(params[:id])
@game.destroy

respond_to do |format|
format.html { redirect_to(games_url) }
format.xml { head :ok }
end
end
end
83 changes: 83 additions & 0 deletions app/controllers/players_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
class PlayersController < ApplicationController
# GET /players
# GET /players.xml
def index
@players = Player.all

respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @players }
end
end

# GET /players/1
# GET /players/1.xml
def show
@player = Player.find(params[:id])

respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @player }
end
end

# GET /players/new
# GET /players/new.xml
def new
@player = Player.new

respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @player }
end
end

# GET /players/1/edit
def edit
@player = Player.find(params[:id])
end

# POST /players
# POST /players.xml
def create
@player = Player.new(params[:player])

respond_to do |format|
if @player.save
format.html { redirect_to(@player, :notice => 'Player was successfully created.') }
format.xml { render :xml => @player, :status => :created, :location => @player }
else
format.html { render :action => "new" }
format.xml { render :xml => @player.errors, :status => :unprocessable_entity }
end
end
end

# PUT /players/1
# PUT /players/1.xml
def update
@player = Player.find(params[:id])

respond_to do |format|
if @player.update_attributes(params[:player])
format.html { redirect_to(@player, :notice => 'Player was successfully updated.') }
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @player.errors, :status => :unprocessable_entity }
end
end
end

# DELETE /players/1
# DELETE /players/1.xml
def destroy
@player = Player.find(params[:id])
@player.destroy

respond_to do |format|
format.html { redirect_to(players_url) }
format.xml { head :ok }
end
end
end
10 changes: 10 additions & 0 deletions app/helpers/application_helper.rb
Original file line number Diff line number Diff line change
@@ -1,2 +1,12 @@
module ApplicationHelper

def link_to_association(object, association_name, alt_text = '', class_name = nil)
associated_object = object.send(association_name)
associated_object ? (link_to associated_object.pretty_name, url_for(associated_object)) : alt_text
end

def render_form_association_field(f, class_name, field_name = nil)
render :partial => 'shared/form_association_field', :locals => {:f => f, :class_name => class_name, :field_name => field_name}
end

end
2 changes: 2 additions & 0 deletions app/helpers/game_players_helper.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
module GamePlayersHelper
end
2 changes: 2 additions & 0 deletions app/helpers/games_helper.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
module GamesHelper
end
2 changes: 2 additions & 0 deletions app/helpers/players_helper.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
module PlayersHelper
end
8 changes: 8 additions & 0 deletions app/models/alliance_member.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
class AllianceMember < EnumClass

MEMBER = new(:id => 1, :pretty_name => 'Member')
NON_MEMBER = new(:id => 2, :pretty_name => 'Non-Member')

ALL = [MEMBER, NON_MEMBER]

end
27 changes: 27 additions & 0 deletions app/models/enum_class.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
class EnumClass

def initialize(attributes)
@attributes = attributes
end

def id
@attributes[:id]
end

def pretty_name
@attributes[:pretty_name]
end

###
# Class Methods
###

def self.all
self::ALL
end

def self.find(id)
self::ALL.select { |a| a.id == id }
end

end
9 changes: 9 additions & 0 deletions app/models/game.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
class Game < ActiveRecord::Base

has_many :game_players

def pretty_name
self.name || "#{self.class.to_s} ##{self.id}"
end

end
28 changes: 28 additions & 0 deletions app/models/game_player.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
class GamePlayer < ActiveRecord::Base

belongs_to :game
belongs_to :player
# belongs_to :tribe
# belongs_to :alliance_member

###
# Fake Associations
###

def tribe
Tribe.find(self.tribe_id)
end

def alliance_member
AllianceMember.find(self.alliance_member_id)
end

###
# Other Methods
###

def pretty_name
self.travian_username || "#{self.class.to_s} ##{self.id}"
end

end
9 changes: 9 additions & 0 deletions app/models/player.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
class Player < ActiveRecord::Base

has_many :game_players

def pretty_name
self.name || "#{self.class.to_s} ##{self.id}"
end

end
9 changes: 9 additions & 0 deletions app/models/tribe.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
class Tribe < EnumClass

TEUTONS = new(:id => 1, :pretty_name => 'Teutons')
GAULS = new(:id => 2, :pretty_name => 'Gauls')
ROMANS = new(:id => 3, :pretty_name => 'Romans')

ALL = [TEUTONS, GAULS, ROMANS]

end
Loading

0 comments on commit d3fa6fb

Please sign in to comment.