Skip to content

Commit

Permalink
refactor report building
Browse files Browse the repository at this point in the history
  • Loading branch information
Don Park committed Sep 7, 2012
1 parent 9b4f88d commit bc24b4c
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 13 deletions.
2 changes: 1 addition & 1 deletion views/index.slim
Expand Up @@ -10,7 +10,7 @@ div.navbar
| Add

div#calendar
| Count #{count}
| Count #{count} Session Id: #{session["session_id"]} Id: #{session["id"]}
div#calendar-view

div#table.modal.hide.fade
Expand Down
1 change: 1 addition & 0 deletions views/layout.slim
Expand Up @@ -10,5 +10,6 @@ html
script src='#{{web_prefix}}/bootstrap/bootstrap.min.js'
script src='#{{web_prefix}}/js/xdate.js'
script src='#{{web_prefix}}/js/app.js'
title Financial Calendar
body
== yield
33 changes: 21 additions & 12 deletions web.rb
Expand Up @@ -22,9 +22,16 @@ def web_prefix

get '/' do
puts "/ #{params.inspect}"
puts @env['rack.session']
slim :index, :locals => {:count => Value.count}
end

get '/s/:number' do
puts "setting id to #{params["number"]}"
session["id"] = params["number"]
puts session.inspect
end

post '/:number' do
puts "post /:number #{params.inspect}"
if params["action"] == "delete"
Expand All @@ -47,19 +54,22 @@ def web_prefix

get '/data' do
puts "/data #{params.inspect}"
calendar_start = Date.parse(Time.at(params["start"].to_i).to_s)
calendar_end = Date.parse(Time.at(params["end"].to_i).to_s)
puts "data range #{calendar_start} #{calendar_end}"
values = Value.all
puts "Values.all count #{values.size}"
day_start = Date.parse(Time.at(params["start"].to_i).to_s)
day_end = Date.parse(Time.at(params["end"].to_i).to_s)
puts "data range #{day_start} #{day_end}"
report = build_calendar_report(day_start, day_end)
report.flatten.to_json
end

private

report = []
first_day_total = Value.where(["date < ?", calendar_start]).sum(:amount)
report_total = first_day_total
(calendar_start..calendar_end).each do |day|
def build_calendar_report(day_start, day_end)
previous_days_total = Value.where(["date < ?", day_start]).sum(:amount)
report_total = previous_days_total
(day_start..day_end).map do |day|

day_report = []
today_values = values.select{|v| v.date.to_date == day}
today_values = Value.where({date:day})
today_total = 0.0
today_values.each do |value|
background_color = value.amount > 0 ? "green" : "darkred"
Expand All @@ -74,9 +84,8 @@ def web_prefix
day_report << {:title => "$#{"%0.2f" % report_total} Balance",
:start => day, :editable => false}

report += day_report.reverse
day_report.reverse
end
report.to_json
end

end

0 comments on commit bc24b4c

Please sign in to comment.