do_stuff 0.2.4 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/do_stuff/runner.rb +32 -8
- data/lib/do_stuff/tasklist.rb +6 -2
- metadata +2 -2
data/lib/do_stuff/runner.rb
CHANGED
@@ -12,6 +12,9 @@ module DoStuff
|
|
12
12
|
abort "Error: Couldn't find #{dostuffrc}.\nPlease create it and put " +
|
13
13
|
"the path to your todo.txt file in it." unless File.exists?(dostuffrc)
|
14
14
|
|
15
|
+
# This will be set by options if we are to change the text of a task.
|
16
|
+
edit_target = nil
|
17
|
+
|
15
18
|
taskfile = File.expand_path(File.read(dostuffrc).chomp)
|
16
19
|
unless File.exists?(taskfile)
|
17
20
|
FileUtils.mkdir_p(File.dirname(taskfile))
|
@@ -20,8 +23,12 @@ module DoStuff
|
|
20
23
|
|
21
24
|
opts = OptionParser.new do |opts|
|
22
25
|
opts.on('-e [TASK NUM]') do |task_num|
|
23
|
-
|
24
|
-
|
26
|
+
if argv.empty?
|
27
|
+
edit(taskfile, task_num)
|
28
|
+
exit
|
29
|
+
else
|
30
|
+
edit_target = task_num
|
31
|
+
end
|
25
32
|
end
|
26
33
|
|
27
34
|
opts.on('--standalone FILE') do |file|
|
@@ -52,6 +59,22 @@ module DoStuff
|
|
52
59
|
abort e.message
|
53
60
|
end
|
54
61
|
|
62
|
+
if edit_target
|
63
|
+
before_text = tasklist[edit_target]
|
64
|
+
tasklist[edit_target] = argv.join(' ')
|
65
|
+
tasklist.write!
|
66
|
+
|
67
|
+
if !before_text
|
68
|
+
puts "Added ##{edit_target}: #{tasklist[edit_target]}"
|
69
|
+
else
|
70
|
+
puts "Changed ##{edit_target}:"
|
71
|
+
puts "#{RED}-#{before_text}#{RESET}"
|
72
|
+
puts "#{GREEN}+#{tasklist[edit_target]}#{RESET}"
|
73
|
+
end
|
74
|
+
|
75
|
+
exit
|
76
|
+
end
|
77
|
+
|
55
78
|
if argv.length == 0
|
56
79
|
tasklist.tasks.sort.each do |num, task|
|
57
80
|
puts "#{num}. #{task}"
|
@@ -145,16 +168,17 @@ module DoStuff
|
|
145
168
|
program = File.basename($0)
|
146
169
|
|
147
170
|
print <<-EOS
|
148
|
-
usage: #{program}
|
149
|
-
#{program} <task desc>
|
150
|
-
#{program} <task num>
|
151
|
-
#{program} -e [task num]
|
152
|
-
#{program} -
|
171
|
+
usage: #{program} list unfinished tasks
|
172
|
+
#{program} <task desc> add a new task
|
173
|
+
#{program} <task num> erase task
|
174
|
+
#{program} -e [task num] edit task file [and jump to given task]
|
175
|
+
#{program} -e<task num> <text> replace task with given text
|
176
|
+
#{program} -h, --help show this message
|
153
177
|
EOS
|
154
178
|
|
155
179
|
if defined?(::DoStuff::Standalone)
|
156
180
|
print <<-EOS
|
157
|
-
#{program} --standalone FILE
|
181
|
+
#{program} --standalone FILE generate a standalone version of do_stuff
|
158
182
|
EOS
|
159
183
|
end
|
160
184
|
end
|
data/lib/do_stuff/tasklist.rb
CHANGED
@@ -19,11 +19,15 @@ module DoStuff
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def [](task_num)
|
22
|
-
@tasks[task_num]
|
22
|
+
@tasks[task_num.to_i]
|
23
|
+
end
|
24
|
+
|
25
|
+
def []=(task_num, task)
|
26
|
+
@tasks[task_num.to_i] = task
|
23
27
|
end
|
24
28
|
|
25
29
|
def delete(task_num)
|
26
|
-
@tasks.delete(task_num)
|
30
|
+
@tasks.delete(task_num.to_i)
|
27
31
|
end
|
28
32
|
|
29
33
|
def write!
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: do_stuff
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-03-
|
12
|
+
date: 2012-03-27 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: A minimalistic command-line todo list
|
15
15
|
email: scott@scott-olson.org
|