0.0
Repository is archived
No commit activity in last 3 years
No release in over 3 years
There's a lot of open issues
Store your working/worked time simply. This gem gives simple CLI tool.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 2.1
>= 0
>= 12.3.3
~> 3.0

Runtime

~> 5.2.4.3
~> 0.20.0
 Project Readme

WorkingTimes

GitHub tag (latest by date) Gem GitHub GitHub Workflow Status

Store your working(worked) time simply. It's just record woking timestamp on specific file. Default record format is:

STARTED_AT,FINISHED_AT,REST_SEC,COMMENT

Feature

  • Simple CLI
  • Store working times like CSV format
  • Customizeable config storeing directory and work group

Installation

$ gem install working_times

Usage

CLI

$ wt

Commands:
  wt fi [COMMENT]                  # Short hand for *finish*
  wt finish [COMMENT]              # Finish working on current group.
  wt help [COMMAND]                # Describe available commands or one specific command
  wt init WORKON [TERM] [COMPANY]  # initialize data directory for your working
  wt rest DURATION                 # Record resting time. e.g. 'wt rest 1h30m''wt rest 1 hour 30 minutes'
  wt st [COMMENT]                  # Short hand for *start*
  wt start [COMMENT]               # Start working with comment.

Before start work, you have to initialize directory which stores working times.

$ wt init company_worktime

It creates directories like:

company_worktime
├── terms/
└── wtconf.json

You can also set 'term' (default is 'default') and 'company' (default is '') name (both is optional).

$ wt init company_worktime week1 'Arsley co.,ltd'

Start working with wt start.

$ wt start

You can set comment with it.

$ wt start "Today, I will implement some great feature!"

A: How long do you want to take a rest?
B: I need 45 minutes.
C: Ah... 1 hour?
D: '1h 30m'
A:

$ wt rest 45m # B
$ wt rest 1h  # C
$ wt rest '1h 30m' # D

(You can use 'hour' as 'h' and 'minute' as 'm') (DURATION must be a single string)

Finish working with wt finish. It ends current working so you have not to specify group.

$ wt finish

Yes, you can set comment.

$ wt finish "What a sleepy day..."

Short hands are available.

$ wt st # same as 'wt start'
$ wt fi # same as 'wt finish'

Config file

WorkingTimes loads configuration file at current_directory/wtconf.json. Currently, you can set 2 values: term and company. (You also set on wt init) Here is a default configurations below.

# wtconf.json

{
  "term": "week1",
  "company": "Arsley co.,ltd"
}

Development

Install dependencies.

$ bin/setup

Run tests.

$ bundle exec rake

Check behavior without installation.

$ bundle exec wt

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/arsley/working_times. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

Code of Conduct

Everyone interacting in the WorkingTimes project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.