dooby 0.2.0 → 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/.rspec +2 -0
- data/CHANGELOG.md +38 -0
- data/Gemfile +13 -3
- data/Gemfile.lock +24 -0
- data/README.md +109 -99
- data/Rakefile +36 -37
- data/VERSION +1 -1
- data/bin/dooby +36 -20
- data/dooby.gemspec +62 -31
- data/lib/dooby.rb +12 -13
- data/lib/dooby/cli_helper.rb +5 -2
- data/lib/dooby/config.rb +29 -0
- data/lib/dooby/core_ext.rb +15 -1
- data/lib/dooby/dates_helper.rb +23 -0
- data/lib/dooby/list.rb +60 -18
- data/lib/dooby/status_generator.rb +13 -0
- data/lib/dooby/task.rb +14 -30
- data/spec/dooby_module_spec.rb +53 -0
- data/spec/list_spec.rb +167 -0
- data/spec/spec_helper.rb +22 -0
- data/spec/task_spec.rb +51 -0
- metadata +154 -33
- data/.gitignore +0 -21
- data/lib/dooby/formatter.rb +0 -7
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
2
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
3
|
+
|
4
|
+
require 'dooby'
|
5
|
+
require 'rspec'
|
6
|
+
|
7
|
+
RSpec.configure do |config|
|
8
|
+
|
9
|
+
end
|
10
|
+
|
11
|
+
def fake_todo_text
|
12
|
+
"#context @person %project :status"
|
13
|
+
end
|
14
|
+
|
15
|
+
def fake_tasks
|
16
|
+
tasks = {}
|
17
|
+
3.times do |t|
|
18
|
+
task = Dooby::Task.new fake_todo_text + t.to_s
|
19
|
+
tasks[task.id] = task
|
20
|
+
end
|
21
|
+
tasks
|
22
|
+
end
|
data/spec/task_spec.rb
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Dooby
|
4
|
+
describe Task do
|
5
|
+
|
6
|
+
describe "#new" do
|
7
|
+
it "should accept the ToDo text as argument" do
|
8
|
+
todo = "this is the todo"
|
9
|
+
task = Task.new todo
|
10
|
+
task_todo = task.todo
|
11
|
+
task_todo.should == todo
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should set @todo to nil if todo is not passed as argument" do
|
15
|
+
task = Task.new
|
16
|
+
task.todo.should == nil
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
describe "#id" do
|
21
|
+
it "should return the SHA1 of the @todo" do
|
22
|
+
todo = "the todo"
|
23
|
+
task = Task.new todo
|
24
|
+
task.id.should == Digest::SHA1.hexdigest(todo)[0,6]
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe "An item" do
|
29
|
+
it "should be valid if @todo is set to a string" do
|
30
|
+
task = Task.new 'todo'
|
31
|
+
|
32
|
+
task.should be_valid
|
33
|
+
end
|
34
|
+
|
35
|
+
it "should be invalid if @todo is nil or empty string" do
|
36
|
+
Task.new.should_not be_valid
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
describe "#colorize" do
|
41
|
+
it "should return a colorized version of a @todo containing tags without changing @todo" do
|
42
|
+
todo = "#context @person %project :status"
|
43
|
+
colored_todo = "\e[33m#context\e[0m \e[34m@person\e[0m \e[37m%project\e[0m \e[35m:status\e[0m"
|
44
|
+
task = Task.new todo
|
45
|
+
task.colorize.should == colored_todo
|
46
|
+
task.todo.should == todo
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dooby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
8
|
+
- 3
|
9
9
|
- 0
|
10
|
-
version: 0.
|
10
|
+
version: 0.3.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- "Rafael Maga\xC3\xB1a"
|
@@ -15,45 +15,75 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-11-06 00:00:00 -06:00
|
19
19
|
default_executable: dooby
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
|
-
name: shoulda
|
23
22
|
prerelease: false
|
24
|
-
|
23
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
25
24
|
none: false
|
26
25
|
requirements:
|
27
|
-
- -
|
26
|
+
- - ~>
|
28
27
|
- !ruby/object:Gem::Version
|
29
|
-
hash:
|
28
|
+
hash: 15
|
30
29
|
segments:
|
31
30
|
- 2
|
32
|
-
-
|
33
|
-
-
|
34
|
-
version: 2.
|
31
|
+
- 0
|
32
|
+
- 0
|
33
|
+
version: 2.0.0
|
34
|
+
name: rspec
|
35
|
+
requirement: *id001
|
35
36
|
type: :development
|
36
|
-
version_requirements: *id001
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
|
-
name: mocha
|
39
38
|
prerelease: false
|
40
|
-
|
39
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
40
|
+
none: false
|
41
|
+
requirements:
|
42
|
+
- - ~>
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
hash: 23
|
45
|
+
segments:
|
46
|
+
- 1
|
47
|
+
- 0
|
48
|
+
- 0
|
49
|
+
version: 1.0.0
|
50
|
+
name: bundler
|
51
|
+
requirement: *id002
|
52
|
+
type: :development
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
prerelease: false
|
55
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
56
|
+
none: false
|
57
|
+
requirements:
|
58
|
+
- - ~>
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
hash: -1876988220
|
61
|
+
segments:
|
62
|
+
- 1
|
63
|
+
- 5
|
64
|
+
- 0
|
65
|
+
- pre5
|
66
|
+
version: 1.5.0.pre5
|
67
|
+
name: jeweler
|
68
|
+
requirement: *id003
|
69
|
+
type: :development
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
41
73
|
none: false
|
42
74
|
requirements:
|
43
75
|
- - ">="
|
44
76
|
- !ruby/object:Gem::Version
|
45
|
-
hash:
|
77
|
+
hash: 3
|
46
78
|
segments:
|
47
79
|
- 0
|
48
|
-
|
49
|
-
|
50
|
-
|
80
|
+
version: "0"
|
81
|
+
name: rcov
|
82
|
+
requirement: *id004
|
51
83
|
type: :development
|
52
|
-
version_requirements: *id002
|
53
84
|
- !ruby/object:Gem::Dependency
|
54
|
-
name: main
|
55
85
|
prerelease: false
|
56
|
-
|
86
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
57
87
|
none: false
|
58
88
|
requirements:
|
59
89
|
- - ">="
|
@@ -64,12 +94,12 @@ dependencies:
|
|
64
94
|
- 2
|
65
95
|
- 0
|
66
96
|
version: 4.2.0
|
97
|
+
name: main
|
98
|
+
requirement: *id005
|
67
99
|
type: :runtime
|
68
|
-
version_requirements: *id003
|
69
100
|
- !ruby/object:Gem::Dependency
|
70
|
-
name: colored
|
71
101
|
prerelease: false
|
72
|
-
|
102
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
73
103
|
none: false
|
74
104
|
requirements:
|
75
105
|
- - ">="
|
@@ -79,12 +109,12 @@ dependencies:
|
|
79
109
|
- 1
|
80
110
|
- 2
|
81
111
|
version: "1.2"
|
112
|
+
name: colored
|
113
|
+
requirement: *id006
|
82
114
|
type: :runtime
|
83
|
-
version_requirements: *id004
|
84
115
|
- !ruby/object:Gem::Dependency
|
85
|
-
name: highline
|
86
116
|
prerelease: false
|
87
|
-
|
117
|
+
version_requirements: &id007 !ruby/object:Gem::Requirement
|
88
118
|
none: false
|
89
119
|
requirements:
|
90
120
|
- - ">="
|
@@ -95,9 +125,89 @@ dependencies:
|
|
95
125
|
- 6
|
96
126
|
- 1
|
97
127
|
version: 1.6.1
|
128
|
+
name: highline
|
129
|
+
requirement: *id007
|
130
|
+
type: :runtime
|
131
|
+
- !ruby/object:Gem::Dependency
|
132
|
+
prerelease: false
|
133
|
+
version_requirements: &id008 !ruby/object:Gem::Requirement
|
134
|
+
none: false
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
hash: 19
|
139
|
+
segments:
|
140
|
+
- 0
|
141
|
+
- 3
|
142
|
+
- 0
|
143
|
+
version: 0.3.0
|
144
|
+
name: chronic
|
145
|
+
requirement: *id008
|
98
146
|
type: :runtime
|
99
|
-
|
100
|
-
|
147
|
+
- !ruby/object:Gem::Dependency
|
148
|
+
prerelease: false
|
149
|
+
version_requirements: &id009 !ruby/object:Gem::Requirement
|
150
|
+
none: false
|
151
|
+
requirements:
|
152
|
+
- - ">="
|
153
|
+
- !ruby/object:Gem::Version
|
154
|
+
hash: 13
|
155
|
+
segments:
|
156
|
+
- 2
|
157
|
+
- 0
|
158
|
+
- 1
|
159
|
+
version: 2.0.1
|
160
|
+
name: rspec
|
161
|
+
requirement: *id009
|
162
|
+
type: :development
|
163
|
+
- !ruby/object:Gem::Dependency
|
164
|
+
prerelease: false
|
165
|
+
version_requirements: &id010 !ruby/object:Gem::Requirement
|
166
|
+
none: false
|
167
|
+
requirements:
|
168
|
+
- - ~>
|
169
|
+
- !ruby/object:Gem::Version
|
170
|
+
hash: 23
|
171
|
+
segments:
|
172
|
+
- 1
|
173
|
+
- 0
|
174
|
+
- 0
|
175
|
+
version: 1.0.0
|
176
|
+
name: bundler
|
177
|
+
requirement: *id010
|
178
|
+
type: :development
|
179
|
+
- !ruby/object:Gem::Dependency
|
180
|
+
prerelease: false
|
181
|
+
version_requirements: &id011 !ruby/object:Gem::Requirement
|
182
|
+
none: false
|
183
|
+
requirements:
|
184
|
+
- - ~>
|
185
|
+
- !ruby/object:Gem::Version
|
186
|
+
hash: -1876988220
|
187
|
+
segments:
|
188
|
+
- 1
|
189
|
+
- 5
|
190
|
+
- 0
|
191
|
+
- pre5
|
192
|
+
version: 1.5.0.pre5
|
193
|
+
name: jeweler
|
194
|
+
requirement: *id011
|
195
|
+
type: :development
|
196
|
+
- !ruby/object:Gem::Dependency
|
197
|
+
prerelease: false
|
198
|
+
version_requirements: &id012 !ruby/object:Gem::Requirement
|
199
|
+
none: false
|
200
|
+
requirements:
|
201
|
+
- - ">="
|
202
|
+
- !ruby/object:Gem::Version
|
203
|
+
hash: 3
|
204
|
+
segments:
|
205
|
+
- 0
|
206
|
+
version: "0"
|
207
|
+
name: rcov
|
208
|
+
requirement: *id012
|
209
|
+
type: :development
|
210
|
+
description: Handle your to-do/notes list through the command line
|
101
211
|
email: raf.magana@gmail.com
|
102
212
|
executables:
|
103
213
|
- dooby
|
@@ -108,7 +218,8 @@ extra_rdoc_files:
|
|
108
218
|
- README.md
|
109
219
|
files:
|
110
220
|
- .document
|
111
|
-
- .
|
221
|
+
- .rspec
|
222
|
+
- CHANGELOG.md
|
112
223
|
- Gemfile
|
113
224
|
- Gemfile.lock
|
114
225
|
- LICENSE
|
@@ -120,11 +231,17 @@ files:
|
|
120
231
|
- lib/dooby.rb
|
121
232
|
- lib/dooby/base.rb
|
122
233
|
- lib/dooby/cli_helper.rb
|
234
|
+
- lib/dooby/config.rb
|
123
235
|
- lib/dooby/core_ext.rb
|
236
|
+
- lib/dooby/dates_helper.rb
|
124
237
|
- lib/dooby/exceptions.rb
|
125
|
-
- lib/dooby/formatter.rb
|
126
238
|
- lib/dooby/list.rb
|
239
|
+
- lib/dooby/status_generator.rb
|
127
240
|
- lib/dooby/task.rb
|
241
|
+
- spec/dooby_module_spec.rb
|
242
|
+
- spec/list_spec.rb
|
243
|
+
- spec/spec_helper.rb
|
244
|
+
- spec/task_spec.rb
|
128
245
|
- test/helper.rb
|
129
246
|
- test/test_dooby.rb
|
130
247
|
has_rdoc: true
|
@@ -132,8 +249,8 @@ homepage: http://github.com/rafmagana/dooby
|
|
132
249
|
licenses: []
|
133
250
|
|
134
251
|
post_install_message:
|
135
|
-
rdoc_options:
|
136
|
-
|
252
|
+
rdoc_options: []
|
253
|
+
|
137
254
|
require_paths:
|
138
255
|
- lib
|
139
256
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -162,5 +279,9 @@ signing_key:
|
|
162
279
|
specification_version: 3
|
163
280
|
summary: A very simplistic command-line to-do list manager in Ruby
|
164
281
|
test_files:
|
282
|
+
- spec/dooby_module_spec.rb
|
283
|
+
- spec/list_spec.rb
|
284
|
+
- spec/spec_helper.rb
|
285
|
+
- spec/task_spec.rb
|
165
286
|
- test/helper.rb
|
166
287
|
- test/test_dooby.rb
|
data/.gitignore
DELETED