Class: TheFox::Timr::Command::HelpCommand

Inherits:
BasicCommand show all
Defined in:
lib/timr/command/help_command.rb

Overview

Print the overview help page.

Instance Attribute Summary

Attributes inherited from BasicCommand

#cwd

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BasicCommand

create_command_from_argv, get_command_class_by_name, #shutdown

Constructor Details

#initialize(argv = Array.new) ⇒ HelpCommand

Returns a new instance of HelpCommand.



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/timr/command/help_command.rb', line 9

def initialize(argv = Array.new)
	# puts "help #{argv}"
	
	super()
	
	@command_opt = nil
	
	loop_c = 0 # Limit the loop.
	while loop_c < 1024 && argv.length > 0
		loop_c += 1
		
		unless @command_opt
			@command_opt = argv.shift
		end
	end
end

Class Method Details

Print DateTime help.



65
66
67
68
69
70
71
# File 'lib/timr/command/help_command.rb', line 65

def print_datetime_help
	puts 'DateTime Formats'
	puts "    <date_time>    A DateTime is one single string"
	puts "                   representing '<date> <time>'."
	puts '    <date>         Formats: YYYYMMDD, YYYY-MM-DD, MM/DD/YYYY, DD.MM.YYYY'
	puts '    <time>         Formats: HH:MM, HH:MM:SS'
end

Print Estimation help.



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# File 'lib/timr/command/help_command.rb', line 74

def print_estimation_help(ext = false)
	puts 'Duration'
	puts '    Duration is parsed by chronic_duration.'
	puts '    Examples:'
	puts "        -e 2:10:5         # Sets Estimation to 2h 10m 5s."
	puts "        -e '2h 10m 5s'    # Sets Estimation to 2h 10m 5s."
	puts
	if ext
		puts "    Use '+' or '-' to calculate with Estimation Times:"
		puts "        -e '-45m'         # Subtracts 45 minutes from the original Estimation."
		puts "        -e '+1h 30m'      # Adds 1 hour 30 minutes to the original Estimation."
		puts
	end
	puts '    See chronic_duration for more examples.'
	puts '    https://github.com/henrypoydar/chronic_duration'
end

Alias



45
46
47
48
49
# File 'lib/timr/command/help_command.rb', line 45

def print_id_help
	print_task_id_help
	puts
	print_track_id_help
end

Print Man Units help.



92
93
94
95
96
# File 'lib/timr/command/help_command.rb', line 92

def print_man_units_help
	puts 'Man Units'
	puts '    8 hours are 1 man-day.'
	puts '    5 man-days are 1 man-week, and so on.'
end

Print help about Task ID.



52
53
54
55
# File 'lib/timr/command/help_command.rb', line 52

def print_task_id_help
	puts '    <task_id>     Task ID (SHA1 hex)'
	puts '                  If not specified a new Task will be created.'
end

Print help about Track ID.



58
59
60
61
62
# File 'lib/timr/command/help_command.rb', line 58

def print_track_id_help
	puts '    <track_id>    Track ID (SHA1 hex)'
	puts '                  If specified a new Track with the same'
	puts '                  message will be created.'
end

Instance Method Details

#runObject

See BasicCommand#run.



27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/timr/command/help_command.rb', line 27

def run
	if @command_opt
		command_class = BasicCommand.get_command_class_by_name(@command_opt)
		
		if defined?(command_class::MAN_PATH)
			system("man #{command_class::MAN_PATH}")
		else
			raise HelpCommandError, "No manual page found for '#{@command_opt}'. See 'timr --help'."
		end
	else
		help
	end
end