to-do 1.2.7 → 1.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/.travis.yml +0 -2
- data/README.md +9 -13
- data/VERSION +1 -1
- data/lib/to-do/cli.rb +132 -33
- data/lib/to-do/dbmigrations/003_priorities.rb +7 -0
- data/lib/to-do/tasks.rb +34 -3
- data/to-do.gemspec +3 -2
- metadata +20 -19
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -1,17 +1,10 @@
|
|
1
|
-
#to-do 1.
|
1
|
+
#to-do 1.3 [](http://travis-ci.org/kristenmills/to-do)
|
2
2
|
|
3
3
|
A simple command line todo application written in Ruby.
|
4
4
|
|
5
|
-
##What's new in 1.
|
6
|
-
*
|
7
|
-
*
|
8
|
-
|
9
|
-
##What's new in 1.2
|
10
|
-
* Remove a list
|
11
|
-
* Better usage messages
|
12
|
-
* Better documentation using YARD
|
13
|
-
* Better layout
|
14
|
-
* SQlite backend
|
5
|
+
##What's new in 1.3
|
6
|
+
* Priorities
|
7
|
+
* Sorting
|
15
8
|
|
16
9
|
##Install
|
17
10
|
gem install to-do
|
@@ -26,8 +19,13 @@ A simple command line todo application written in Ruby.
|
|
26
19
|
* Colored display
|
27
20
|
* Undo Completing
|
28
21
|
* Remove lists
|
22
|
+
* Sortable
|
23
|
+
* Priorities
|
29
24
|
|
30
25
|
##How to Use
|
26
|
+
This is just basic usage. For more information, view
|
27
|
+
todo -h
|
28
|
+
todo --help
|
31
29
|
|
32
30
|
###Create a new todo list or switch to an existing list
|
33
31
|
|
@@ -102,8 +100,6 @@ A simple command line todo application written in Ruby.
|
|
102
100
|
* Tags
|
103
101
|
* Due Dates
|
104
102
|
* Tab Completion
|
105
|
-
* Sorting
|
106
|
-
* Priorites
|
107
103
|
* Reorganizing
|
108
104
|
|
109
105
|
##Contributing to to-do
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.3.0
|
data/lib/to-do/cli.rb
CHANGED
@@ -14,7 +14,23 @@ module Todo
|
|
14
14
|
# The option flags
|
15
15
|
OPTIONS = {
|
16
16
|
:is_num => false,
|
17
|
-
:clear_all => false
|
17
|
+
:clear_all => false,
|
18
|
+
:change_priority => false,
|
19
|
+
:priority => 1,
|
20
|
+
:sort => "n"
|
21
|
+
}
|
22
|
+
|
23
|
+
# Usage messages for each of the commnands
|
24
|
+
USAGE = {
|
25
|
+
:default => "todo [COMMAND] [option] [arguments]",
|
26
|
+
:create => "todo create|switch <LIST NAME>",
|
27
|
+
:display => "todo [display|d] [-s {p,n}]",
|
28
|
+
:add => "todo add|a [-p {high, medium, low}] <TASK>",
|
29
|
+
:finish => "todo finish|f [-n <TASK_NUMBER>] [<TASK>]",
|
30
|
+
:undo => "todo undo|u [-n <TASK_NUMBER>] [<TASK>]",
|
31
|
+
:clear => "todo clear [-a]",
|
32
|
+
:remove => "todo remove|rm <LIST NAME>",
|
33
|
+
:set => "todo set|s [-p {high, medium, low}] [-n <TASK_NUMBER>] [<TASK>]"
|
18
34
|
}
|
19
35
|
|
20
36
|
# Displays the list in a human readable form:
|
@@ -34,11 +50,18 @@ module Todo
|
|
34
50
|
def display
|
35
51
|
tasks = DATABASE[:Tasks].join(:Task_list, :Tasks__id => :Task_list__Task_id).join(
|
36
52
|
:Lists, :Lists__id => :Task_list__List_id).select(:Tasks__Task_number, :Tasks__Name,
|
37
|
-
:Tasks__Completed).filter(:Lists__Name => Config[:working_list_name])
|
38
|
-
tasks = tasks.order(:Task_number)
|
53
|
+
:Tasks__Completed, :Tasks__Priority).filter(:Lists__Name => Config[:working_list_name])
|
54
|
+
tasks = OPTIONS[:sort] == "n" ? tasks.order(:Task_number) : tasks.order(:Priority, :Task_number)
|
39
55
|
list = DATABASE[:Lists][:Name=>Config[:working_list_name]]
|
40
56
|
count = list.nil? ? 0 : list[:Total]
|
41
57
|
completed_count = tasks.filter(:Completed=>1).count
|
58
|
+
|
59
|
+
priority = {
|
60
|
+
0 => "**",
|
61
|
+
1 => "*",
|
62
|
+
2 => ""
|
63
|
+
}
|
64
|
+
#print out the header
|
42
65
|
Config[:width].times do
|
43
66
|
print "*".colorize(:light_red)
|
44
67
|
end
|
@@ -52,23 +75,29 @@ module Todo
|
|
52
75
|
end
|
53
76
|
puts
|
54
77
|
puts
|
78
|
+
|
79
|
+
#prints out incomplete tasks
|
55
80
|
puts "Todo:".colorize(:light_green)
|
56
81
|
tasks.each do |task|
|
57
82
|
next if task[:Completed] == 1
|
58
|
-
printf "%
|
59
|
-
|
83
|
+
printf "%2s".colorize(:light_magenta), priority[task[:Priority]]
|
84
|
+
printf "%3d. ".colorize(:light_yellow), task[:Task_number]
|
85
|
+
split_v = split task[:Name], Config[:width] - 7
|
60
86
|
puts split_v[0]
|
61
87
|
split_v.shift
|
62
88
|
split_v.each do |line|
|
63
89
|
printf " %s\n", line
|
64
90
|
end
|
65
91
|
end
|
92
|
+
|
93
|
+
#Prints out complete tasks
|
66
94
|
print "\nCompleted:".colorize(:light_green)
|
67
95
|
printf "%#{Config[:width]+4}s\n", "#{completed_count}/#{count}".colorize(:light_cyan)
|
68
96
|
tasks.each do |task|
|
69
97
|
next if task[:Completed] == 0
|
70
|
-
printf "%
|
71
|
-
|
98
|
+
printf "%2s".colorize(:light_magenta), priority[task[:Priority]]
|
99
|
+
printf "%3d. ".to_s.colorize(:light_yellow), task[:Task_number]
|
100
|
+
split_v = split task[:Name], Config[:width]-7
|
72
101
|
puts split_v[0]
|
73
102
|
split_v.shift
|
74
103
|
split_v.each do |line|
|
@@ -83,26 +112,82 @@ module Todo
|
|
83
112
|
OptionParser.new do |opts|
|
84
113
|
version_path = File.expand_path("../../VERSION", File.dirname(__FILE__))
|
85
114
|
opts.version = File.exist?(version_path) ? File.read(version_path) : ""
|
86
|
-
opts.banner = "
|
87
|
-
|
88
|
-
opts.separator "
|
89
|
-
opts.separator "
|
90
|
-
|
91
|
-
|
92
|
-
opts.separator "
|
93
|
-
opts.separator "
|
94
|
-
|
95
|
-
|
96
|
-
opts.
|
115
|
+
opts.banner = "Todo: A simple command line todo application\n\n".colorize(:light_green) +
|
116
|
+
" usage:".colorize(:light_cyan) + " todo [COMMAND] [option] [arguments]".colorize(:light_red)
|
117
|
+
opts.separator ""
|
118
|
+
opts.separator "Commands:".colorize(:light_green)
|
119
|
+
|
120
|
+
#todo create, switch
|
121
|
+
opts.separator " *".colorize(:light_cyan) + " create, switch".colorize(:light_yellow) + " creates a new list or switches to an existing one".colorize(:light_magenta)
|
122
|
+
opts.separator " usage: ".colorize(:light_cyan) + USAGE[:create].colorize(:light_red)
|
123
|
+
|
124
|
+
# todo display, d
|
125
|
+
opts.separator ""
|
126
|
+
opts.separator " *".colorize(:light_cyan) + " display, d".colorize(:light_yellow) + " displays the current list".colorize(:light_magenta)
|
127
|
+
opts.separator " usage: ".colorize(:light_cyan) + USAGE[:display].colorize(:light_red)
|
128
|
+
opts.on('-s TYPE', [:p, :n], "sorts the task by ") do |s|
|
129
|
+
OPTIONS[:sort] = s
|
130
|
+
end
|
131
|
+
|
132
|
+
#todo add, a
|
133
|
+
opts.separator ""
|
134
|
+
opts.separator " *".colorize(:light_cyan) + " add, a".colorize(:light_yellow) + " adds the task to the current list".colorize(:light_magenta)
|
135
|
+
opts.separator " usage: ".colorize(:light_cyan) + USAGE[:add].colorize(:light_red)
|
136
|
+
opts.on('-p PRIORITY', ["high", "medium", "low"], 'set the priority of the task to one of the following.\n' +
|
137
|
+
' Default is medium') do |p|
|
138
|
+
priorities = {
|
139
|
+
"high" => 0,
|
140
|
+
"medium" => 1,
|
141
|
+
"low" => 2
|
142
|
+
}
|
143
|
+
OPTIONS[:change_priority] = true
|
144
|
+
OPTIONS[:priority] = priorities[p]
|
145
|
+
end
|
146
|
+
|
147
|
+
#todo finish, f
|
148
|
+
opts.separator ""
|
149
|
+
opts.separator " *".colorize(:light_cyan) + " finish , f".colorize(:light_yellow) + " marks a task as finished".colorize(:light_magenta)
|
150
|
+
opts.separator " usage: ".colorize(:light_cyan) + USAGE[:finish].colorize(:light_red)
|
151
|
+
opts.on('-n', 'references a task by its number') do |n|
|
97
152
|
OPTIONS[:is_num] = true
|
98
153
|
end
|
99
|
-
|
154
|
+
|
155
|
+
#todo undo, u
|
156
|
+
opts.separator ""
|
157
|
+
opts.separator " *".colorize(:light_cyan) + " undo, u".colorize(:light_yellow) + " undos a completed task".colorize(:light_magenta)
|
158
|
+
opts.separator " usage: ".colorize(:light_cyan) + USAGE[:undo].colorize(:light_red)
|
159
|
+
opts.separator " -n references a task by its number"
|
160
|
+
|
161
|
+
#todo clear
|
162
|
+
opts.separator ""
|
163
|
+
opts.separator " *".colorize(:light_cyan) + " clear".colorize(:light_yellow) + " clears a completed tasks".colorize(:light_magenta)
|
164
|
+
opts.separator " usage: ".colorize(:light_cyan) + USAGE[:clear].colorize(:light_red)
|
165
|
+
opts.on('-a', 'resets the entire list') do
|
100
166
|
OPTIONS[:clear_all] = true
|
101
167
|
end
|
168
|
+
|
169
|
+
#todo remove, rm
|
170
|
+
opts.separator ""
|
171
|
+
opts.separator " *".colorize(:light_cyan) + " remove, rm".colorize(:light_yellow) + " removes the list completely.".colorize(:light_magenta)
|
172
|
+
opts.separator " usage: ".colorize(:light_cyan) + USAGE[:remove].colorize(:light_red)
|
173
|
+
|
174
|
+
#todo set, s
|
175
|
+
opts.separator ""
|
176
|
+
opts.separator " *".colorize(:light_cyan) + " set, s".colorize(:light_yellow) + " adds additional information to a task".colorize(:light_magenta)
|
177
|
+
opts.separator " usage: ".colorize(:light_cyan) + USAGE[:set].colorize(:light_red)
|
178
|
+
opts.separator " -p TYPE set the priority of the task to one of the following.\n" +
|
179
|
+
" Default is medium"
|
180
|
+
opts.separator " -n references a task by its number"
|
181
|
+
|
182
|
+
opts.separator ""
|
183
|
+
opts.separator "Other Options: ".colorize(:light_green)
|
184
|
+
|
185
|
+
#todo -h
|
102
186
|
opts.on('-h', '--help', 'displays this screen' ) do
|
103
187
|
puts opts
|
104
188
|
exit
|
105
189
|
end
|
190
|
+
#todo -w
|
106
191
|
opts.on('-w', "displays the name of the current list") do
|
107
192
|
if Config[:working_list_exists]
|
108
193
|
puts "Working list is #{Config[:working_list_name]}"
|
@@ -112,6 +197,7 @@ module Todo
|
|
112
197
|
end
|
113
198
|
exit
|
114
199
|
end
|
200
|
+
|
115
201
|
end
|
116
202
|
end
|
117
203
|
|
@@ -124,7 +210,7 @@ module Todo
|
|
124
210
|
display
|
125
211
|
else
|
126
212
|
puts "Working List does not exist yet. Please create one"
|
127
|
-
puts "
|
213
|
+
puts "Usage: #{USAGE[:create]}"
|
128
214
|
end
|
129
215
|
when "create", "switch"
|
130
216
|
if ARGV.count > 0
|
@@ -135,34 +221,34 @@ module Todo
|
|
135
221
|
puts
|
136
222
|
display
|
137
223
|
else
|
138
|
-
puts "Usage:
|
224
|
+
puts "Usage: #{USAGE[:create]}"
|
139
225
|
end
|
140
226
|
when "add", "a"
|
141
227
|
if Config[:working_list_exists]
|
142
|
-
ARGV.count > 1 ? Tasks.add(ARGV[1..-1].join(' ')) : puts("Usage:
|
228
|
+
ARGV.count > 1 ? Tasks.add(ARGV[1..-1].join(' '), OPTIONS[:priority]) : puts("Usage: #{USAGE[:add]}")
|
143
229
|
puts
|
144
230
|
display
|
145
231
|
else
|
146
232
|
puts "Working List does not exist yet. Please create one"
|
147
|
-
puts "
|
233
|
+
puts "Usage: #{USAGE[:create]}"
|
148
234
|
end
|
149
235
|
when "finish", "f"
|
150
236
|
if Config[:working_list_exists]
|
151
|
-
ARGV.count > 1 ? Tasks.finish(ARGV[1..-1].join(' '), OPTIONS[:is_num]) : puts("Usage:
|
237
|
+
ARGV.count > 1 ? Tasks.finish(ARGV[1..-1].join(' '), OPTIONS[:is_num]) : puts("Usage: #{USAGE[:finish]}")
|
152
238
|
puts
|
153
239
|
display
|
154
240
|
else
|
155
241
|
puts "Working List does not exist yet. Please create one"
|
156
|
-
puts "
|
242
|
+
puts "Usage: #{USAGE[:create]}"
|
157
243
|
end
|
158
244
|
when "undo", "u"
|
159
245
|
if Config[:working_list_exists]
|
160
|
-
ARGV.count > 1 ? Tasks.undo(ARGV[1..-1].join(' '), OPTIONS[:is_num]) : puts("Usage:
|
246
|
+
ARGV.count > 1 ? Tasks.undo(ARGV[1..-1].join(' '), OPTIONS[:is_num]) : puts("Usage: #{USAGE[:undo]}")
|
161
247
|
puts
|
162
248
|
display
|
163
249
|
else
|
164
250
|
puts "Working List does not exist yet. Please create one"
|
165
|
-
puts "
|
251
|
+
puts "Usage: #{USAGE[:create]}"
|
166
252
|
end
|
167
253
|
when "clear"
|
168
254
|
if Config[:working_list_exists]
|
@@ -171,14 +257,28 @@ module Todo
|
|
171
257
|
display
|
172
258
|
else
|
173
259
|
puts "Working List does not exist yet. Please create one"
|
174
|
-
puts "
|
260
|
+
puts "Usage: #{USAGE[:create]}"
|
175
261
|
end
|
176
262
|
when "remove", "r"
|
177
263
|
if ARGV.count > 1
|
178
264
|
Tasks.clear true, ARGV[1..-1].map{|word| word.capitalize}.join(' ')
|
179
265
|
else
|
180
|
-
puts "Usage
|
266
|
+
puts "Usage: #{USAGE[:remove]}"
|
181
267
|
end
|
268
|
+
when "set", "s"
|
269
|
+
if Config[:working_list_exists]
|
270
|
+
if ARGV.count > 1
|
271
|
+
if OPTIONS[:change_priority]
|
272
|
+
Tasks.set_priority OPTIONS[:priority], ARGV[1..-1].join(' '), OPTIONS[:is_num]
|
273
|
+
end
|
274
|
+
display
|
275
|
+
else
|
276
|
+
puts "Usage: #{USAGE[:set]}"
|
277
|
+
end
|
278
|
+
else
|
279
|
+
puts "Working List does not exist yet. Please create one"
|
280
|
+
puts "Usage: #{USAGE[:create]}"
|
281
|
+
end
|
182
282
|
else
|
183
283
|
puts "Invalid command. See todo -h for help."
|
184
284
|
end
|
@@ -187,7 +287,7 @@ module Todo
|
|
187
287
|
display
|
188
288
|
else
|
189
289
|
puts "Working List does not exist yet. Please create one"
|
190
|
-
puts "
|
290
|
+
puts "Usage: #{USAGE[:create]}"
|
191
291
|
end
|
192
292
|
end
|
193
293
|
end
|
@@ -198,7 +298,7 @@ module Todo
|
|
198
298
|
begin
|
199
299
|
optparse.parse!
|
200
300
|
commands_parser
|
201
|
-
rescue OptionParser::InvalidOption => e
|
301
|
+
rescue OptionParser::InvalidOption, OptionParser::InvalidArgument => e
|
202
302
|
puts "#{e}. See todo -h for help."
|
203
303
|
end
|
204
304
|
end
|
@@ -239,5 +339,4 @@ module Todo
|
|
239
339
|
end
|
240
340
|
|
241
341
|
end
|
242
|
-
end
|
243
|
-
|
342
|
+
end
|
data/lib/to-do/tasks.rb
CHANGED
@@ -3,21 +3,24 @@ module Todo
|
|
3
3
|
# The module that contains methods for manipulating the database
|
4
4
|
module Tasks
|
5
5
|
extend self
|
6
|
+
|
7
|
+
# The Database
|
6
8
|
DATABASE = Sequel.sqlite Todo::Config[:task_database]
|
7
9
|
|
8
10
|
# Adds the tast to the list
|
9
11
|
#
|
10
12
|
# @param [String] task the task to add to the list
|
11
|
-
|
13
|
+
# @param [Integer] priority the priority of the task
|
14
|
+
def add task, priority=1
|
12
15
|
list = DATABASE[:Lists].select(:Total, :Id)[:Name=>Todo::Config[:working_list_name]]
|
13
16
|
if !list
|
14
17
|
DATABASE[:Lists] << {:Name => Config[:working_list_name], :Total => 0}
|
15
18
|
list = DATABASE[:Lists].select(:Total, :Id)[:Name=>Todo::Config[:working_list_name]]
|
16
19
|
end
|
17
20
|
count = list[:Total]+1
|
18
|
-
DATABASE[:Tasks] << {:Task_number => count, :Name => task, :Completed => 0}
|
21
|
+
DATABASE[:Tasks] << {:Task_number => count, :Name => task, :Completed => 0, :Priority => priority}
|
19
22
|
list_id = list[:Id]
|
20
|
-
task_id = DATABASE[:Tasks]
|
23
|
+
task_id = DATABASE[:Tasks].with_sql("SELECT last_insert_rowid() FROM Tasks")
|
21
24
|
DATABASE[:Task_list] << {:Task_id => task_id, :List_id => list_id}
|
22
25
|
DATABASE[:Lists].filter(:Id => list_id).update(:Total => count)
|
23
26
|
end
|
@@ -103,5 +106,33 @@ module Todo
|
|
103
106
|
end
|
104
107
|
end
|
105
108
|
end
|
109
|
+
|
110
|
+
# Sets the priority of a task
|
111
|
+
#
|
112
|
+
# @param priority [Integer] the new priority
|
113
|
+
# @param tasks either a task number or a task name to change the priority of
|
114
|
+
# @param [Bool] is_num if the task param represents the task number, true.
|
115
|
+
# false if it is the task name
|
116
|
+
def set_priority priority, task, is_num
|
117
|
+
list_id = DATABASE[:Lists][:Name => Config[:working_list_name]][:Id]
|
118
|
+
names =DATABASE[:Tasks].join(:Task_list, :Tasks__Id => :Task_list__Task_Id).join(
|
119
|
+
:Lists, :Lists__Id => :Task_list__List_id).select(:Tasks__Id, :Tasks__Task_number,
|
120
|
+
:Tasks__Name).filter(:Lists__Name => Config[:working_list_name])
|
121
|
+
if is_num
|
122
|
+
found_task = names[:Task_number => task]
|
123
|
+
if found_task
|
124
|
+
DATABASE[:Tasks].filter(:Id => found_task[:Id]).update(:Priority => priority)
|
125
|
+
else
|
126
|
+
puts "Task ##{task} is not in the list."
|
127
|
+
end
|
128
|
+
else
|
129
|
+
found_task = names.with_sql("SELECT * FROM :table WHERE Name = :task COLLATE NOCASE",:table=>names, :task=>task).first
|
130
|
+
if found_task
|
131
|
+
DATABASE[:Tasks].filter(:Id => found_task[:Id]).update(:Priority => priority)
|
132
|
+
else
|
133
|
+
puts "Task '#{task}' is not in the list."
|
134
|
+
end
|
135
|
+
end
|
136
|
+
end
|
106
137
|
end
|
107
138
|
end
|
data/to-do.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "to-do"
|
8
|
-
s.version = "1.
|
8
|
+
s.version = "1.3.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Kristen Mills"]
|
12
|
-
s.date = "2012-07-
|
12
|
+
s.date = "2012-07-30"
|
13
13
|
s.description = "A simple command line todo application"
|
14
14
|
s.email = "kristen@kristen-mills.com"
|
15
15
|
s.executables = ["todo"]
|
@@ -31,6 +31,7 @@ Gem::Specification.new do |s|
|
|
31
31
|
"lib/to-do/config.rb",
|
32
32
|
"lib/to-do/dbmigrations/001_create_tables.rb",
|
33
33
|
"lib/to-do/dbmigrations/002_rename_name_column.rb",
|
34
|
+
"lib/to-do/dbmigrations/003_priorities.rb",
|
34
35
|
"lib/to-do/old/list.rb",
|
35
36
|
"lib/to-do/tasks.rb",
|
36
37
|
"test/helper.rb",
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: to-do
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-07-
|
12
|
+
date: 2012-07-30 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: shoulda
|
16
|
-
requirement: &
|
16
|
+
requirement: &70152148957820 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70152148957820
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: sqlite3
|
27
|
-
requirement: &
|
27
|
+
requirement: &70152148957040 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70152148957040
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: sequel
|
38
|
-
requirement: &
|
38
|
+
requirement: &70152148972400 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '3.12'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70152148972400
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: bundler
|
49
|
-
requirement: &
|
49
|
+
requirement: &70152148971900 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 1.0.0
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70152148971900
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: jeweler
|
60
|
-
requirement: &
|
60
|
+
requirement: &70152148971240 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 1.8.4
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70152148971240
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: simplecov
|
71
|
-
requirement: &
|
71
|
+
requirement: &70152148970480 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70152148970480
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: colorize
|
82
|
-
requirement: &
|
82
|
+
requirement: &70152148969680 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :runtime
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70152148969680
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: yard
|
93
|
-
requirement: &
|
93
|
+
requirement: &70152148968700 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,7 +98,7 @@ dependencies:
|
|
98
98
|
version: '0'
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *70152148968700
|
102
102
|
description: A simple command line todo application
|
103
103
|
email: kristen@kristen-mills.com
|
104
104
|
executables:
|
@@ -121,6 +121,7 @@ files:
|
|
121
121
|
- lib/to-do/config.rb
|
122
122
|
- lib/to-do/dbmigrations/001_create_tables.rb
|
123
123
|
- lib/to-do/dbmigrations/002_rename_name_column.rb
|
124
|
+
- lib/to-do/dbmigrations/003_priorities.rb
|
124
125
|
- lib/to-do/old/list.rb
|
125
126
|
- lib/to-do/tasks.rb
|
126
127
|
- test/helper.rb
|
@@ -141,7 +142,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
141
142
|
version: '0'
|
142
143
|
segments:
|
143
144
|
- 0
|
144
|
-
hash:
|
145
|
+
hash: -4015950886949104978
|
145
146
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
146
147
|
none: false
|
147
148
|
requirements:
|