to-do 1.1.2 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
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.2
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.1
9
- * Command shortcuts
10
- * Undo completing an item
11
- * Colored Display
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 dinner
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
- * My New Todo List *
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
- * My New Todo List *
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 verison
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.2
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 CLI
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
- # Displays the given todo list
11
- WORKING_LIST=YAML.load_file(File.join(Config[:lists_directory],
12
- Config[:working_list_name]+'.yml')) if File.exists?(File.join(Config[:lists_directory],
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
- #use option parser to parse command line arguments
35
- def parse
36
- options = {
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 <list_name> creates a new list or switches to an existing one"
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
- options[:is_num] = true
73
+ OPTIONS[:is_num] = true
54
74
  end
55
75
  opts.on('-a', 'with clear, resets the entire list') do
56
- options[:clear_all] = true
76
+ OPTIONS[:clear_all] = true
57
77
  end
58
78
  opts.on('-h', '--help', 'displays this screen' ) do
59
79
  puts opts
60
- return
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
- return
84
+ exit
65
85
  end
66
86
  end
67
- optparse.parse!
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
- ARGV.count > 1 ? WORKING_LIST.add(ARGV[1..-1].join(' ')) : puts("Invalid Command")
72
- self.display
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
- WORKING_LIST.finish ARGV[1..-1].join(' '), options[:is_num]
75
- self.display
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
- WORKING_LIST.clear options[:clear_all]
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
- self.display
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
- self.display new_list
130
+ display new_list
88
131
  else
89
- ARGV.count > 1 ? List.new(ARGV[1..-1].join(' ')) : puts("Invalid Command")
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
- self.display new_list
136
+ display new_list
94
137
  end
95
138
  when "undo", "u"
96
- WORKING_LIST.undo ARGV[1..-1].join(' '), options[:is_num]
97
- self.display
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 Command"
151
+ puts "Invalid command. See todo -h for help."
100
152
  end
101
153
  else
102
- #if no ARGs are given, do what "display" would do
103
- self.display
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
- # The module that monitors the config.
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
- #default values
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
- #accessor for values in the config
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
- #setter for keys in config
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
- #writes the config file path
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
- #Create a new list
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
- # updates the yaml
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
- # adds the tast to the list
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 all of the tasks and resets the count to 0
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
@@ -65,7 +65,7 @@ class TestToDo < Test::Unit::TestCase
65
65
  end
66
66
 
67
67
  teardown do
68
- #remove list when I create that functionality
68
+ Todo::List.remove "Test List"
69
69
  Todo::Config[:working_list_name] = @list_name
70
70
  end
71
71
  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.1.2"
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-14"
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.1.2
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-14 00:00:00.000000000 Z
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: &70122750458400 !ruby/object:Gem::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: *70122750458400
24
+ version_requirements: *70154354563460
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rdoc
27
- requirement: &70122750457900 !ruby/object:Gem::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: *70122750457900
35
+ version_requirements: *70154354562980
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: bundler
38
- requirement: &70122750457400 !ruby/object:Gem::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: *70122750457400
46
+ version_requirements: *70154354562500
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: jeweler
49
- requirement: &70122750456700 !ruby/object:Gem::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: *70122750456700
57
+ version_requirements: *70154354586060
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: simplecov
60
- requirement: &70122750455960 !ruby/object:Gem::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: *70122750455960
68
+ version_requirements: *70154354585580
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: colorize
71
- requirement: &70122750455260 !ruby/object:Gem::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: *70122750455260
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: 3550105451253750040
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