Sha256: fa2a8a7509c551055abade591dd666e4a42433b3cf95fda6a9da94cfad0b53dd
Contents?: true
Size: 1.65 KB
Versions: 3
Compression:
Stored size: 1.65 KB
Contents
#!/usr/bin/env ruby -W1 $LOAD_PATH.unshift File.join(__dir__, '..', 'lib') require 'journal-cli' require 'optparse' trap('SIGINT') { exit! } module Journal class << self def usage puts 'Usage: journal [type] [date]' puts puts 'Available journal types:' list_journals end def list_journals config = Journal.config puts config['journals'].keys end def run(args) if args.count.zero? puts "No journal specified" usage Process.exit 1 end journal = args.shift date = if args.length.positive? Chronic.parse(args.join(' '), future: false) else Time.now end Journal.date = date if Journal.config['journals'].key?(journal) checkin = Journal::Checkin.new(journal) checkin.go else puts "Journal #{journal} not found" usage Process.exit 1 end end end end optparse = OptionParser.new do |opts| opts.banner = 'Usage: journal JOURNAL_KEY [NATURAL LANGUAGE DATE]' opts.on('-v', '--version', 'Display version') do puts "journal v#{Journal::VERSION}" Process.exit 0 end opts.on('-l', '--list', 'List available journals') do Journal.list_journals Process.exit 0 end Color.coloring = $stdout.isatty opts.on('--[no-]color', 'Colorize output') do |c| Color.coloring = c end opts.on('-h', '--help', 'Display help') do puts opts puts puts 'Available journal types:' config = Journal.config puts(config['journals'].keys.map { |k| "- #{k}" }) Process.exit 0 end end optparse.parse! Journal.run(ARGV)
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
journal-cli-1.0.36 | bin/journal |
journal-cli-1.0.35 | bin/journal |
journal-cli-1.0.34 | bin/journal |