class Rubygoal::CoachDefinition

Constants

PlayerDefinition

Attributes

team_name[R]

Public Class Methods

method_missing(method, *args) click to toggle source
# File lib/rubygoal/coach_definition.rb, line 21
def method_missing(method, *args)
  name = args.first.to_sym
  @team_players << PlayerDefinition.new(name, method.to_sym)
end
name(team_name) click to toggle source
# File lib/rubygoal/coach_definition.rb, line 12
def name(team_name)
  @team_name = team_name
end
players(&block) click to toggle source
# File lib/rubygoal/coach_definition.rb, line 16
def players(&block)
  @team_players = []
  instance_eval(&block)
end
team(&block) click to toggle source
# File lib/rubygoal/coach_definition.rb, line 8
def team(&block)
  instance_eval(&block)
end
team_players() click to toggle source
# File lib/rubygoal/coach_definition.rb, line 26
def team_players
  @team_players || [
    PlayerDefinition.new(:captain, :captain),
    PlayerDefinition.new(:fast1, :fast),
    PlayerDefinition.new(:fast2, :fast),
    PlayerDefinition.new(:fast3, :fast),
    PlayerDefinition.new(:average1, :average),
    PlayerDefinition.new(:average2, :average),
    PlayerDefinition.new(:average3, :average),
    PlayerDefinition.new(:average4, :average),
    PlayerDefinition.new(:average5, :average),
    PlayerDefinition.new(:average6, :average),
  ]
end

Public Instance Methods

formation(match) click to toggle source
# File lib/rubygoal/coach_definition.rb, line 50
def formation(match)
  raise NotImplementedError
end
name() click to toggle source
# File lib/rubygoal/coach_definition.rb, line 46
def name
  self.class.team_name
end
players() click to toggle source
# File lib/rubygoal/coach_definition.rb, line 42
def players
  self.class.team_players
end