syc-task 0.1.15 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,8 +6,16 @@ The application can be installed with
6
6
  $ gem install syc-task
7
7
 
8
8
  == Usage
9
- syctask provides basic task organizer functions as create, update, list and complete a task. Additional functions are to plan tasks you want to accomplish today. If you are not sure in which sequence to conduct the task you can prioritize them with a pair wise comparisson. You can time tasks with start and stop and you can finally extract tasks from a minutes of meetings file. The schedule task
10
- command will print a graphical timeline of the working day assigning the planned tasks to the timeline. Busy times are marked red. Meetings are listed with associated tasks that are assigned to the meetings. With the statistics command you can print statistical evaluation of tasks duration and count.
9
+ syctask provides basic task organizer functions as create, update, list and
10
+ complete a task. Additional functions are to plan tasks you want to accomplish
11
+ today. If you are not sure in which sequence to conduct the task you can
12
+ prioritize them with a pair wise comparisson. You can time tasks with start and
13
+ stop and you can finally extract tasks from a minutes of meetings file. The
14
+ schedule task command will print a graphical timeline of the working day
15
+ assigning the planned tasks to the timeline. Busy times are marked red.
16
+ Meetings are listed with associated tasks that are assigned to the meetings.
17
+ With the statistics command you can print statistical evaluation of tasks
18
+ duration and count.
11
19
 
12
20
  ===Create tasks with new
13
21
  Create a new task in the default task directory ~/.tasks
@@ -29,9 +37,10 @@ will prompt for task titles. Ctrl-D will end input.
29
37
  Except for --description you can also provide short forms for the options.
30
38
 
31
39
  ===Plan tasks
32
- The plan command will print tasks and prompts whether to (a)dd or (s)kip the task. If (q)uit is selected the tasks already added will be add to the today's task
33
- list. If (c)omplete is selected the complete task will be printed and the user
34
- will be prompted again for adding the task.
40
+ The plan command will print tasks and prompts whether to (a)dd or (s)kip the
41
+ task. If (q)uit is selected the tasks already added will be add to the today's
42
+ task list. If (c)omplete is selected the complete task will be printed and the
43
+ user will be prompted again for adding the task.
35
44
 
36
45
  Invoke plan without filter
37
46
  $ syctask plan
@@ -48,7 +57,8 @@ Invoke plan with a filter
48
57
  Move tasks to another days plan
49
58
  $ syctask plan today --move tomorrow --id 3,5
50
59
 
51
- This will move the tasks with ID 3 and 5 from the today's plan to the tomorrow's plan. The duration will be set to the remaining processing time but at least to
60
+ This will move the tasks with ID 3 and 5 from the today's plan to the tomorrow's
61
+ plan. The duration will be set to the remaining processing time but at least to
52
62
  30 minutes.
53
63
 
54
64
  ===Prioritize tasks
@@ -90,7 +100,8 @@ The plan or schedule command will print the tasks in the specified order
90
100
  3: 9 - My second task
91
101
 
92
102
  If only a part of the tasks is provided the rest of the tasks is appended to
93
- the end of the task plan. If you specify a position flag the prioritized tasks are added at the provided position.
103
+ the end of the task plan. If you specify a position flag the prioritized tasks
104
+ are added at the provided position.
94
105
  $ syctask plan -o 7,9 -p 2
95
106
  Tasks
96
107
  -----
@@ -206,7 +217,9 @@ only removed from the planned tasks and not physically deleted.
206
217
  $ syctask delete --plan today --id 8,12
207
218
 
208
219
  ===Settings
209
- The settings command allows to define default values for task directory and to create general purpose tasks that can be used for tracking and later statistical evaluation.
220
+ The settings command allows to define default values for task directory and to
221
+ create general purpose tasks that can be used for tracking and later statistical
222
+ evaluation.
210
223
 
211
224
  Create general purpose tasks for phone and talk
212
225
  $ syctask setting --general PHONE,TALK
@@ -239,7 +252,8 @@ Evaluate yesterday and today
239
252
  The global options --taskdir and --project determine where the command finds
240
253
  or creates the tasks. The default task directory is ~/.tasks, so if no task
241
254
  directory is specified all commands obtain tasks from or create tasks in
242
- ~/.tasks. If a project is specified the tasks will be saved to or obtained from the task directories subdirectory specified with the --project flag.
255
+ ~/.tasks. If a project is specified the tasks will be saved to or obtained from
256
+ the task directories subdirectory specified with the --project flag.
243
257
 
