trak 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +16 -2
- data/README.md +1 -1
- data/lib/trak.rb +18 -22
- data/lib/trak/{blank.rb → core_ext/blank.rb} +0 -0
- data/lib/trak/{round_to_nearest.rb → core_ext/round_to_nearest.rb} +10 -0
- data/lib/trak/{time.rb → core_ext/time.rb} +0 -0
- data/lib/trak/exit.rb +8 -0
- data/lib/trak/{tracker_util.rb → trak.rb} +4 -4
- metadata +7 -6
data/CHANGELOG.md
CHANGED
@@ -1,10 +1,24 @@
|
|
1
1
|
# Change log
|
2
2
|
|
3
|
+
## v0.0.3 (2012-04-30)
|
4
|
+
|
5
|
+
Changed:
|
6
|
+
|
7
|
+
* (3483255): Added exit_err helper method
|
8
|
+
* (0c0cbf7): Renamed TrackerUtil module to Trak
|
9
|
+
* (9528123): Restructured lib dir
|
10
|
+
|
11
|
+
Fixed:
|
12
|
+
|
13
|
+
* (1050905): Fix bug where all time args are truncated to int
|
14
|
+
* (328b276): Fixed debug wrapper method
|
15
|
+
|
3
16
|
## v0.0.2 (2012-04-26)
|
4
17
|
|
5
|
-
Changed
|
18
|
+
Changed:
|
6
19
|
|
7
|
-
* Refactored currentTimeInMintues to Time#to_minutes
|
20
|
+
* (8854df7) Refactored currentTimeInMintues to Time#to_minutes
|
21
|
+
* (d485e0f) Removed currentTimeFormatted and timeToMinutes
|
8
22
|
|
9
23
|
## v0.0.1 (2012-04-26)
|
10
24
|
|
data/README.md
CHANGED
data/lib/trak.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
# command:
|
4
|
-
# $
|
5
|
-
# $
|
4
|
+
# $ trak 30 work on trak
|
5
|
+
# $ trak 1h work really hard on trak
|
6
6
|
#
|
7
7
|
# format:
|
8
8
|
# - First arg is how much time spent
|
@@ -11,8 +11,9 @@
|
|
11
11
|
require 'trollop'
|
12
12
|
require 'debugger'
|
13
13
|
|
14
|
-
require
|
15
|
-
require 'trak/
|
14
|
+
require 'trak/trak'
|
15
|
+
require 'trak/exit'
|
16
|
+
require 'trak/core_ext/time'
|
16
17
|
|
17
18
|
# place where data is stored
|
18
19
|
datadir = "#{ENV['HOME']}/Documents/Tracker/"
|
@@ -28,7 +29,7 @@ end
|
|
28
29
|
|
29
30
|
$g_opts = opts
|
30
31
|
def debug(steps = 1)
|
31
|
-
debugger if $g_opts[:debug]
|
32
|
+
debugger(steps) if $g_opts[:debug]
|
32
33
|
end
|
33
34
|
|
34
35
|
# all valid options have been processed, so figure out which mode
|
@@ -70,8 +71,7 @@ if MODE == 'report'
|
|
70
71
|
begin
|
71
72
|
file = File.open(filename).readlines.map &:chomp
|
72
73
|
rescue
|
73
|
-
|
74
|
-
exit 1
|
74
|
+
Exit::exit_err "#{__FILE__}: #{$!}"
|
75
75
|
end
|
76
76
|
|
77
77
|
# The keys for each hash are the titles of the various tasks logged.
|
@@ -101,14 +101,14 @@ if MODE == 'report'
|
|
101
101
|
puts "# Today's logged work"
|
102
102
|
end
|
103
103
|
|
104
|
-
workTotal =
|
105
|
-
personalTotal =
|
104
|
+
workTotal = Trak::printSubReport(work, "Work")
|
105
|
+
personalTotal = Trak::printSubReport(personal, "Personal")
|
106
106
|
|
107
|
-
newTimeString =
|
108
|
-
puts "Hours logged until #{newTimeString} (since #{
|
107
|
+
newTimeString = Trak::to12HourTime(Trak::newTimeWithMinutes(startTime, workTotal + personalTotal))
|
108
|
+
puts "Hours logged until #{newTimeString} (since #{Trak::to12HourTime(startTime)}). "
|
109
109
|
|
110
110
|
# if we're reporting for today, print the current time
|
111
|
-
puts "Currently #{
|
111
|
+
puts "Currently #{Trak::to12HourTime(Time.now.strftime(Trak::TIME_FORMAT_24HOUR))}." unless opts[:date]
|
112
112
|
else
|
113
113
|
if opts[:date]
|
114
114
|
STDERR.puts "No time log for #{fdate}. Track some time first."
|
@@ -126,8 +126,7 @@ elsif MODE == 'edit'
|
|
126
126
|
end
|
127
127
|
exit
|
128
128
|
else
|
129
|
-
|
130
|
-
exit 1
|
129
|
+
Exit::exit_err "#{__FILE__}: #{filename} does not exist or unable to open."
|
131
130
|
end
|
132
131
|
|
133
132
|
elsif MODE == 'insert'
|
@@ -136,14 +135,13 @@ elsif MODE == 'insert'
|
|
136
135
|
print "Continue? (y/n) "
|
137
136
|
input = STDIN.readline.chomp
|
138
137
|
unless input =~ /^y(es)?/i
|
139
|
-
|
140
|
-
exit 1
|
138
|
+
Exit::exit_err "Timelog update cancelled."
|
141
139
|
end
|
142
140
|
end
|
143
141
|
|
144
142
|
# process arguments
|
145
143
|
debug
|
146
|
-
minutes =
|
144
|
+
minutes = Trak::processTimeArgument ARGV.shift
|
147
145
|
message = ARGV.join(" ")
|
148
146
|
|
149
147
|
# open the output file
|
@@ -154,17 +152,15 @@ elsif MODE == 'insert'
|
|
154
152
|
if first_time
|
155
153
|
debug
|
156
154
|
currentTimeInMinutes = Time.now.to_minutes
|
157
|
-
startTime =
|
155
|
+
startTime = Trak::minutesToTime((currentTimeInMinutes - minutes).round_to_nearest 15)
|
158
156
|
file.puts "#{fdate} #{startTime}"
|
159
157
|
end
|
160
158
|
file.puts "#{minutes}: #{message}"
|
161
159
|
end
|
162
160
|
rescue
|
163
|
-
|
164
|
-
exit 1
|
161
|
+
Exit::exit_err "Couldn't open #{filename}: #{$!}"
|
165
162
|
end
|
166
163
|
|
167
164
|
else
|
168
|
-
|
169
|
-
exit 1
|
165
|
+
Exit::exit_err "Couldn't determine the correct mode (I was given '#{MODE}'): #{$!}"
|
170
166
|
end
|
File without changes
|
File without changes
|
data/lib/trak/exit.rb
ADDED
@@ -1,7 +1,7 @@
|
|
1
|
-
require "trak/blank"
|
2
|
-
require "trak/round_to_nearest"
|
1
|
+
require "trak/core_ext/blank"
|
2
|
+
require "trak/core_ext/round_to_nearest"
|
3
3
|
|
4
|
-
module
|
4
|
+
module Trak
|
5
5
|
TIME_FORMAT_12HOUR = "%l:%M %p"
|
6
6
|
TIME_FORMAT_24HOUR = "%k:%M"
|
7
7
|
|
@@ -63,7 +63,7 @@ module TrackerUtil
|
|
63
63
|
# returns a number of minutes
|
64
64
|
def self.processTimeArgument(time_string)
|
65
65
|
if time_string =~ /^(\d*\.?\d+)((m|min|minute|minutes)|(h|hr|hour|hours))?$/i
|
66
|
-
time = $1.
|
66
|
+
time = $1.to_f
|
67
67
|
modifier = $2
|
68
68
|
minutes = (modifier =~ /h.*/) ? time * 60 : time
|
69
69
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trak
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
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: 2012-04-
|
12
|
+
date: 2012-04-30 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: trollop
|
@@ -49,10 +49,11 @@ executables:
|
|
49
49
|
extensions: []
|
50
50
|
extra_rdoc_files: []
|
51
51
|
files:
|
52
|
-
- lib/trak/blank.rb
|
53
|
-
- lib/trak/round_to_nearest.rb
|
54
|
-
- lib/trak/time.rb
|
55
|
-
- lib/trak/
|
52
|
+
- lib/trak/core_ext/blank.rb
|
53
|
+
- lib/trak/core_ext/round_to_nearest.rb
|
54
|
+
- lib/trak/core_ext/time.rb
|
55
|
+
- lib/trak/exit.rb
|
56
|
+
- lib/trak/trak.rb
|
56
57
|
- lib/trak.rb
|
57
58
|
- bin/trak
|
58
59
|
- CHANGELOG.md
|