class FundRaise::Project
Attributes
current_funding[R]
name[RW]
target_funding[R]
Public Class Methods
from_csv(string)
click to toggle source
# File lib/fund_raise/project.rb, line 37 def self.from_csv(string) name, target, funding = string.split(',') player = Project.new(name, Integer(target), Integer(funding)) end
new(name, target= 1000, funding=0)
click to toggle source
# File lib/fund_raise/project.rb, line 12 def initialize (name, target= 1000, funding=0) @name = name @current_funding = funding @target_funding = target @pledges_received = Hash.new(0) end
Public Instance Methods
<=>(other_project)
click to toggle source
# File lib/fund_raise/project.rb, line 59 def <=>(other_project) needed_funding <=> other_project.needed_funding end
each_given_pledge() { |pledge| ... }
click to toggle source
# File lib/fund_raise/project.rb, line 26 def each_given_pledge @pledges_received.each do |name, value| pledge = Pledge.new(name, value) yield pledge end end
needed_funding()
click to toggle source
# File lib/fund_raise/project.rb, line 33 def needed_funding @target_funding - @current_funding end
pledge_money()
click to toggle source
# File lib/fund_raise/project.rb, line 46 def pledge_money @pledges_received.values.reduce(0, :+) end
pledge_received(pledge)
click to toggle source
# File lib/fund_raise/project.rb, line 19 def pledge_received(pledge) @pledges_received[pledge.name] += pledge.value add_funds(pledge.value) puts "#{@name} received a #{pledge.name} pledge worth $#{pledge.value}." puts "#{@name}'s pledges: #{@pledges_received}" end
time()
click to toggle source
# File lib/fund_raise/project.rb, line 54 def time current_time = Time.new current_time.strftime("%A, %B, %d, %Y") end
to_csv()
click to toggle source
# File lib/fund_raise/project.rb, line 42 def to_csv "#{@name}, #{@target_funding}, #{@current_funding}" end
to_s()
click to toggle source
# File lib/fund_raise/project.rb, line 63 def to_s "#{@name} has $#{@current_funding} in funding towards a goal of $#{@target_funding}" end
total_funding()
click to toggle source
# File lib/fund_raise/project.rb, line 50 def total_funding @current_funding + pledge_money end