Sha256: 35d562f0de48b691a5f03c1cdb88c8f40fa509f2b09c69d0941fa48c90b97f05
Contents?: true
Size: 712 Bytes
Versions: 1
Compression:
Stored size: 712 Bytes
Contents
require 'dmorrill10-utils/class' require 'delegate' class ChipStack < DelegateClass(Integer) exceptions :illegal_number_of_chips # @param [#to_i] number_of_chips The number of chips to be made into a stack. # @raise (see #assert_valid_value) def initialize(number_of_chips=0) @value = number_of_chips.to_i assert_valid_value super @value end def receive!(number_of_chips) @value += number_of_chips assert_valid_value __setobj__ @value self end def give!(number_of_chips) receive!(-number_of_chips) end private # @raise IllegalNumberOfChips def assert_valid_value raise IllegalNumberOfChips if @value < 0 or @value.round != @value end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
acpc_poker_types-0.0.2 | lib/acpc_poker_types/chip_stack.rb |