30 lines
		
	
	
		
			461 B
		
	
	
	
		
			Crystal
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			461 B
		
	
	
	
		
			Crystal
		
	
	
	
	
	
| require "json"
 | |
| 
 | |
| module Dayoff
 | |
|   VERSION = "0.1.0"
 | |
| 
 | |
|   class PlannedDate
 | |
|     JSON.mapping(
 | |
|       date: String,
 | |
|       hours: Int32,
 | |
|     )
 | |
|   end
 | |
| 
 | |
|   class App
 | |
|     def initialize(pddates_path)
 | |
|       content = File.open(pddates_path) do |file|
 | |
|         file.gets_to_end
 | |
|       end
 | |
|       @pdates = Array(PlannedDate).from_json(content)
 | |
|     end
 | |
| 
 | |
|     def get_work_hours
 | |
|       sum = 0
 | |
|       @pdates.each do |wd|
 | |
|         sum += wd.hours
 | |
|       end
 | |
|       sum
 | |
|     end
 | |
|   end
 | |
| end
 |