Sha256: 048c6cf9fe017762c676e156bbb964928337d45f28d9d400830a1f402a83306c
Contents?: true
Size: 874 Bytes
Versions: 3
Compression:
Stored size: 874 Bytes
Contents
require 'delegate' require 'contextual_exceptions' using ContextualExceptions::ClassRefinement 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, "\"#{@value.to_s}\" is an invalid value of chips (cannot be negative)" if @value < 0 end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
acpc_poker_types-3.1.2 | lib/acpc_poker_types/chip_stack.rb |
acpc_poker_types-3.1.1 | lib/acpc_poker_types/chip_stack.rb |
acpc_poker_types-3.1.0 | lib/acpc_poker_types/chip_stack.rb |