244
258
  --taskdir --project Tasks in
245
259
  - - default_task_dir
@@ -282,10 +296,12 @@ The planned tasks are save to YYYY-MM-DD_planned_tasks in syctask's system
282
296
  directory. Each task is saved with the task's directory and the ID.
283
297
 
284
298
  * Schedule files
285
- The schedule is saved to YYYY-MM-DD_time_schedule in the default task directory.The files are saved as YAML files and can be changed manually.
299
+ The schedule is saved to YYYY-MM-DD_time_schedule in the default task directory.
300
+ The files are saved as YAML files and can be changed manually.
286
301
 
287
302
  * Log file
288
- Creating schedule and task processings is logged to tasks.log. For example when a task is started and stopped this is action is saved to tasks.log.
303
+ Creating schedule and task processings is logged to tasks.log. For example when
304
+ a task is started and stopped this is action is saved to tasks.log.
289
305
 
290
306
  * Tracked file
291
307
  A started task is saved to tracked_tasks. A semaphore file is created with
@@ -300,7 +316,8 @@ default_tasks. The general purpose tasks itself are also saved to the
300
316
  .syc/syctask directory as regular task files.
301
317
 
302
318
  * Default task dir
303
- The default task that is used e.g. with list is saved to default_tasks_dir. This can be set with the setting command.
319
+ The default task that is used e.g. with list is saved to default_tasks_dir.
320
+ This can be set with the setting command.
304
321
 
305
322
  ==Working with syctask
306
323
  To work with syctask and get the most out of it there is to follow a certain
@@ -323,7 +340,8 @@ with
323
340
  $ syctask prio
324
341
 
325
342
  ==== Create schedule
326
- I create a schedule with my working hours and meetings that have been scheduled with
343
+ I create a schedule with my working hours and meetings that have been scheduled
344
+ with
327
345
  $ syctask -w "8:00-18:00" -b "9:00-10:00,14:30-16:00" -m "Team,Status"
328
346
 
329
347
  ==== Create an agenda
@@ -331,7 +349,8 @@ I assign the topics I want to discuss in the meetings to the meetings with
331
349
  syctask schedule -a "A:1,3,6;B:3,5"
332
350
 
333
351
  ==== Start a task
334
- To begin I start the first task in the schedule with syctask start -p ID (where ID is the ID of the planned (-p) tasks)
352
+ To begin I start the first task in the schedule with syctask start -p ID
353
+ (where ID is the ID of the planned (-p) tasks)
335
354
  $ syctask start -p 10
336
355
 
337
356
  ==== End a task
@@ -477,6 +496,21 @@ Version 0.1.15
477
496
  mark as done or plan
478
497
  * Update command now has a duration flag to set the task's duration
479
498
 
