Class: CalcWorkingHours::CalcHelper
- Inherits:
-
Object
- Object
- CalcWorkingHours::CalcHelper
- Defined in:
- lib/calc_working_hours/calc_helper.rb
Class Method Summary collapse
- .change_to_minute(str) ⇒ Object
- .change_to_time_string(minute) ⇒ Object
- .total_break_time(break_time) ⇒ Object
- .valid_break_time?(break_time, starting_time, ending_time) ⇒ Boolean
- .valid_range?(first, second) ⇒ Boolean
- .valid_time_format?(time) ⇒ Boolean
- .valid_time_order?(first, second) ⇒ Boolean
- .valid_working_hours_format?(str) ⇒ Boolean
Class Method Details
.change_to_minute(str) ⇒ Object
73 74 75 76 |
# File 'lib/calc_working_hours/calc_helper.rb', line 73 def change_to_minute(str) /(\d+):(\d+)/ =~ str return $1.to_i * 60 + $2.to_i end |
.change_to_time_string(minute) ⇒ Object
78 79 80 81 82 83 84 85 |
# File 'lib/calc_working_hours/calc_helper.rb', line 78 def change_to_time_string(minute) hour = minute.div(60).to_s minute = (minute % 60).to_s if minute.length == 1 minute = "0" + minute end return hour + ":" + minute end |
.total_break_time(break_time) ⇒ Object
63 64 65 66 67 68 69 70 71 |
# File 'lib/calc_working_hours/calc_helper.rb', line 63 def total_break_time(break_time) total = WorkingHours.new("0:00") unless break_time.empty? break_time.each do |time| total.add_time(time[1]).minus_time(time[0]) end end return total end |
.valid_break_time?(break_time, starting_time, ending_time) ⇒ Boolean
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/calc_working_hours/calc_helper.rb', line 41 def valid_break_time?(break_time, starting_time, ending_time) flag = false break_time.each do |time| unless time return flag = true end if time.length == 2 && time.class == Array if valid_time_format?(time[0]) && valid_time_format?(time[1]) time.each do |t| if change_to_minute(starting_time) > change_to_minute(t) || change_to_minute(ending_time) < change_to_minute(t) return flag = false end end flag = true end else return flag = false end end return flag end |
.valid_range?(first, second) ⇒ Boolean
36 37 38 39 |
# File 'lib/calc_working_hours/calc_helper.rb', line 36 def valid_range?(first, second) false true if change_to_minute(first) <= change_to_minute(second) end |
.valid_time_format?(time) ⇒ Boolean
19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/calc_working_hours/calc_helper.rb', line 19 def valid_time_format?(time) flag = false if time.class == String if /(\d+):(\d+)/ =~ time if ($1.to_i <= 48 && $1.to_i >= 0) && ($2.to_i < 60 && $2.to_i >= 0) flag = true end end end return flag end |
.valid_time_order?(first, second) ⇒ Boolean
31 32 33 34 |
# File 'lib/calc_working_hours/calc_helper.rb', line 31 def valid_time_order?(first, second) false true if change_to_minute(first) <= change_to_minute(second) end |
.valid_working_hours_format?(str) ⇒ Boolean
7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/calc_working_hours/calc_helper.rb', line 7 def valid_working_hours_format?(str) flag = false if str.class == String if /\d+:(\d+)/ =~ str if $1.to_i < 60 && $1.to_i >= 0 flag = true end end end return flag end |