to-do 1.1.2 → 1.2.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/Gemfile +4 -0
- data/README.md +19 -14
- data/VERSION +1 -1
- data/lib/to-do/cli.rb +99 -35
- data/lib/to-do/config.rb +26 -8
- data/lib/to-do/list.rb +45 -7
- data/lib/to-do.rb +7 -1
- data/test/test_to-do.rb +1 -1
- data/to-do.gemspec +5 -3
- metadata +26 -16
- data/Gemfile.lock +0 -35
data/Gemfile
CHANGED
@@ -7,8 +7,12 @@ source "http://rubygems.org"
|
|
7
7
|
# Include everything needed to run rake, tests, features, etc.
|
8
8
|
gem "shoulda", ">= 0"
|
9
9
|
gem "rdoc", "~> 3.12"
|
10
|
+
|
10
11
|
gem "bundler", "~> 1.0.0"
|
11
12
|
gem "jeweler", "~> 1.8.4"
|
12
13
|
gem "simplecov", ">= 0"
|
13
14
|
gem "colorize", ">= 0"
|
14
15
|
|
16
|
+
group :development do
|
17
|
+
gem "yard", ">= 0"
|
18
|
+
end
|
data/README.md
CHANGED
@@ -1,16 +1,12 @@
|
|
1
|
-
#to-do 1.
|
1
|
+
#to-do 1.2
|
2
2
|
|
3
3
|
A simple command line todo application.
|
4
4
|
|
5
|
-
##What's new in 1.1.2
|
6
|
-
* Bug fixes
|
7
5
|
|
8
|
-
##What's new in 1.
|
9
|
-
*
|
10
|
-
*
|
11
|
-
*
|
12
|
-
* Display list more often
|
13
|
-
* Bug fixes
|
6
|
+
##What's new in 1.2
|
7
|
+
* Remove a list
|
8
|
+
* Better usage messages
|
9
|
+
* Better documentation using YARD
|
14
10
|
|
15
11
|
##Install
|
16
12
|
gem install to-do
|
@@ -24,6 +20,7 @@ A simple command line todo application.
|
|
24
20
|
* Display list
|
25
21
|
* Colored display
|
26
22
|
* Undo completing
|
23
|
+
* Removelists
|
27
24
|
|
28
25
|
##How to Use
|
29
26
|
|
@@ -34,7 +31,7 @@ A simple command line todo application.
|
|
34
31
|
|
35
32
|
###Add some tasks to the current list
|
36
33
|
|
37
|
-
todo add Cook
|
34
|
+
todo add Cook Dinner
|
38
35
|
todo add Write Paper
|
39
36
|
todo a Do Laundy
|
40
37
|
todo a Clean Things
|
@@ -45,7 +42,7 @@ A simple command line todo application.
|
|
45
42
|
todo d
|
46
43
|
|
47
44
|
********************************
|
48
|
-
|
45
|
+
My New Todo List
|
49
46
|
********************************
|
50
47
|
|
51
48
|
1. Cook Dinner
|
@@ -60,7 +57,7 @@ A simple command line todo application.
|
|
60
57
|
todo f Clean Things
|
61
58
|
|
62
59
|
********************************
|
63
|
-
|
60
|
+
My New Todo List
|
64
61
|
********************************
|
65
62
|
|
66
63
|
1. Cook Dinner
|
@@ -82,20 +79,28 @@ A simple command line todo application.
|
|
82
79
|
|
83
80
|
todo clear -a
|
84
81
|
|
82
|
+
###Delete a list
|
83
|
+
|
84
|
+
todo remove My New Todo List
|
85
|
+
todo rm My Existing list
|
86
|
+
|
85
87
|
###View usage details
|
86
88
|
|
87
89
|
todo -h
|
88
90
|
todo --help
|
89
91
|
|
90
|
-
###View
|
92
|
+
###View version
|
91
93
|
todo -v
|
92
94
|
todo --version
|
93
95
|
|
94
96
|
##Future Plans
|
95
|
-
* Delete list
|
96
97
|
* Tags
|
97
98
|
* Due Dates
|
98
99
|
* Tab Completion
|
100
|
+
* YAML Record
|
101
|
+
* Sorting
|
102
|
+
* Priorites
|
103
|
+
* Reorganizing
|
99
104
|
|
100
105
|
##Contributing to to-do
|
101
106
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.2.0
|
data/lib/to-do/cli.rb
CHANGED
@@ -1,17 +1,40 @@
|
|
1
1
|
require 'optparse'
|
2
2
|
require 'yaml'
|
3
3
|
require 'colorize'
|
4
|
-
$data = ENV["HOME"]+"/.todo/lists/"
|
5
|
-
$settings = ENV["HOME"]+"/.todo/config.yml"
|
6
4
|
|
7
|
-
module Todo
|
8
|
-
module
|
5
|
+
module Todo
|
6
|
+
# CLI is the module that contains the methods to display the list as well as
|
7
|
+
# the methods to parse command line arguments.
|
8
|
+
module CLI
|
9
9
|
extend self
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
Config[:working_list_name]+'.yml'))
|
10
|
+
WORKING_LIST = ""
|
11
|
+
if File.exists?(File.join(Config[:lists_directory], Config[:working_list_name]+'.yml'))
|
12
|
+
# The current working list
|
13
|
+
WORKING_LIST=YAML.load_file(File.join(Config[:lists_directory], Config[:working_list_name]+'.yml'))
|
14
|
+
end
|
15
|
+
|
16
|
+
# The option flags
|
17
|
+
OPTIONS = {
|
18
|
+
:is_num => false,
|
19
|
+
:clear_all => false
|
20
|
+
}
|
14
21
|
|
22
|
+
# Displays the list in a human readable form:
|
23
|
+
#
|
24
|
+
# @example
|
25
|
+
# ********************************
|
26
|
+
# List name
|
27
|
+
# ********************************
|
28
|
+
#
|
29
|
+
# Todo:
|
30
|
+
# 1. Task 1
|
31
|
+
# 2. Task 2
|
32
|
+
#
|
33
|
+
# Completed: 2/4
|
34
|
+
# 3. Task 3
|
35
|
+
# 4. Task 4
|
36
|
+
#
|
37
|
+
# @param [List] list the list you want to display.
|
15
38
|
def display list = WORKING_LIST
|
16
39
|
puts "********************************".colorize(:light_red)
|
17
40
|
puts list.name.center(32).colorize(:light_cyan)
|
@@ -31,13 +54,9 @@ module Todo
|
|
31
54
|
puts
|
32
55
|
end
|
33
56
|
|
34
|
-
#
|
35
|
-
def
|
36
|
-
|
37
|
-
:is_num => false,
|
38
|
-
:clear_all => false
|
39
|
-
}
|
40
|
-
optparse = OptionParser.new do |opts|
|
57
|
+
# Helper method for parsing the options using OptionParser
|
58
|
+
def option_parser
|
59
|
+
OptionParser.new do |opts|
|
41
60
|
version_path = File.expand_path("../../VERSION", File.dirname(__FILE__))
|
42
61
|
opts.version = File.exist?(version_path) ? File.read(version_path) : ""
|
43
62
|
opts.banner = "Usage: todo [COMMAND] [option] [arguments]"
|
@@ -47,36 +66,60 @@ module Todo
|
|
47
66
|
opts.separator " finish, f [option] <task> marks the task as completed"
|
48
67
|
opts.separator " clear [option] clears completed tasks"
|
49
68
|
opts.separator " undo, u [option] <task> undos a completed task"
|
50
|
-
opts.separator " create, switch <
|
69
|
+
opts.separator " create, switch <list name> creates a new list or switches to an existing one"
|
70
|
+
opts.separator " remove, rm <list name> removes the list completely (cannot undo)"
|
51
71
|
opts.separator "Options: "
|
52
72
|
opts.on('-n', 'with finish or undo, references a task by its number') do
|
53
|
-
|
73
|
+
OPTIONS[:is_num] = true
|
54
74
|
end
|
55
75
|
opts.on('-a', 'with clear, resets the entire list') do
|
56
|
-
|
76
|
+
OPTIONS[:clear_all] = true
|
57
77
|
end
|
58
78
|
opts.on('-h', '--help', 'displays this screen' ) do
|
59
79
|
puts opts
|
60
|
-
|
80
|
+
exit
|
61
81
|
end
|
62
82
|
opts.on('-w', "displays the name of the current list") do
|
63
83
|
puts "Working list is #{WORKING_LIST.name}"
|
64
|
-
|
84
|
+
exit
|
65
85
|
end
|
66
86
|
end
|
67
|
-
|
87
|
+
end
|
88
|
+
|
89
|
+
# Helper method for parsing commands.
|
90
|
+
def commands_parser
|
68
91
|
if ARGV.count > 0
|
69
92
|
case ARGV[0]
|
70
93
|
when "add", "a"
|
71
|
-
|
72
|
-
|
94
|
+
if Config[:working_list_exists]
|
95
|
+
ARGV.count > 1 ? WORKING_LIST.add(ARGV[1..-1].join(' ')) : puts("Usage: todo add <task name>")
|
96
|
+
display
|
97
|
+
else
|
98
|
+
puts "Working List does not exist yet. Please create one"
|
99
|
+
puts "todo create <list name>"
|
100
|
+
end
|
73
101
|
when "finish", "f"
|
74
|
-
|
75
|
-
|
102
|
+
if Config[:working_list_exists]
|
103
|
+
WORKING_LIST.finish ARGV[1..-1].join(' '), OPTIONS[:is_num]
|
104
|
+
display
|
105
|
+
else
|
106
|
+
puts "Working List does not exist yet. Please create one"
|
107
|
+
puts "todo create <list name>"
|
108
|
+
end
|
76
109
|
when "clear"
|
77
|
-
|
110
|
+
if Config[:working_list_exists]
|
111
|
+
WORKING_LIST.clear OPTIONS[:clear_all]
|
112
|
+
else
|
113
|
+
puts "Working List does not exist yet. Please create one"
|
114
|
+
puts "todo create <list name>"
|
115
|
+
end
|
78
116
|
when "display", "d"
|
79
|
-
|
117
|
+
if Config[:working_list_exists]
|
118
|
+
display
|
119
|
+
else
|
120
|
+
puts "Working List does not exist yet. Please create one"
|
121
|
+
puts "todo create <list name>"
|
122
|
+
end
|
80
123
|
when "create", "switch"
|
81
124
|
if File.exists?(File.join(Config[:lists_directory], ARGV[1..-1].join('_').downcase + '.yml'))
|
82
125
|
Config[:working_list_name] = ARGV[1..-1].join('_').downcase
|
@@ -84,24 +127,45 @@ module Todo
|
|
84
127
|
new_list = YAML.load_file(File.join(Config[:lists_directory],
|
85
128
|
Config[:working_list_name]+'.yml')) if File.exists?(File.join(Config[:lists_directory],
|
86
129
|
Config[:working_list_name]+'.yml'))
|
87
|
-
|
130
|
+
display new_list
|
88
131
|
else
|
89
|
-
ARGV.count > 1 ? List.new(ARGV[1..-1].join(' ')) : puts("
|
132
|
+
ARGV.count > 1 ? List.new(ARGV[1..-1].join(' ')) : puts("Usage: todo create <list_name> ")
|
90
133
|
new_list = YAML.load_file(File.join(Config[:lists_directory],
|
91
134
|
Config[:working_list_name]+'.yml')) if File.exists?(File.join(Config[:lists_directory],
|
92
135
|
Config[:working_list_name]+'.yml'))
|
93
|
-
|
136
|
+
display new_list
|
94
137
|
end
|
95
138
|
when "undo", "u"
|
96
|
-
|
97
|
-
|
139
|
+
if Config[:working_list_exists]
|
140
|
+
WORKING_LIST.undo ARGV[1..-1].join(' '), OPTIONS[:is_num]
|
141
|
+
display
|
142
|
+
else
|
143
|
+
puts "Working List does not exist yet. Please create one"
|
144
|
+
puts "todo create <list name>"
|
145
|
+
end
|
146
|
+
when "remove", "r"
|
147
|
+
if ARGV.count > 1
|
148
|
+
List.remove ARGV[1..-1].join(' ')
|
149
|
+
end
|
98
150
|
else
|
99
|
-
puts "Invalid
|
151
|
+
puts "Invalid command. See todo -h for help."
|
100
152
|
end
|
101
153
|
else
|
102
|
-
|
103
|
-
|
154
|
+
if Config[:working_list_exists]
|
155
|
+
display
|
156
|
+
else
|
157
|
+
puts "Working List does not exist yet. Please create one"
|
158
|
+
puts "todo create <list name>"
|
159
|
+
end
|
104
160
|
end
|
105
161
|
end
|
162
|
+
|
163
|
+
# Parses the commands and options
|
164
|
+
def parse
|
165
|
+
optparse = option_parser
|
166
|
+
optparse.parse!
|
167
|
+
commands_parser
|
168
|
+
end
|
169
|
+
|
106
170
|
end
|
107
171
|
end
|
data/lib/to-do/config.rb
CHANGED
@@ -1,29 +1,47 @@
|
|
1
1
|
require 'yaml'
|
2
|
-
|
3
|
-
# similar to SSam Goldstein's config.rb for time trap
|
4
|
-
# https://github.com/samg/timetrap/
|
2
|
+
|
5
3
|
module Todo
|
4
|
+
# The module that contains the methods relevant to configurations and custom
|
5
|
+
# configuration in config.yml
|
6
|
+
#
|
7
|
+
# similar to Sam Goldstein's config.rb for timetrap
|
8
|
+
# @see https://github.com/samg/timetrap/
|
6
9
|
module Config
|
7
10
|
extend self
|
11
|
+
# The path to the the config file
|
8
12
|
PATH = File.join(ENV['HOME'], '.to-do', 'config.yml')
|
9
13
|
|
10
|
-
#
|
14
|
+
# Default config key value pairs
|
15
|
+
#
|
16
|
+
# @return [Hash<Symbol,Object>] the default configurations in a hash
|
11
17
|
def defaults
|
12
18
|
{
|
13
19
|
# the location of all all your list yaml files
|
14
20
|
:lists_directory => File.join(ENV["HOME"],".to-do","lists"),
|
15
21
|
# the current working list
|
16
|
-
:working_list_name => "default_list"
|
22
|
+
:working_list_name => "default_list",
|
23
|
+
# does the working list actually exist
|
24
|
+
:working_list_exists => false
|
17
25
|
}
|
18
26
|
end
|
19
27
|
|
20
|
-
#
|
28
|
+
# Overloading [] operator
|
29
|
+
#
|
30
|
+
# Accessor for values in the config
|
31
|
+
#
|
32
|
+
# @param [Symbol] key the key in the config hash
|
33
|
+
# @return [Object] the value associated with that key
|
21
34
|
def [] key
|
22
35
|
fileval = YAML.load_file PATH
|
23
36
|
defaults.merge(fileval)[key]
|
24
37
|
end
|
25
38
|
|
26
|
-
#
|
39
|
+
# Overloading []= operator
|
40
|
+
#
|
41
|
+
# Setter for values in the Config hash
|
42
|
+
#
|
43
|
+
# @param [Symbol] key the key you are setting a value for
|
44
|
+
# @param [Object] value the value you associated with the key
|
27
45
|
def []= key, value
|
28
46
|
fileval = YAML.load_file PATH
|
29
47
|
configs = defaults.merge(fileval)
|
@@ -33,7 +51,7 @@ module Todo
|
|
33
51
|
end
|
34
52
|
end
|
35
53
|
|
36
|
-
#
|
54
|
+
# Writes the configs to the file config.yml
|
37
55
|
def write
|
38
56
|
configs = if File.exist? PATH
|
39
57
|
defaults.merge(YAML.load_file PATH)
|
data/lib/to-do/list.rb
CHANGED
@@ -1,11 +1,15 @@
|
|
1
1
|
require 'yaml'
|
2
2
|
require File.join(File.dirname(__FILE__), 'config')
|
3
|
-
|
3
|
+
require 'fileutils'
|
4
4
|
module Todo
|
5
|
+
|
6
|
+
# The Class that represents a list of tasks
|
5
7
|
class List
|
6
8
|
attr_accessor :tasks, :completed_tasks, :count, :completed_count, :name
|
7
9
|
|
8
|
-
#
|
10
|
+
# Creates a new list and sets it to be the working list
|
11
|
+
#
|
12
|
+
# @param [String] name the name of the list
|
9
13
|
def initialize name
|
10
14
|
@tasks = Hash.new
|
11
15
|
@completed_tasks = Hash.new
|
@@ -17,11 +21,12 @@ module Todo
|
|
17
21
|
end
|
18
22
|
update
|
19
23
|
Config[:working_list_name] = name.downcase.gsub(/ /, '_')
|
24
|
+
Config[:working_list_exists] = true
|
20
25
|
Config.write
|
21
26
|
puts "Created List #{name}."
|
22
27
|
end
|
23
28
|
|
24
|
-
#
|
29
|
+
# Updates the yaml file
|
25
30
|
def update
|
26
31
|
path = File.join(Config[:lists_directory], @name.downcase.gsub(/ /, '_') +'.yml')
|
27
32
|
File.open(path, 'w') do |fh|
|
@@ -29,7 +34,9 @@ module Todo
|
|
29
34
|
end
|
30
35
|
end
|
31
36
|
|
32
|
-
#
|
37
|
+
# Adds the tast to the list
|
38
|
+
#
|
39
|
+
# @param [String] task the task to add to the list
|
33
40
|
def add task
|
34
41
|
@count+=1
|
35
42
|
@tasks[@count] = task
|
@@ -38,7 +45,12 @@ module Todo
|
|
38
45
|
end
|
39
46
|
|
40
47
|
# finish the task. task is either a case insensitive task on the list or
|
41
|
-
# the task number
|
48
|
+
# the task number. Prints out either the task is not in the list or that i
|
49
|
+
# succesfully finished the task
|
50
|
+
#
|
51
|
+
# @param task either a task number or task name to finish
|
52
|
+
# @param [Bool] is_num if the task param represents the task number, true.
|
53
|
+
# false if it is the task name
|
42
54
|
def finish task, is_num
|
43
55
|
if is_num
|
44
56
|
if !@tasks[task.to_i].nil?
|
@@ -69,6 +81,13 @@ module Todo
|
|
69
81
|
update
|
70
82
|
end
|
71
83
|
|
84
|
+
# undos finishing a task. task is either a case insensitive task on the list or
|
85
|
+
# the task number. Prints out either the task is not in the list or that i
|
86
|
+
# succesfully undoed finished the task
|
87
|
+
#
|
88
|
+
# @param task either a task number or task name to finish
|
89
|
+
# @param [Bool] is_num if the task param represents the task number, true.
|
90
|
+
# false if it is the task name
|
72
91
|
def undo task, is_num
|
73
92
|
if is_num
|
74
93
|
if !@completed_tasks[task.to_i].nil?
|
@@ -99,13 +118,16 @@ module Todo
|
|
99
118
|
update
|
100
119
|
end
|
101
120
|
|
102
|
-
#clears the completed tasks
|
121
|
+
# clears just the completed tasks
|
103
122
|
def clear_completed
|
104
123
|
@completed_tasks = Hash.new
|
105
124
|
update
|
106
125
|
end
|
107
126
|
|
108
|
-
#clears
|
127
|
+
# clears the task in the list
|
128
|
+
#
|
129
|
+
# @param [Bool] clear_all if true, clears all completed and uncompleted tasks
|
130
|
+
# and resets the count. if false, just clears the completed tasks
|
109
131
|
def clear clear_all
|
110
132
|
clear_completed
|
111
133
|
if clear_all
|
@@ -118,6 +140,22 @@ module Todo
|
|
118
140
|
end
|
119
141
|
update
|
120
142
|
end
|
143
|
+
|
144
|
+
# Class method that removes a list from the your lists.
|
145
|
+
#
|
146
|
+
# @param [string] name name of the list that you are trying to remove
|
147
|
+
def self.remove name
|
148
|
+
underscore_name = name.downcase.gsub(/ /, '_')
|
149
|
+
begin
|
150
|
+
FileUtils.rm File.join(Config[:lists_directory], underscore_name +'.yml')
|
151
|
+
puts "Removed list #{name}"
|
152
|
+
rescue
|
153
|
+
puts "List doesn't exist"
|
154
|
+
end
|
155
|
+
if underscore_name == Config[:working_list_name]
|
156
|
+
Config[:working_list_exists] = false
|
157
|
+
end
|
158
|
+
end
|
121
159
|
end
|
122
160
|
end
|
123
161
|
|
data/lib/to-do.rb
CHANGED
@@ -1,9 +1,15 @@
|
|
1
|
+
require 'rdoc'
|
1
2
|
require File.join(File.dirname(__FILE__), 'to-do', 'config')
|
2
3
|
require File.join(File.dirname(__FILE__), 'to-do', 'list')
|
3
4
|
if !File.exists?(File.join(ENV['HOME'], '.to-do'))
|
4
5
|
Dir.mkdir(File.join(ENV['HOME'], '.to-do'))
|
5
6
|
Todo::Config.write
|
6
7
|
Dir.mkdir(Todo::Config[:lists_directory])
|
7
|
-
Todo::List.new "Default List"
|
8
|
+
#Todo::List.new "Default List"
|
8
9
|
end
|
9
10
|
require File.join(File.dirname(__FILE__), 'to-do', 'cli')
|
11
|
+
|
12
|
+
# Todo is the main namespace that all of the other modules and classes are a
|
13
|
+
# part of
|
14
|
+
module Todo
|
15
|
+
end
|
data/test/test_to-do.rb
CHANGED
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.2.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-15"
|
13
13
|
s.description = "A simple command line todo application"
|
14
14
|
s.email = "kristen@kristen-mills.com"
|
15
15
|
s.executables = ["todo"]
|
@@ -20,7 +20,6 @@ Gem::Specification.new do |s|
|
|
20
20
|
s.files = [
|
21
21
|
".document",
|
22
22
|
"Gemfile",
|
23
|
-
"Gemfile.lock",
|
24
23
|
"LICENSE.txt",
|
25
24
|
"README.md",
|
26
25
|
"Rakefile",
|
@@ -50,6 +49,7 @@ Gem::Specification.new do |s|
|
|
50
49
|
s.add_runtime_dependency(%q<jeweler>, ["~> 1.8.4"])
|
51
50
|
s.add_runtime_dependency(%q<simplecov>, [">= 0"])
|
52
51
|
s.add_runtime_dependency(%q<colorize>, [">= 0"])
|
52
|
+
s.add_development_dependency(%q<yard>, [">= 0"])
|
53
53
|
else
|
54
54
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
55
55
|
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
@@ -57,6 +57,7 @@ Gem::Specification.new do |s|
|
|
57
57
|
s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
|
58
58
|
s.add_dependency(%q<simplecov>, [">= 0"])
|
59
59
|
s.add_dependency(%q<colorize>, [">= 0"])
|
60
|
+
s.add_dependency(%q<yard>, [">= 0"])
|
60
61
|
end
|
61
62
|
else
|
62
63
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
@@ -65,6 +66,7 @@ Gem::Specification.new do |s|
|
|
65
66
|
s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
|
66
67
|
s.add_dependency(%q<simplecov>, [">= 0"])
|
67
68
|
s.add_dependency(%q<colorize>, [">= 0"])
|
69
|
+
s.add_dependency(%q<yard>, [">= 0"])
|
68
70
|
end
|
69
71
|
end
|
70
72
|
|
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.2.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-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: shoulda
|
16
|
-
requirement: &
|
16
|
+
requirement: &70154354563460 !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: *70154354563460
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rdoc
|
27
|
-
requirement: &
|
27
|
+
requirement: &70154354562980 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '3.12'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70154354562980
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: bundler
|
38
|
-
requirement: &
|
38
|
+
requirement: &70154354562500 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 1.0.0
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70154354562500
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: jeweler
|
49
|
-
requirement: &
|
49
|
+
requirement: &70154354586060 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 1.8.4
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70154354586060
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: simplecov
|
60
|
-
requirement: &
|
60
|
+
requirement: &70154354585580 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70154354585580
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: colorize
|
71
|
-
requirement: &
|
71
|
+
requirement: &70154354585100 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,7 +76,18 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70154354585100
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: yard
|
82
|
+
requirement: &70154354584620 !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
84
|
+
requirements:
|
85
|
+
- - ! '>='
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0'
|
88
|
+
type: :development
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: *70154354584620
|
80
91
|
description: A simple command line todo application
|
81
92
|
email: kristen@kristen-mills.com
|
82
93
|
executables:
|
@@ -88,7 +99,6 @@ extra_rdoc_files:
|
|
88
99
|
files:
|
89
100
|
- .document
|
90
101
|
- Gemfile
|
91
|
-
- Gemfile.lock
|
92
102
|
- LICENSE.txt
|
93
103
|
- README.md
|
94
104
|
- Rakefile
|
@@ -116,7 +126,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
116
126
|
version: '0'
|
117
127
|
segments:
|
118
128
|
- 0
|
119
|
-
hash:
|
129
|
+
hash: 3446128004627456738
|
120
130
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
121
131
|
none: false
|
122
132
|
requirements:
|
data/Gemfile.lock
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
GEM
|
2
|
-
remote: http://rubygems.org/
|
3
|
-
specs:
|
4
|
-
colorize (0.5.8)
|
5
|
-
git (1.2.5)
|
6
|
-
jeweler (1.8.4)
|
7
|
-
bundler (~> 1.0)
|
8
|
-
git (>= 1.2.5)
|
9
|
-
rake
|
10
|
-
rdoc
|
11
|
-
json (1.7.3)
|
12
|
-
multi_json (1.3.6)
|
13
|
-
rake (0.9.2.2)
|
14
|
-
rdoc (3.12)
|
15
|
-
json (~> 1.4)
|
16
|
-
shoulda (3.0.1)
|
17
|
-
shoulda-context (~> 1.0.0)
|
18
|
-
shoulda-matchers (~> 1.0.0)
|
19
|
-
shoulda-context (1.0.0)
|
20
|
-
shoulda-matchers (1.0.0)
|
21
|
-
simplecov (0.6.4)
|
22
|
-
multi_json (~> 1.0)
|
23
|
-
simplecov-html (~> 0.5.3)
|
24
|
-
simplecov-html (0.5.3)
|
25
|
-
|
26
|
-
PLATFORMS
|
27
|
-
ruby
|
28
|
-
|
29
|
-
DEPENDENCIES
|
30
|
-
bundler (~> 1.0.0)
|
31
|
-
colorize
|
32
|
-
jeweler (~> 1.8.4)
|
33
|
-
rdoc (~> 3.12)
|
34
|
-
shoulda
|
35
|
-
simplecov
|