Sha256: f3fb17fa5f9f8834360a58700a0f5b01ce8e16cf077f73537b62940a69ab8e1b
Contents?: true
Size: 758 Bytes
Versions: 1
Compression:
Stored size: 758 Bytes
Contents
require 'dmorrill10-utils/class' require 'delegate' module AcpcPokerTypes class ChipStack < DelegateClass(Rational) 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 end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
acpc_poker_types-3.0.2 | lib/acpc_poker_types/chip_stack.rb |