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 +11 -10
- data/VERSION +1 -1
- data/bin/timetrackr +10 -3
- data/lib/timetrackr/sqlite.rb +5 -0
- data/lib/timetrackr/yaml.rb +7 -0
- data/lib/timetrackr.rb +8 -0
- data/timetrackr.gemspec +2 -2
- metadata +3 -3
data/README.mkd
CHANGED
@@ -4,23 +4,24 @@ A simple CLI time tracking utility.
|
|
4
4
|
|
5
5
|
## Example
|
6
6
|
|
7
|
-
|
7
|
+
(with a Bash alias of 'tt')
|
8
8
|
|
9
|
-
$ tt
|
9
|
+
$ tt start something
|
10
10
|
|
11
11
|
$ tt
|
12
|
-
|
13
|
-
play * 0h 0m 1s
|
12
|
+
something * 0h 0m 4s
|
14
13
|
|
15
|
-
$ tt
|
16
|
-
|
17
|
-
$ tt time
|
18
|
-
play * 0h 0m 5s
|
14
|
+
$ tt start another-thing
|
19
15
|
|
20
16
|
$ tt log
|
21
|
-
2011-05-
|
22
|
-
|
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.
|
1
|
+
0.1.4
|
data/bin/timetrackr
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
|
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
|
-
|
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
|
data/lib/timetrackr/sqlite.rb
CHANGED
@@ -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)
|
data/lib/timetrackr/yaml.rb
CHANGED
@@ -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.
|
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-
|
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.
|
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-
|
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:
|
109
|
+
hash: 317875573549099611
|
110
110
|
segments:
|
111
111
|
- 0
|
112
112
|
version: "0"
|