Sha256: 74570669001eb14ad3ca950d167a71d42ed215cbe82484de827b48785253d4b0

Contents?: true

Size: 796 Bytes

Versions: 1

Compression:

Stored size: 796 Bytes

Contents

# frozen_string_literal: true

require 'erb'
require 'hbtrack/report/calendar'

module Hbtrack
  class Generator 
    def initialize(hbt)
      @hbt = hbt
      initialize_stat
      @week_days = Hbtrack::Calendar::WEEKDAYS
      @weeks = Hbtrack::Calendar.weeks(Date.today)
    end

    def initialize_stat
      @stat = @hbt.total_habits_stat
      @stat[:total] = @stat[:done] + @stat[:undone]
      @stat[:percentage] = (@stat[:done] / @stat[:total].to_f).round(2) * 100
    end

    def td_for(date)
      Hbtrack::Calendar.td_for(date, @hbt.habits.last.latest_progress)
    end

    def generate
      file_path = File.expand_path("../report.html.erb", __FILE__)
      renderer = ERB.new(File.read(file_path))
      File.write('report.html', renderer.result(binding))
    end    
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hbtrack-0.0.6 lib/hbtrack/report/generator.rb