Goldman

Goldman is a tool for [g]enerating [o]ption [l]ist of sche[d]ule. And goldman-rb is its ruby implementation.

Requirements

  • Ruby: MRI 3.0+

Installation

Goldman's installation is standard for a Ruby gem:

gem install goldman

Setup and configuration

Please create a configuration file (*.yml) and use the environment variable GOLDMAN_RB_PATH to set up the file's path. If GOLDMAN_RB_PATH is not set, the tool will use the default file path ~/.goldman/config.yml.

Please define the data of schedule options are described in config.yml as follows. The available data keys are everyday, weekday, weekend, and the day of the week.

data:
  Everyday:
    - "10:00~11:00"
  Weekday:
    - "12:00~13:00"
  Weekend:
    - "20:00~21:00"
  Monday: 
    - "16:00~17:00"
  Wednesday:
    - "16:00~17:00"
  Thursday:
    - "16:00~17:00"

You can customize the format to display each schedule option by setting them up in config.yml. If it is not customized, the tool uses the default one.

format:
  schedule: "%{date}(%{wday}) %{time}"
  date: "%Y/%m/%d"
  wday:
    Monday: "月"
    Tuesday: "火"
    Wednesday: "水"
    Thursday: "木"
    Friday: "金"
    Saturday: "土"
    Sunday: "日"

Usage

The start date will always be today if it is not specified.

# Generate schedule options in a week
goldman -g

# Generate schedule options starting from today (assume 2023-04-25) and ending to 2023-04-30
goldman -g -e 2023-04-30

# Generate schedule options starting from 2023-05-08 and ending to 2023-04-30
goldman -g -s 2023-05-08 -e 2023-05-12

# Generate schedule options in three weeks
goldman -g -w 3

# Generate schedule options in eight days
goldman -g -d 8

The example of generated schedule options is as follows.

❯ goldman -g -d 5
2023/04/25(Tue) 12:00~13:00
2023/04/26(Wed) 12:00~13:00
2023/04/26(Wed) 16:00~17:00
2023/04/27(Thu) 12:00~13:00
2023/04/27(Thu) 16:00~17:00
2023/04/28(Fri) 12:00~13:00