Sha256: ef412fdd11ff4246e4829cfce19109ef91d17f4ca566bd464d9d7189f63d5308
Contents?: true
Size: 1.85 KB
Versions: 4
Compression:
Stored size: 1.85 KB
Contents
require 'thor' require 'redpomo/config' require 'redpomo/task_list' require 'redpomo/entry' require 'redpomo/entries_printer' require 'redpomo/fuzzy_converter' module Redpomo class CLI < ::Thor desc "pull", "imports Redmine open issues into local todo.txt" method_option :config, aliases: "-c", default: '~/.redpomo' def pull configure! TaskList.pull_from_trackers! end desc "push LOGFILE", "parses Pomodoro export file and imports to Redmine clients" method_option :config, aliases: "-c", default: '~/.redpomo' method_option :fuzzy, aliases: "-f", type: :boolean method_option :dry_run, aliases: "-n", type: :boolean def push(path) configure! entries = Entry.load_from_csv(path) entries = FuzzyConverter.convert(entries) if @options[:fuzzy] unless @options[:dry_run] entries.each(&:push!) end EntriesPrinter.print(entries) end desc "open TASK", "opens up the Redmine issue page of the selected task" method_option :config, aliases: "-c", default: '~/.redpomo' def open(task_number) configure! task = TaskList.find(task_number) task.open_in_browser! end desc "start TASK", "starts a Pomodoro session for the selected task" method_option :config, aliases: "-c", default: '~/.redpomo' def start(task_number) configure! task = TaskList.find(task_number) task.start_pomodoro! end desc "close TASK", "marks a todo.txt task as complete, and closes the related Redmine issue" method_option :config, aliases: "-c", default: '~/.redpomo' method_option :message, aliases: "-m" def close(task_number) configure! task = TaskList.find(task_number) task.done! task.close_issue! end private def configure! Config.load_from_yaml(@options[:config]) end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
redpomo-0.0.4 | lib/redpomo/cli.rb |
redpomo-0.0.3 | lib/redpomo/cli.rb |
redpomo-0.0.2 | lib/redpomo/cli.rb |
redpomo-0.0.1 | lib/redpomo/cli.rb |