Class: CardNine::Dealer

Inherits:
Object
  • Object
show all
Defined in:
lib/card_nine/dealer.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(deck, locations, stages = {}) ⇒ Dealer

Returns a new instance of Dealer.

Parameters:



15
16
17
18
19
# File 'lib/card_nine/dealer.rb', line 15

def initialize(deck, locations, stages = {})
  @deck      = deck
  @locations = locations
  @stages    = stages
end

Instance Attribute Details

#deckCardNine::Deck

Returns:



10
11
12
# File 'lib/card_nine/dealer.rb', line 10

def deck
  @deck
end

#locationsArray<Symbol>

Returns:

  • (Array<Symbol>)


10
# File 'lib/card_nine/dealer.rb', line 10

attr_reader :deck, :locations, :stages

#playersHash<Symbol => Proc>

Returns:

  • (Hash<Symbol => Proc>)


10
# File 'lib/card_nine/dealer.rb', line 10

attr_reader :deck, :locations, :stages

#stagesObject (readonly)

Returns the value of attribute stages.



10
11
12
# File 'lib/card_nine/dealer.rb', line 10

def stages
  @stages
end

Instance Method Details

#deal(players) ⇒ CardNine::Table

Create a CardNine::Table

Parameters:

  • players (Array<String,Object>)

Returns:



24
25
26
27
# File 'lib/card_nine/dealer.rb', line 24

def deal(players)
  locs = (locations + players).reduce({}) { |h, e| h[e] = []; h }
  CardNine::Table.new(deck.shuffle, locs, stages)
end