class AppEarnings::Amazon::AmazonReport
Converts a csv file to a hash.
Attributes
exchange_info[RW]
Public Class Methods
new(name, transactions, exchange_info)
click to toggle source
# File lib/app_earnings/amazon/amazon_report.rb, line 11 def initialize(name, transactions, exchange_info) @exchange_info = exchange_info extract_amount(name, transactions) end
Public Instance Methods
amount_from_transactions(transactions)
click to toggle source
# File lib/app_earnings/amazon/amazon_report.rb, line 23 def amount_from_transactions(transactions) amounts = transactions.reduce({}) do |sum, transaction| marketplace = transaction[:marketplace] sum[marketplace] ||= 0.0 sum[marketplace] += transaction[:gross_earnings_or_refunds].to_f sum end { currency: 'USD', amount: convert_amounts(amounts).round(2) } end
convert_amounts(amounts)
click to toggle source
# File lib/app_earnings/amazon/amazon_report.rb, line 16 def convert_amounts(amounts) amounts.reduce(0.0) do |sum, (marketplace, amount)| amount = amount * @exchange_info[marketplace].to_f sum + amount end end