Class: Kidoikoi
- Inherits:
-
Object
- Object
- Kidoikoi
- Defined in:
- lib/kidoikoi.rb
Instance Attribute Summary collapse
-
#database ⇒ Object
readonly
Returns the value of attribute database.
Instance Method Summary collapse
- #clear_debt_between(user1, user2) ⇒ Object
- #debts_of(user) ⇒ Object (also: #resume_debt)
-
#initialize(database) ⇒ Kidoikoi
constructor
A new instance of Kidoikoi.
- #split_bill_between(debtors, total_value, creditor) ⇒ Object
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
#database ⇒ Object (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 |