499
+ Version 0.2.0
500
+ * Migrated from TestUnit to Minitest
501
+ * Implemented ([![Gem Version](https://badge.fury.io/rb/timeleap.svg)](http://badge.fury.io/rb/timeleap) which allows to specify additional time distances to yesterday, today tomorrow.
502
+ Time distances come in two flavors as long and short forms.
503
+ Examples for long forms are
504
+ + yesterday|today|tomorrow
505
+ + next|previous_monday|tuesday|...|sunday
506
+ + monday|tuesday|...|sunday_in|back_1_week|month|year
507
+ + in|back_10_days|weeks|months|years
508
+ Examples for short forms are
509
+ + y|tod|tom
510
+ + n|pmo|tu|..|su
511
+ + mo|tu|...|sui|b1w|m|y
512
+ + i|b10d|w|m|y
513
+
480
514
  ==Tests
481
515
  The test files live in the folder test and start with test_.
482
516
 
File without changes
@@ -131,11 +131,11 @@ command :new do |c|
131
131
 
132
132
  c.desc 'Follow-up date'
133
133
  c.arg_name 'FOLLOW-UP'
134
- c.flag [:f, :follow_up], :must_match => /today|tomorrow|\d{4}-\d{2}-\d{2}/
134
+ c.flag [:f, :follow_up]
135
135
 
136
136
  c.desc 'Due date'
137
137
  c.arg_name 'DUE'
138
- c.flag [:d, :due_date], :must_match => /today|tomorrow|\d{4}-\d{2}-\d{2}/
138
+ c.flag [:d, :due_date]
139
139
 
140
140
  c.desc 'Description of the task'
141
141
  c.arg_name 'DESCRIPTION'
@@ -192,7 +192,7 @@ desc 'Delete tasks from task list or from task plan'
192
192
  command :delete do |c|
193
193
  c.desc 'Remove tasks from task plan of today, tomorrow or another date'
194
194
  c.arg_name 'DATE'
195
- c.flag :plan, :must_match => /today|tomorrow|\d{4}-\d{2}-\d{2}/
195
+ c.flag :plan
196
196
 
197
197
  c.desc 'IDs of the tasks to remove'
198
198
  c.arg_name 'ID1,ID2,..,IDn'
@@ -203,21 +203,8 @@ command :delete do |c|
203
203
  plan = options[:plan]
204
204
  filter = [:id]
205
205
  options.keep_if {|key, value| filter.find_index(key) and value != nil}
206
+ date = extrac_time(plan)
206
207
  if plan
207
- case plan
208
- when 'today'
209
- date = Time.now.strftime("%Y-%m-%d")
210
- when 'tomorrow'
211
- date = (Time.now + (60*60*24)).strftime("%Y-%m-%d")
212
- else
213
- if plan.match(/\d{4}-\d{2}-\d{2}/)
214
- date = plan
215
- elsif nil
216
- date = Time.now.strftime("%Y-%m-%d")
217
- else
218
- help_now! "Arguments may be TODAY, TOMORROW, YYYY-MM-DD or <RETURN>"
219
- end
220
- end
221
208
  count = @planner.remove_tasks(date, options)
222
209
  STDOUT.puts sprintf("--> removed %d tasks from task plan of %s",
223
210
  count, date).color(:green)
@@ -347,7 +334,7 @@ command :plan do |c|
347
334
 
348
335
  c.desc 'Move planned task to another day'
349
336
  c.arg_name 'DATE'
350
- c.flag [:m, :move],:must_match => /yesterday|today|tomorrow|\d{4}-\d{2}-\d{2}/
337
+ c.flag [:m, :move]
351
338
 
352
339
  c.desc 'Filter for ID'
353
340
  c.arg_name 'ID1,ID2,ID3|[<|=|>]ID'
@@ -392,21 +379,8 @@ command :plan do |c|
392
379
  filter = [:id, :tags, :description, :prio, :due_date, :follow_up,
393
380
  :note, :title]
394
381
  options.keep_if {|key, value| filter.find_index(key) and value != nil}
395
- args[0] = 'today' if args[0].nil?
396
- case args[0]
397
- when 'today'
398
- date = Time.now.strftime("%Y-%m-%d")
399
- when 'tomorrow'
400
- date = (Time.now + (60 * 60 * 24)).strftime("%Y-%m-%d")
401
- else
402
- if args[0].match(/\d{4}-\d{2}-\d{2}/)
403
- date = args[0]
404
- elsif nil
405
- date = Time.now.strftime("%Y-%m-%d")
406
- else
407
- help_now! "Arguments may be 'today', 'tomorrow', YYYY-MM-DD or <RETURN>"
408
- end
409
- end
382
+
383
+ date = extract_time(args[0])
410
384
  if show
411
385
  count = 0
412
386
  @planner.get_tasks(date, options).each do |task|
@@ -594,11 +568,11 @@ command :update do |c|
594
568
 
595
569
  c.desc 'Follow-up date'
596
570
  c.arg_name 'FOLLOW-UP'
597
- c.flag [:f, :follow_up], :must_match => /today|tomorrow|\d{4}-\d{2}-\d{2}/
571
+ c.flag [:f, :follow_up]
598
572
 
599
573
  c.desc 'Due date'
600
574
  c.arg_name 'DUE'
601
- c.flag [:d, :due_date], :must_match => /today|tomorrow|\d{4}-\d{2}-\d{2}/
575
+ c.flag [:d, :due_date]
602
576
 
603
577
  c.desc 'Duration'
604
578
  c.arg_name 'DURATION'
@@ -716,26 +690,27 @@ end
716
690
  # the time_string or if time = true in a Time object
717
691
  def extract_time(time_string,time=false)
718
692
  time_string = 'today' if time_string.nil?
719
- case time_string.downcase
720
- when 'today'
721
- date = Time.now
722
- date = date.strftime("%Y-%m-%d") unless time
723
- when 'tomorrow'
724
- date = Time.now + 60 * 60 * 24
725
- date = date.strftime("%Y-%m-%d") unless time
726
- when 'yesterday'
727
- date = Time.now - (60 * 60 * 24)
728
- date = date.strftime("%Y-%m-%d") unless time
693
+
694
+ if time_string.match(/\d{4}-\d{2}-\d{2}/)
695
+ date = time_string
696
+ date = Time.xmlschema("#{time_string}T00:00:00") if time
729
697
  else
730
- if time_string.match(/\d{4}-\d{2}-\d{2}/)
731
- date = time_string
732
- date = Time.xmlschema("#{time_string}T00:00:00") if time
733
- elsif nil
734
- date = Time.now
735
- date = date.strftime("%Y-%m-%d") unless time
736
- else
737
- help_now! "Arguments may be 'yesterday', 'today', 'tomorrow', YYYY-MM-DD"+
738
- " or <RETURN>"
698
+ timeleap = SycTimeleap::TimeLeap.new
699
+ begin
700
+ date = timeleap.send(time_string)
701
+ date = date.to_s unless time
702
+ rescue NoMethodError
703
+ help_now! "Arguments may be 'time distances', YYYY-MM-DD or <RETURN>\n\n"+
704
+ "time distances are:\n"+
705
+ "* yesterday|today|tomorrow\n"+
706
+ "* next|previous_monday|tuesday|...|sunday\n"+
707
+ "* in|back_10_days|weeks|months|years\n"+
708
+ "* monday|tuesday|...|sunday_in|back_1_day|week|month|year\n"+
709
+ "Short forms are also possible:\n"+
710
+ "* y|tod|tom\n"+
711
+ "* n|pmo|tu|we|th|fr|sa|su\n"+
712
+ "* i|b10d|w|m|y\n"+
713
+ "* mo|tu|we|th|fr|sa|sui|b1d|w|m|y"
739
714
  end
740
715
  end
741
716
  date
@@ -11,6 +11,7 @@ require 'sycutil/console.rb'
11
11
  require 'syctime/time_util.rb'
12
12
  require 'syctask/settings.rb'
13
13
  require 'syctask/statistics.rb'
14
+ require 'syctimeleap/time_leap.rb'
14
15
 
15
16
  # Add requires for other files you add to your project here, so
16
17
  # you just need to require this one file in your bin file
@@ -1,5 +1,5 @@
1
1
  # Syctask provides functions for managing tasks in a task list
2
2
  module Syctask
3
3
  #Holds the version number of syctask
4
- VERSION = '0.1.15'
4
+ VERSION = '0.2.0'
5
5
  end
@@ -50,9 +50,9 @@ module Syctime
50
50
  # Time.local(2013,"apr",13,10,50,0). Alternatively time strings can be
51
51
  # provided in the form of "2013-04-13".
52
52
  def date_between?(date, from, to)
53
- date = date.strftime("%Y-%m-%d") if date.class == Time
54
- from = from.strftime("%Y-%m-%d") if from.class == Time
55
- to = to.strftime("%Y-%m-%d") if to.class == Time
53
+ date = date.strftime("%Y-%m-%d") if date.class == Time || date.class == Date
54
+ from = from.strftime("%Y-%m-%d") if from.class == Time || from.class == Date
55
+ to = to.strftime("%Y-%m-%d") if to.class == Time || to.class == Date
56
56
  time_pattern = /\d{4}-\d{2}-\d{2}/
57
57
  raise ArgumentError if date.scan(time_pattern).empty?
58
58
  raise ArgumentError if from.scan(time_pattern).empty?
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: syc-task
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.15
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-04-26 00:00:00.000000000 Z
12
+ date: 2014-06-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -59,6 +59,22 @@ dependencies:
59
59
  - - ! '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: shoulda
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
62
78
  - !ruby/object:Gem::Dependency
63
79
  name: gli
64
80
  requirement: !ruby/object:Gem::Requirement
@@ -77,6 +93,22 @@ dependencies:
77
93
  version: 2.5.4
78
94
  - !ruby/object:Gem::Dependency
79
95
  name: rainbow
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - '='
100
+ - !ruby/object:Gem::Version
101
+ version: 1.1.4
102
+ type: :runtime
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - '='
108
+ - !ruby/object:Gem::Version
109
+ version: 1.1.4
110
+ - !ruby/object:Gem::Dependency
111
+ name: timeleap
80
112
  requirement: !ruby/object:Gem::Requirement
81
113
  none: false
82
114
  requirements:
@@ -94,32 +126,32 @@ dependencies:
94
126
  description: ! "= Simple task organizer\nsyctask can be used to create, plan, prioritize
95
127
  and schedule tasks.\n\n==Install\nThe application can be installed with\n $ gem
96
128
  install syc-task\n\n== Usage\nsyctask provides basic task organizer functions as
97
- create, update, list and complete a task. Additional functions are to plan tasks
98
- you want to accomplish today. If you are not sure in which sequence to conduct the
99
- task you can prioritize them with a pair wise comparisson. You can time tasks with
100
- start and stop and you can finally extract tasks from a minutes of meetings file.
101
- The schedule task \ncommand will print a graphical timeline of the working day assigning
102
- the planned tasks to the timeline. Busy times are marked red. Meetings are listed
103
- with associated tasks that are assigned to the meetings. With the statistics command
104
- you can print statistical evaluation of tasks duration and count.\n\n===Create tasks
105
- with new\nCreate a new task in the default task directory ~/.tasks\n $ syctask
106
- new \"My first task\"\n\nProvide a description\n $ syctask new \"My first task\"
107
- --description \"Explanation of my first task\"\n\nSchedule a task with a follow-up
108
- and due date\n $ syctask new \"My first task\" --follow-up \"2013-02-25\" --due
109
- \"2013-03-11\"\n\nSet a proirity for a task\n $ syctask new \"My first task\"
110
- --prio 3\n\nPrompt for task input\n $ syctask new\nwill prompt for task titles.
111
- Ctrl-D will end input.\n\nExcept for --description you can also provide short forms
112
- for the options.\n\n===Plan tasks\nThe plan command will print tasks and prompts
113
- whether to (a)dd or (s)kip the task. If (q)uit is selected the tasks already added
114
- will be add to the today's task\nlist. If (c)omplete is selected the complete task
115
- will be printed and the user\nwill be prompted again for adding the task.\n\nInvoke
116
- plan without filter\n $ syctask plan\n 1 - My first task\n (a)dd, (c)omplete,
117
- (s)kip, (q)uit? a\n Duration (1 = 15 minutes, return 30 minutes): 3\n -->
118
- 1 task(s) planned\n\nInvoke plan with a filter\n $ syctask plan --id \"1,3,5,8\"\n
119
- \ 1 - My first task\n (a)dd, (c)omplete, (s)kip, (q)uit?\n\nMove tasks to another
120
- days plan\n $ syctask plan today --move tomorrow --id 3,5\n\nThis will move the
121
- tasks with ID 3 and 5 from the today's plan to the tomorrow's plan. The duration
122
- will be set to the remaining processing time but at least to\n30 minutes.\n\n===Prioritize
129
+ create, update, list and \ncomplete a task. Additional functions are to plan tasks
130
+ you want to accomplish \ntoday. If you are not sure in which sequence to conduct
131
+ the task you can \nprioritize them with a pair wise comparisson. You can time tasks
132
+ with start and \nstop and you can finally extract tasks from a minutes of meetings
133
+ file. The \nschedule task command will print a graphical timeline of the working
134
+ day \nassigning the planned tasks to the timeline. Busy times are marked red. \nMeetings
135
+ are listed with associated tasks that are assigned to the meetings. \nWith the statistics
136
+ command you can print statistical evaluation of tasks \nduration and count.\n\n===Create
137
+ tasks with new\nCreate a new task in the default task directory ~/.tasks\n $
138
+ syctask new \"My first task\"\n\nProvide a description\n $ syctask new \"My first
139
+ task\" --description \"Explanation of my first task\"\n\nSchedule a task with a
140
+ follow-up and due date\n $ syctask new \"My first task\" --follow-up \"2013-02-25\"
141
+ --due \"2013-03-11\"\n\nSet a proirity for a task\n $ syctask new \"My first
142
+ task\" --prio 3\n\nPrompt for task input\n $ syctask new\nwill prompt for task
143
+ titles. Ctrl-D will end input.\n\nExcept for --description you can also provide
144
+ short forms for the options.\n\n===Plan tasks\nThe plan command will print tasks
145
+ and prompts whether to (a)dd or (s)kip the \ntask. If (q)uit is selected the tasks
146
+ already added will be add to the today's \ntask list. If (c)omplete is selected
147
+ the complete task will be printed and the \nuser will be prompted again for adding
148
+ the task.\n\nInvoke plan without filter\n $ syctask plan\n 1 - My first task\n
149
+ \ (a)dd, (c)omplete, (s)kip, (q)uit? a\n Duration (1 = 15 minutes, return 30
150
+ minutes): 3\n --> 1 task(s) planned\n\nInvoke plan with a filter\n $ syctask
151
+ plan --id \"1,3,5,8\"\n 1 - My first task\n (a)dd, (c)omplete, (s)kip, (q)uit?\n\nMove
152
+ tasks to another days plan\n $ syctask plan today --move tomorrow --id 3,5\n\nThis
153
+ will move the tasks with ID 3 and 5 from the today's plan to the tomorrow's \nplan.
154
+ The duration will be set to the remaining processing time but at least to\n30 minutes.\n\n===Prioritize
123
155
  tasks\nPlanned tasks can be prioritized in a pair wise comparisson. So each task
124
156
  is\ncompared to all other tasks. The task with the highest priority will bubble
125
157
  on\ntop followed by the task with the next highest priority and so on.\n\n $
@@ -135,21 +167,21 @@ description: ! "= Simple task organizer\nsyctask can be used to create, plan, pr
135
167
  order\n Tasks\n -----\n 0: 7 - My third task\n 1: 3 - My first task\n
136
168
  \ 2: 10 - My fourth task\n 3: 9 - My second task\n\nIf only a part of the
137
169
  tasks is provided the rest of the tasks is appended to\nthe end of the task plan.
138
- If you specify a position flag the prioritized tasks are added at the provided position.\n
139
- \ $ syctask plan -o 7,9 -p 2\n Tasks\n -----\n 0: 3 - My first task\n
140
- \ 1: 10 - My fourth task\n 2: 7 - My third task\n 3: 9 - My second task\n\n===Create
141
- schedule\nThe schedule command will print a graphical schedule with assigning the
142
- tasks\nselected with plan. When schedule command is invoked the planned tasks are
143
- \nadded at or after the current time within the time schedule. Tasks that are done\nand
144
- scheduled in the future are not shown. Tasks done and in the past are shown\nwith
145
- the actual processing time.\n\nCreate a schedule with working time from 8a.m. to
146
- 6p.m. and meetings between\n9a.m. and 9.30a.m. and 1p.m. and 2.45p.m.\n $ syctask
147
- schedule -w \"8:00-18:00\" -b \"9:00-9:30,13:00-14:45\"\n\nAdd titles to the meetings\n
148
- \ $ syctask schedule -m \"Project status,Management meeting\"\n\nThe output will
149
- be\n Meetings\n --------\n A - Project status\n B - Management meeting\n\n
150
- \ A B\n xxx-///-|---|---|---///////-|---|---|---|\n 8
151
- \ 9 10 11 12 13 14 15 16 17 18\n 1\n\n Tasks\n -----\n 0 -
152
- 1: My first task\n\nAdding a task to a meeting\n $ syctask schedule -a \"A:0\"\n\nwill
170
+ If you specify a position flag the prioritized tasks \nare added at the provided
171
+ position.\n $ syctask plan -o 7,9 -p 2\n Tasks\n -----\n 0: 3 - My
172
+ first task\n 1: 10 - My fourth task\n 2: 7 - My third task\n 3: 9 - My
173
+ second task\n\n===Create schedule\nThe schedule command will print a graphical schedule
174
+ with assigning the tasks\nselected with plan. When schedule command is invoked the
175
+ planned tasks are \nadded at or after the current time within the time schedule.
176
+ Tasks that are done\nand scheduled in the future are not shown. Tasks done and in
177
+ the past are shown\nwith the actual processing time.\n\nCreate a schedule with working
178
+ time from 8a.m. to 6p.m. and meetings between\n9a.m. and 9.30a.m. and 1p.m. and
179
+ 2.45p.m.\n $ syctask schedule -w \"8:00-18:00\" -b \"9:00-9:30,13:00-14:45\"\n\nAdd
180
+ titles to the meetings\n $ syctask schedule -m \"Project status,Management meeting\"\n\nThe
181
+ output will be\n Meetings\n --------\n A - Project status\n B - Management
182
+ meeting\n\n A B\n xxx-///-|---|---|---///////-|---|---|---|\n
183
+ \ 8 9 10 11 12 13 14 15 16 17 18\n 1\n\n Tasks\n -----\n 0
184
+ - 1: My first task\n\nAdding a task to a meeting\n $ syctask schedule -a \"A:0\"\n\nwill
153
185
  print\n Meetings\n --------\n A - Project status\n 1 - My first
154
186
  task\n B - Management meeting\n\n A B\n ----///-|---|---|---///////-|---|---|---|\n
155
187
  \ 8 9 10 11 12 13 14 15 16 17 18\n \n\n Tasks\n -----\n 0:
@@ -174,8 +206,8 @@ description: ! "= Simple task organizer\nsyctask can be used to create, plan, pr
174
206
  tasks with ID 8 and 12 from the planned tasks of today. The tasks are\nonly removed
175
207
  from the planned tasks and not physically deleted.\n $ syctask delete --plan
176
208
  today --id 8,12\n\n===Settings\nThe settings command allows to define default values
177
- for task directory and to create general purpose tasks that can be used for tracking
178
- and later statistical evaluation.\n\nCreate general purpose tasks for phone and
209
+ for task directory and to \ncreate general purpose tasks that can be used for tracking
210
+ and later statistical \nevaluation.\n\nCreate general purpose tasks for phone and
179
211
  talk\n $ syctask setting --general PHONE,TALK\n\nList all settings\n $ syctask
180
212
  setting --list\n\n===Info\nInfo searches for the location of a task and lists all
181
213
  task directories\n\nSearch for task with id 102\n $ syctask info --id 102\n\nList
@@ -188,7 +220,7 @@ description: ! "= Simple task organizer\nsyctask can be used to create, plan, pr
188
220
  the command finds\nor creates the tasks. The default task directory is ~/.tasks,
189
221
  so if no task\ndirectory is specified all commands obtain tasks from or create tasks
190
222
  in\n~/.tasks. If a project is specified the tasks will be saved to or obtained from
191
- the task directories subdirectory specified with the --project flag.\n\n --taskdir
223
+ \nthe task directories subdirectory specified with the --project flag.\n\n --taskdir
192
224
  \ --project Tasks in\n - - default_task_dir\n x -
193
225
  \ task_dir\n - x default_task_dir/project\n x x
194
226
  \ task_dir/project\n\nIn the table the relation of commands to --taskdir and
@@ -210,18 +242,18 @@ description: ! "= Simple task organizer\nsyctask can be used to create, plan, pr
210
242
  The files are\nsaved as YAML files and can be edited directly.\n\n* Planned tasks
211
243
  files\nThe planned tasks are save to YYYY-MM-DD_planned_tasks in syctask's system\ndirectory.
212
244
  Each task is saved with the task's directory and the ID.\n\n* Schedule files\nThe
213
- schedule is saved to YYYY-MM-DD_time_schedule in the default task directory.The
245
+ schedule is saved to YYYY-MM-DD_time_schedule in the default task directory.\nThe
214
246
  files are saved as YAML files and can be changed manually.\n\n* Log file\nCreating
215
- schedule and task processings is logged to tasks.log. For example when a task is
216
- started and stopped this is action is saved to tasks.log.\n\n* Tracked file\nA started
217
- task is saved to tracked_tasks. A semaphore file is created with\nID.track when
218
- the task ID is started. When the task is stopped the semaphore\nfile is deleted.\n\n*
247
+ schedule and task processings is logged to tasks.log. For example when \na task
248
+ is started and stopped this is action is saved to tasks.log.\n\n* Tracked file\nA
249
+ started task is saved to tracked_tasks. A semaphore file is created with\nID.track
250
+ when the task ID is started. When the task is stopped the semaphore\nfile is deleted.\n\n*
219
251
  General purpose tasks\nWith syctask setting -g PHONE so called general purpose tasks
220
252
  can be created.\nThese tasks can be used for time tracking and later statistic evaluation
221
253
  to\ndetermine the amount of disturbences e.g. by phone. These tasks are saved to\ndefault_tasks.
222
254
  The general purpose tasks itself are also saved to the\n.syc/syctask directory as
223
255
  regular task files.\n\n* Default task dir\nThe default task that is used e.g. with
224
- list is saved to default_tasks_dir. This can be set with the setting command.\n\n==Working
256
+ list is saved to default_tasks_dir. \nThis can be set with the setting command.\n\n==Working
225
257
  with syctask\nTo work with syctask and get the most out of it there is to follow
226
258
  a certain\nprocess.\n\n===Creating a schedule\n==== View tasks\nIn the morning before
227
259
  I start to work I scan my tasks with syctask list or \nsyctask inspect to get an
@@ -230,11 +262,11 @@ description: ! "= Simple task organizer\nsyctask can be used to create, plan, pr
230
262
  I will filter for the respective tasks\n $ syctask plan\n\n==== Prioritize tasks
231
263
  (optionally)\nIf I want to process the tasks in a specific sequence I prioritize
232
264
  the tasks\nwith \n $ syctask prio\n\n==== Create schedule\nI create a schedule
233
- with my working hours and meetings that have been scheduled with \n $ syctask
265
+ with my working hours and meetings that have been scheduled \nwith \n $ syctask
234
266
  -w \"8:00-18:00\" -b \"9:00-10:00,14:30-16:00\" -m \"Team,Status\"\n\n==== Create
235
267
  an agenda\nI assign the topics I want to discuss in the meetings to the meetings
236
268
  with\n syctask schedule -a \"A:1,3,6;B:3,5\"\n \n==== Start a task\nTo begin
237
- I start the first task in the schedule with syctask start -p ID (where ID is the
269
+ I start the first task in the schedule with syctask start -p ID \n(where ID is the
238
270
  ID of the planned (-p) tasks)\n $ syctask start -p 10\n\n==== End a task\nTo
239
271
  end the task I invoke \n $ syctask stop\nThis will stop the last started task\n\n====
240
272
  Re-schedule a task\nIf I cannot finish a task than I update the task with a new
@@ -305,9 +337,16 @@ description: ! "= Simple task organizer\nsyctask can be used to create, plan, pr
305
337
  task file. If the id is not \n contained in the ids file the task is looked up
306
338
  in the provided directory\n* Inspect command allows to list each today's unplanned
307
339
  task to edit, delete,\n mark as done or plan\n* Update command now has a duration
308
- flag to set the task's duration\n\n==Tests\nThe test files live in the folder test
309
- and start with test_.\n\nThere is a rake file available to run all tests\n\n $
310
- rake test\n \n==License\nsyc-task is released under the {MIT License}[http://opensource.org/licenses/MIT]\n\n==Links\n*
340
+ flag to set the task's duration\n\nVersion 0.2.0\n* Migrated from TestUnit to Minitest\n*
341
+ Implemented ([![Gem Version](https://badge.fury.io/rb/timeleap.svg)](http://badge.fury.io/rb/timeleap)
342
+ which allows to specify additional time distances to yesterday, today tomorrow.
343
+ \n Time distances come in two flavors as long and short forms.\n Examples for
344
+ long forms are\n + yesterday|today|tomorrow\n + next|previous_monday|tuesday|...|sunday\n
345
+ \ + monday|tuesday|...|sunday_in|back_1_week|month|year\n + in|back_10_days|weeks|months|years\n
346
+ \ Examples for short forms are\n + y|tod|tom\n + n|pmo|tu|..|su\n + mo|tu|...|sui|b1w|m|y\n
347
+ \ + i|b10d|w|m|y\n \n==Tests\nThe test files live in the folder test and start
348
+ with test_.\n\nThere is a rake file available to run all tests\n\n $ rake test\n
349
+ \ \n==License\nsyc-task is released under the {MIT License}[http://opensource.org/licenses/MIT]\n\n==Links\n*
311
350
  [http://www.github.com/sugaryourcoffee/syc-task] - Source code on GitHub\n* [http://syc.dyndns.org/drupal/wiki/syc-task]
312
351
  - Development notebook\n* [https://rubygems.org/gems/syc-backup] - RubyGems\n"
313
352
  email: pierre@sugaryourcoffee.de
@@ -367,7 +406,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
367
406
  version: '0'
368
407
  requirements: []
369
408
  rubyforge_project:
370
- rubygems_version: 1.8.25
409
+ rubygems_version: 1.8.23
371
410
  signing_key:
372
411
  specification_version: 3
373
412
  summary: Simple task organizer