Sha256: d39d76154458d9a394b38b89073c4f35636877764fa1339dffcbf27cee27d6b7

Contents?: true

Size: 917 Bytes

Versions: 1

Compression:

Stored size: 917 Bytes

Contents

#!/usr/bin/env ruby
# frozen_string_literal: true

STDOUT.sync = true

require 'clamp'
require 'date'

require_relative '../lib/attend'

parse_date = Date.method(:parse)

Clamp do
  option '--email', 'EMAIL', 'employee email id', required: true
  option '--check_in', 'CHECK_IN', 'check in time', default: '9:00'
  option '--check_out', 'CHECK_OUT', 'check out time', default: '17:00'
  option '--from', 'FROM', 'date of the first work day', default: Date.today, &parse_date
  option '--to', 'TO', 'date of the las work day', default: Date.today, &parse_date
  option '--dry', :flag, 'enables dry run'
  option '--verbose', :flag, 'print verbose error message'

  def execute
    Attend.register(email: email, from: from, to: to, check_in: check_in, check_out: check_out, dry_run: dry?)
  rescue StandardError => e
    if verbose?
      puts e.full_message
    else
      puts e.message
    end

    exit 1
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
attend-2.0.1 exe/attend