Class: WorkLogResponse

Inherits:
Object
  • Object
show all
Defined in:
worklog/webserver.rb

Overview

Class to render the main page of the WorkLog web application.

Instance Method Summary collapse

Constructor Details

#initialize(storage) ⇒ WorkLogResponse

Returns a new instance of WorkLogResponse.



29
30
31
# File 'worklog/webserver.rb', line 29

def initialize(storage)
  @storage = storage
end

Instance Method Details

#response(request) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'worklog/webserver.rb', line 33

def response(request)
  template = ERB.new(File.read(File.join(File.dirname(__FILE__), 'templates', 'index.html.erb')), trim_mode: '-')
  @params = request.params
  days = @params['days'].nil? ? 7 : @params['days'].to_i
  tags = @params['tags'].nil? ? nil : @params['tags'].split(',')
  epics_only = @params['epics_only'] == 'true'
  presentation = @params['presentation'] == 'true'
  logs = @storage.days_between(Date.today - days, Date.today, epics_only, tags).reverse
  total_entries = logs.sum { |entry| entry.entries.length }
  _ = total_entries
  _ = presentation

  [200, {}, [template.result(binding)]]
end