rworktracker 0.0.4 → 0.0.6

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.
@@ -4,6 +4,11 @@ A simple tool to keep track of the time you spend working on your projects
4
4
 
5
5
  This is mostly a simple app used to experiment a bit tdd, simple metaprogrammig etc..
6
6
 
7
+ UPDATE:
8
+ changed the really messy format I've choosen the first time..
9
+ sorry, no script to port old files to new version is present yet
10
+ had to change due to a very stupid bug :P
11
+
7
12
  == How it works
8
13
 
9
14
  $ rworktracker help
@@ -7,12 +7,12 @@ CONFIGFILE = File.join(File.expand_path(ENV['HOME']),'.rworktracker.yaml')
7
7
 
8
8
  cli = RworkTrackerCli.new(CONFIGFILE)
9
9
  if ARGV[0]
10
- begin
10
+ #begin
11
11
  cli.send ARGV[0]
12
- rescue Exception => e
13
- warn "command #{ARGV[0]} is not available"
14
- cli.help
15
- end
12
+ #rescue Exception => e
13
+ # warn "command #{ARGV[0]} is not available"
14
+ # cli.help
15
+ #end
16
16
  else
17
17
  cli.projects
18
18
  end
@@ -1,25 +1,6 @@
1
1
  require 'yaml'
2
2
  require 'time'
3
-
4
- # ugly monkeypatch
5
- class Hash
6
- def project(pro)
7
- self[pro]
8
- end
9
-
10
- def month
11
- self[Time.now.month] ||= Hash.new
12
- end
13
- def month= m
14
- self[Time.now.month]=m
15
- end
16
- def day
17
- self[Time.now.day] ||= []
18
- end
19
- def day= d
20
- self[Time.now.day]=d
21
- end
22
- end
3
+ require 'date'
23
4
 
24
5
  class RworkTrackerCli
25
6
 
@@ -132,6 +113,7 @@ class RworkTracker
132
113
  f = false
133
114
  end
134
115
  @wdata = ( f == false) ? Hash.new : f
116
+ #check_status
135
117
  end
136
118
 
137
119
  def writeYaml
@@ -145,14 +127,12 @@ class RworkTracker
145
127
  end
146
128
 
147
129
  def addProject(pro)
148
- @wdata[pro] ||= Hash.new
130
+ @wdata[pro] ||= []
149
131
  end
150
132
 
151
133
  def started?(pro)
152
134
  begin
153
- lm = @wdata[pro].keys.sort.last
154
- ld = @wdata[pro][lm].keys.sort.last
155
- if @wdata[pro][lm][ld].last['stop'] == nil
135
+ if @wdata[pro].last['stop'] == nil
156
136
  return true
157
137
  else
158
138
  return false
@@ -164,14 +144,14 @@ class RworkTracker
164
144
 
165
145
  def start(pro)
166
146
  return false unless @wdata[pro]
167
- @wdata[pro].month.day << { 'start' => @time.to_s }
147
+ @wdata[pro] << { 'start' => @time.to_s }
168
148
  return true
169
149
  end
170
150
 
171
151
  def stop(pro)
172
152
  return false unless @wdata[pro]
173
- if @wdata[pro].month.day.last.has_key?('start') and @wdata[pro].month.day.last.has_key?('stop') == false
174
- @wdata[pro].month.day.last.merge!({ 'stop' => @time.to_s })
153
+ if @wdata[pro].last.has_key?('start') and !@wdata[pro].last.has_key?('stop')
154
+ @wdata[pro].last.merge!({ 'stop' => @time.to_s })
175
155
  return true
176
156
  else
177
157
  return false
@@ -181,15 +161,11 @@ class RworkTracker
181
161
  def elapsed(pro)
182
162
  return false unless @wdata[pro]
183
163
  total = 0
184
- @wdata[pro].each_value do |m|
185
- m.each_value do |d|
186
- d.each do |e|
187
- if e['stop']
188
- total += Time.parse(e['stop']) - Time.parse(e['start'])
189
- elsif started?(pro)
190
- total += Time.now - Time.parse(e['start'])
191
- end
192
- end
164
+ @wdata[pro].each do |e|
165
+ if e['stop']
166
+ total += Time.parse(e['stop']) - Time.parse(e['start'])
167
+ elsif started?(pro)
168
+ total += Time.now - Time.parse(e['start'])
193
169
  end
194
170
  end
195
171
  return total
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: rworktracker
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.4
5
+ version: 0.0.6
6
6
  platform: ruby
7
7
  authors:
8
8
  - ghedamat
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-02-18 00:00:00 +01:00
13
+ date: 2011-03-22 00:00:00 +01:00
14
14
  default_executable: rworktracker
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -90,7 +90,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
90
90
  requirements:
91
91
  - - ">="
92
92
  - !ruby/object:Gem::Version
93
- hash: 596120463
93
+ hash: -796031187
94
94
  segments:
95
95
  - 0
96
96
  version: "0"