Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

Ruby Ruby Objects and Classes Build a Bank Account Class Printing The BankAccount

I am so terribly stuck. I have no clue what to do here.

I have watched the video about 4 times now, and I still have no idea what to do. The challenge wants me to format the output in a way that is graphically pleasing; yet I have no idea how to go about doing that. Any help would be very much appreciated

bank_account.rb
class BankAccount
  attr_reader :name

  def initialize(name)
    @name = name
    @transactions = []
    add_transaction("Beginning Balance", 0)
  end

  def balance
    balance = 0
    @transactions.each do |transaction|
      balance += transaction[:amount]
    end
    balance
  end

  def debit(description, amount)
    add_transaction(description, -amount)
  end

  def credit(description, amount)
    add_transaction(description, amount)
  end

  def add_transaction(description, amount)
    @transactions.push(description: description, amount: amount)
  end

end

1 Answer

Jason Anders
MOD
Jason Anders
Treehouse Moderator 145,631 Points

Hi Jared,

I think you may just be over-thinking the challenge. The video does explain the simple answer, but is mixed in with other formatting and methods. This challenge, however, just wants you to create a to_s method to print the name and balance.

After the end for the add_transaction method, but before the final end of the code is where you will place your to_s method.

  def add_transaction(description, amount)
    @transactions.push(description: description, amount: amount)
  end

  def to_s                       
    "Name: #{name}, Balance: #{balance}"       # These 3 lines are what is needed for this challenge
  end

end

Hope that helps. Keep Coding! :)

Wow, thanks Jason! I was definitely over-thinking this issue, but then again, I figured that if I wasn't thinking about every little detail at once, I would miss something important. Ironically, it seems that I have!