class Cxeed::Attendance

Attributes

arrive_at[RW]
date[RW]
leave_at[RW]

Public Class Methods

new(date, arrive_at, leave_at) click to toggle source
# File lib/cxeed/attendance.rb, line 8
def initialize(date, arrive_at, leave_at)
  @date = Time.parse(date, Time.now)
  @arrive_at = parse_time(arrive_at)
  @leave_at = parse_time(leave_at)
end

Public Instance Methods

attendance_time() click to toggle source
# File lib/cxeed/attendance.rb, line 32
def attendance_time
  "#{ @arrive_at&.strftime('%H:%M') } - #{ @leave_at&.strftime('%H:%M') } (#{ '%.2f' % working_hour }) "
end
parse_time(time) click to toggle source
# File lib/cxeed/attendance.rb, line 14
def parse_time(time)
  if time.empty? || time == '  :  '
    nil
  else
    Time.parse(time, Time.now)
  end
end
working_hour() click to toggle source
# File lib/cxeed/attendance.rb, line 23
def working_hour
  if @leave_at.nil? || @arrive_at.nil?
    0
  else
    # TODO: 午前休とかに対応する
    (@leave_at - @arrive_at) / 3600 - 1
  end
end