tudu 0.0.2 → 0.0.3

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/README.md CHANGED
@@ -97,9 +97,9 @@ $ tudu doings
97
97
  hoge
98
98
  ~~~
99
99
 
100
+ ### choose no args. from first todo to doing
100
101
  * choose
101
102
 
102
- ### choose no args. from first todo to doing
103
103
  ~~~
104
104
  $ tudu add hoge hige
105
105
  $ tudu choose
@@ -124,7 +124,7 @@ $ tudu done
124
124
  one
125
125
  ~~~
126
126
 
127
- ### done. from doing to done and from first todos to doing. after, if there is no todos, show celebration message.
127
+ ### done. from doing to done and from first todos to doing. after, if there is no todos and doings, show celebration message.
128
128
  * done
129
129
 
130
130
  ~~~
@@ -153,6 +153,24 @@ two
153
153
  one
154
154
  ~~~
155
155
 
156
+ ### tasks show all tasks from [todos, doings, dones] with categorized option.
157
+ * tudu tasks -c
158
+
159
+ ~~~
160
+ $ tudu add one two three
161
+ $ tudu choose one
162
+ $ tudu done
163
+ $tudu tasks -c
164
+ ========TODOS========
165
+ three
166
+
167
+ ========DOINGS========
168
+ two
169
+
170
+ ========DONES========
171
+ one
172
+ ~~~
173
+
156
174
  ### show specific tasks from [todos, doings, dones].
157
175
  * tudu tasks search_word
158
176
 
@@ -213,6 +231,7 @@ if you want to do other operation, edit [todos, doings, dones] directly.
213
231
  it's only plain text, so you can edit freely.
214
232
 
215
233
  ## History
234
+ * version 0.0.3 : add categorized option to tasks.
216
235
  * version 0.0.2 : after execute 'done', if there is no todos and doings, display celebration message.
217
236
  * version 0.0.2 : if 'choose' no args. choose first tudu.
218
237
  * version 0.0.1 : first release.
data/bin/tudu CHANGED
@@ -38,8 +38,9 @@ module Tudu
38
38
  end
39
39
 
40
40
  desc "tasks", "tasks search tasks from todos,doings,dones file. no args => get all tasks. set search word args, you get hit tasks"
41
+ option :category, :type => :boolean, :aliases => '-c', :desc => "show categorized tasks"
41
42
  def tasks(*args)
42
- puts Tudu::Core.new.tasks args.first
43
+ puts Tudu::Core.new.tasks args.first, options
43
44
  end
44
45
 
45
46
  desc "todos", "todos search tasks from todos file. no args => get all tasks. set search word args, you get hit tasks"
data/lib/tudu/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Tudu
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/lib/tudu_core.rb CHANGED
@@ -44,8 +44,10 @@ module Tudu
44
44
  #== search tasks
45
45
  #=== Params
46
46
  #- search_word : search word. enable regexp.
47
- def tasks(search_word)
48
- Tudu::Tasks.filter_tasks(Tudu::Tasks.get_tasks, search_word).map(&:name)
47
+ #- options : options.
48
+ def tasks(search_word, options)
49
+ tasks = Tudu::Tasks.filter_tasks(Tudu::Tasks.get_tasks, search_word).map(&:name)
50
+ (!options.nil? and options[:category]) ? categorized_tasks(tasks, search_word) : tasks
49
51
  end
50
52
 
51
53
  #== search todos
@@ -69,6 +71,20 @@ module Tudu
69
71
  Tudu::Tasks.filter_tasks(Tudu::Tasks.get_dones, search_word).map(&:name)
70
72
  end
71
73
 
74
+ def categorized_tasks(tasks, search_word)
75
+ ret = []
76
+ tasks = Tudu::Tasks.filter_tasks(Tudu::Tasks.get_tasks, search_word)
77
+ ret << "========TODOS========"
78
+ ret << tasks.select {|task|task.type == Tudu::Tasks::TUDU_TODOS_FILE}.map(&:name).join("\n")
79
+ ret << ""
80
+ ret << "========DOINGS========"
81
+ ret << tasks.select {|task|task.type == Tudu::Tasks::TUDU_DOINGS_FILE}.map(&:name).join("\n")
82
+ ret << ""
83
+ ret << "========DONES========"
84
+ ret << tasks.select {|task|task.type == Tudu::Tasks::TUDU_DONES_FILE}.map(&:name).join("\n")
85
+ ret
86
+ end
87
+
72
88
  alias :now :doings
73
89
  end
74
90
  end
@@ -145,7 +145,6 @@ describe Tudu::Core do
145
145
  task_names2: nil,
146
146
  task_names3: nil,
147
147
  },
148
- # TODO: add doing, done mix case. after implements choose, done method
149
148
  ]
150
149
 
151
150
  cases.each do |c|
@@ -215,6 +214,25 @@ describe Tudu::Core do
215
214
  search_word: "task_name2_",
216
215
  expected: ["task_name2_1", "task_name2_2"]
217
216
  },
217
+ {
218
+ case_no: 4,
219
+ case_title: "[todos, dosings, dones] all tasks with category option",
220
+ task_names1: "task_name1",
221
+ task_names2: "task_name2",
222
+ task_names3: "task_name3",
223
+ search_word: nil,
224
+ options: {:category => true},
225
+ expected: [
226
+ "========TODOS========",
227
+ "task_name1\ntask_name2\ntask_name3",
228
+ "",
229
+ "========DOINGS========",
230
+ "",
231
+ "",
232
+ "========DONES========",
233
+ ""
234
+ ]
235
+ },
218
236
  ]
219
237
 
220
238
  cases.each do |c|
@@ -228,7 +246,7 @@ describe Tudu::Core do
228
246
  tudu_core.add c[:task_names1], c[:task_names2], c[:task_names3], c[:task_names4]
229
247
 
230
248
  # -- when --
231
- actual = tudu_core.tasks c[:search_word]
249
+ actual = tudu_core.tasks c[:search_word], c[:options]
232
250
 
233
251
  # -- then --
234
252
  expect(actual).to eq(c[:expected])
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tudu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
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: 2013-12-13 00:00:00.000000000 Z
12
+ date: 2013-12-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: thor
16
- requirement: &26260368 !ruby/object:Gem::Requirement
16
+ requirement: &25932060 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.18.1
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *26260368
24
+ version_requirements: *25932060
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &26259588 !ruby/object:Gem::Requirement
27
+ requirement: &25931292 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 2.14.1
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *26259588
35
+ version_requirements: *25931292
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: simplecov
38
- requirement: &26259132 !ruby/object:Gem::Requirement
38
+ requirement: &25930836 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 0.8.2
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *26259132
46
+ version_requirements: *25930836
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: bundler
49
- requirement: &26258124 !ruby/object:Gem::Requirement
49
+ requirement: &25929816 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '1.3'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *26258124
57
+ version_requirements: *25929816
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rake
60
- requirement: &26257524 !ruby/object:Gem::Requirement
60
+ requirement: &25929192 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *26257524
68
+ version_requirements: *25929192
69
69
  description: Single person's minimum unit of task manager
70
70
  email:
71
71
  - tbpgr@tbpgr.jp