class Developer
  attr_accessor :name, :networth, :loans, :banks_loaned_from, :bankrupt

  def initialize(name, networth, loans, banks_loaned_from, bankrupt)
  @name, @networth, @loans, @banks_loaned_from, @bankrupt = name, 
networth, loans, banks_loaned_from, bankrupt
  end

  def is_solvent?
    if networth >= owes_amount
      then true
    else  false
    end
  end

        def owes_amount
    total_loans = 0
    loans_array = loans.split(',')
    loans_array.each { |item| total_loans += item.to_f }
    total_loans
  end

  def owes_bank(bank)
    loans_array = loans.split(',')
    banks_array = banks_loaned_from.split(',')
    banks_array.each do |item|
      if bank == item
        then i = banks_array.index(item)
        loans_array[i].to_f
      else
        puts("No such bank - check name.")
      end
    end
  end

end
**************************************************************************
**************************************************************************
class Bank
  attr_accessor :name, :amount_of_deposits, :amount_of_loans

  def initialize(name, amount_of_deposits, amount_of_loans)
    @name, @amount_of_deposits, @amount_of_loans, = name, 
amount_of_deposits, amount_of_loans
  end

  def moves_loans(amount)
    amount_of_loans -= amount
    amount_of_deposits += (amount*0.5)
  end

  def bank_is_solvent?
    if amount_of_deposits >= amount_of_loans
      true
    else
      false
    end
  end

end
**************************************************************************
**************************************************************************
require_relative '.\Bank.rb'
require_relative '.\Developers.rb'

class Bankrupter

  # creating the developers
  L = Developer.new("L", 650000, "1500000, 500000, 1000000, 300000", 
"AIB,BOI,Ulster,Anglo", false)
  M = Developer.new("M", 2100000, "1400000, 2000000", "AIB,Anglo", 
false)
  R = Developer.new("R", 900000, "500000, 700000, 1000000, 1200000", 
"AIB,BOI,RSB,Anglo", false)
  MF = Developer.new("MF", 1200000, "400000, 2000000, 8000000", 
"AIB,Ulster,Anglo", false)
  MN = Developer.new("MN", 3000000, "100000, 300000", "BOI,RSB", false)

  # creating the banks
  AIB = Bank.new("AIB", 450, 3000000, 500000, false)
  Anglo = Bank.new("Anglo", 520, 5000000, 12000000, false)
  BOI = Bank.new("BOI", 600, 2500000, 2500000, false)
  RBS = Bank.new("RBS", 530, 2800000, 1700000, false)
  Ulster = Bank.new("Ulster", 580, 2000000, 1500000, false)


  developer_object_array = [ L, M, R, MF, MN]
  bank_object_array = [ AIB, Anglo, BOI, RBS, Ulster ]

  #Now, test if they are solvent or bankrupt, and then the knock-on 
effects for the banks ...

  developer_object_array.each do |dev|
    if dev.is_solvent? == false
      then puts("#{dev.name} is bankrupt.")
        dev.bankrupt = true
        bank_object_array.each do |bank|
          bank.moves_loans
        end
    else puts("#{dev.name} is not bankrupt.")
    end
  end

end

-- 
Posted via http://www.ruby-forum.com/.