Class: CalcWorkingHours::CalcHelper

Inherits:
Object
  • Object
show all
Defined in:
lib/calc_working_hours/calc_helper.rb

Class Method Summary collapse

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

Returns:

  • (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

Returns:

  • (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

Returns:

  • (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

Returns:

  • (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

Returns:

  • (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