class DndTreasureCalc::Coins
Attributes
amount[RW]
type[R]
Public Class Methods
new(amount, type)
click to toggle source
# File lib/dnd_treasure_calc/coins.rb, line 10 def initialize(amount, type) raise RuntimeError, "#{type} is not a valid coin type" unless COINS.include?(type) @amount = amount @type = type end
Public Instance Methods
+(coins)
click to toggle source
# File lib/dnd_treasure_calc/coins.rb, line 16 def +(coins) raise RuntimeError, "#{coins} is not an instance of Coins" unless coins.is_a?(Coins) coins.convert_to(@type) ? 0 : convert_to(coins.type) Coins.new(@amount + coins.amount, @type) end
convert_to(type)
click to toggle source
Converts this coin to the type provided
# File lib/dnd_treasure_calc/coins.rb, line 23 def convert_to(type) return false if @@conversions[@type].nil? || @@conversions[@type][type].nil? return true if @type == type @amount *= @@conversions[@type][type] @type = type end