class CrowdFund::Project
Attributes
amount[RW]
name[RW]
target[RW]
Public Class Methods
new(name, amount=0, target=1000)
click to toggle source
# File lib/crowd_fund/project.rb, line 13 def initialize(name, amount=0, target=1000) @name = name.upcase @amount = amount @target = target @pledges_received = Hash.new(0) end
Public Instance Methods
each_pledge_received() { |pledge| ... }
click to toggle source
# File lib/crowd_fund/project.rb, line 24 def each_pledge_received @pledges_received.each do |name, value| yield Pledge.new(name, value) end end
receive_pledge(pledge)
click to toggle source
# File lib/crowd_fund/project.rb, line 30 def receive_pledge(pledge) @pledges_received[pledge.name] += pledge.value @amount += total_pledges puts "#{@name} received a #{pledge.name} pledge worth $#{pledge.value}." puts "Project #{@name} pledges: #{@pledges_received}" end
total_pledges()
click to toggle source
# File lib/crowd_fund/project.rb, line 20 def total_pledges @pledges_received.values.reduce(0, :+) end