timetrackr 0.1.3 → 0.1.4

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.mkd CHANGED
@@ -4,23 +4,24 @@ A simple CLI time tracking utility.
4
4
 
5
5
  ## Example
6
6
 
7
- $ tt start work
7
+ (with a Bash alias of 'tt')
8
8
 
9
- $ tt switch play
9
+ $ tt start something
10
10
 
11
11
  $ tt
12
- work 0h 0m 3s
13
- play * 0h 0m 1s
12
+ something * 0h 0m 4s
14
13
 
15
- $ tt clear work
16
-
17
- $ tt time
18
- play * 0h 0m 5s
14
+ $ tt start another-thing
19
15
 
20
16
  $ tt log
21
- 2011-05-17 work 08:05 08:20 0h 15m 41s
22
- something * 09:05 0h 0m 4s
17
+ 2011-05-18 something * 22:11 0h 0m 26s
18
+ another-thing * 22:11 0h 0m 6s
19
+
20
+ $ tt stop something
23
21
 
22
+ $ tt
23
+ something 0h 0m 37s
24
+ another-thing * 0h 0m 20s
24
25
 
25
26
 
26
27
  ## Contributing to timetrackr
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.3
1
+ 0.1.4
data/bin/timetrackr CHANGED
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- $LOAD_PATH.unshift File.dirname(__FILE__) + '/../lib'
3
+ lib_dir = File.dirname(__FILE__) + '/../lib'
4
+ $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
4
5
 
5
6
  require 'timetrackr'
6
- require 'timetrackr/period'
7
7
 
8
8
  DEFAULTS = {
9
9
  'backend' => 'yaml',
@@ -138,7 +138,8 @@ when 'log'
138
138
  start = period.start.strftime(config['absolute_time'])
139
139
  stop = period.current? ? ' ' : period.stop.strftime(config['absolute_time'])
140
140
  length = format_time(period.length, config['relative_format'])
141
- "#{day.ljust(12)} #{name.ljust(15)} #{start.ljust(7)} #{stop.ljust(7)} #{length}"
141
+ notes = period.notes
142
+ "#{day.ljust(12)} #{name.ljust(15)} #{start} - #{stop.ljust(5)} #{length} #{notes}"
142
143
  }
143
144
  puts table
144
145
 
@@ -151,6 +152,12 @@ when 'clear','delete','del'
151
152
  puts "Task '#{task}' cleared" if $verbose
152
153
  end
153
154
 
155
+ when 'rename','mv'
156
+ from = ARGV.shift
157
+ to = ARGV.shift
158
+ trackr.rename(from,to)
159
+ puts "Renamed '#{from}' to '#{to}'" if $verbose
160
+
154
161
  else
155
162
  puts "'#{cmd}' is not a valid command"
156
163
  show_help
@@ -57,6 +57,11 @@ class SqliteTimeTrackr < TimeTrackr
57
57
  }
58
58
  end
59
59
 
60
+ def rename(from, to)
61
+ sql = "UPDATE events SET task = :to WHERE task = :from;"
62
+ @db.execute(sql, 'to' => to, 'from' => from)
63
+ end
64
+
60
65
  def clear(task)
61
66
  sql = "DELETE FROM events WHERE task = :task;"
62
67
  @db.execute(sql, 'task' => task)
@@ -51,6 +51,13 @@ class YamlTimeTrackr < TimeTrackr
51
51
  } unless !@db[:tasks].include? task
52
52
  end
53
53
 
54
+ def rename(from, to)
55
+ @db[:tasks][to] = @db[:tasks].delete(from)
56
+ if @db[:current].delete(from)
57
+ @db[:current].unshift(to)
58
+ end
59
+ end
60
+
54
61
  def close
55
62
  write_file
56
63
  end
data/lib/timetrackr.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  autoload 'YamlTimeTrackr', 'timetrackr/yaml'
2
2
  autoload 'SqliteTimeTrackr', 'timetrackr/sqlite'
3
+ autoload 'Period', 'timetrackr/period'
3
4
 
4
5
  class TimeTrackr
5
6
  def self.create(type, options={})
@@ -67,6 +68,13 @@ class TimeTrackr
67
68
  raise 'Not Implemented'
68
69
  end
69
70
 
71
+ #
72
+ # rename a task
73
+ #
74
+ def rename(from, to)
75
+ raise 'Not implemented'
76
+ end
77
+
70
78
  #
71
79
  # clear an task
72
80
  #
data/timetrackr.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{timetrackr}
8
- s.version = "0.1.3"
8
+ s.version = "0.1.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Felix Hanley"]
12
- s.date = %q{2011-05-17}
12
+ s.date = %q{2011-05-19}
13
13
  s.default_executable = %q{timetrackr}
14
14
  s.description = %q{A simple time tracking utility}
15
15
  s.email = %q{felix@seconddrawer.com.au}
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: timetrackr
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.3
5
+ version: 0.1.4
6
6
  platform: ruby
7
7
  authors:
8
8
  - Felix Hanley
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-05-17 00:00:00 +07:00
13
+ date: 2011-05-19 00:00:00 +07:00
14
14
  default_executable: timetrackr
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -106,7 +106,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
106
106
  requirements:
107
107
  - - ">="
108
108
  - !ruby/object:Gem::Version
109
- hash: -4194975739738215101
109
+ hash: 317875573549099611
110
110
  segments:
111
111
  - 0
112
112
  version: "0"