Class: Kidoikoi

Inherits:
Object
  • Object
show all
Defined in:
lib/kidoikoi.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(database) ⇒ Kidoikoi

Returns a new instance of Kidoikoi.



4
5
6
# File 'lib/kidoikoi.rb', line 4

def initialize(database)
  @database = database
end

Instance Attribute Details

#databaseObject (readonly)

Returns the value of attribute database.



2
3
4
# File 'lib/kidoikoi.rb', line 2

def database
  @database
end

Instance Method Details

#clear_debt_between(user1, user2) ⇒ Object



19
20
21
22
# File 'lib/kidoikoi.rb', line 19

def clear_debt_between(user1, user2)
  delete_debt(user_from: user1, user_to: user2)
  delete_debt(user_from: user2, user_to: user1)
end

#debts_of(user) ⇒ Object Also known as: resume_debt



24
25
26
27
28
# File 'lib/kidoikoi.rb', line 24

def debts_of(user)
  debts = database.get(user) || {}
  debts = eval(debts) if debts.is_a? String
  debts
end

#split_bill_between(debtors, total_value, creditor) ⇒ Object



8
9
10
11
12
13
14
15
16
17
# File 'lib/kidoikoi.rb', line 8

def split_bill_between(debtors, total_value, creditor)
  remove_all_duplicate_in(debtors, creditor)

  total_people = debtors.length + 1
  amount = calcul_amount(total_value, total_people)

  debtors.each do |debtor|
    add_amount_to_debt_between(debtor, creditor, amount)
  end
end