aboutsummaryrefslogtreecommitdiffstats
path: root/parse_report.rb
diff options
context:
space:
mode:
Diffstat (limited to 'parse_report.rb')
-rw-r--r--parse_report.rb26
1 files changed, 15 insertions, 11 deletions
diff --git a/parse_report.rb b/parse_report.rb
index aac426b..efaa231 100644
--- a/parse_report.rb
+++ b/parse_report.rb
@@ -1,4 +1,5 @@
-require "csv"
+require 'sale'
+require 'csv'
csv_opts = {
:col_sep => ";",
@@ -7,19 +8,22 @@ csv_opts = {
:converters => :all,
}
+sales = []
sales_by_date = {}
-rows = CSV.foreach(ARGV[0], csv_opts)
-
-rows.each do |row|
+CSV.foreach(ARGV[0], csv_opts) do |row|
if row.count > 0
- d = Date.parse(row["Date"])
- if sales_by_date[d]
- sales_by_date[d][:count] += row["quantity"]
- sales_by_date[d][:total] += row["revenue EUR"]
- else
- sales_by_date[d] = {:count => row["quantity"], :total => row["revenue EUR"]}
- end
+ sales << SalesReporter::Sale.new(row["Date"], row["revenue EUR"], row["quantity"])
+ end
+end
+
+sales.each do |s|
+ d = s.date
+ if sales_by_date[d]
+ sales_by_date[d][:count] += s.quantity
+ sales_by_date[d][:total] += s.amount
+ else
+ sales_by_date[d] = {:count => s.quantity, :total => s.amount}
end
end