timesheet 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +1 -1
- data/lib/timesheet.rb +1 -1
- data/lib/timesheet/report_item.rb +0 -2
- data/lib/timesheet/time_report.rb +32 -20
- metadata +16 -36
data/Rakefile
CHANGED
@@ -14,7 +14,7 @@ Hoe::plugin :gemcutter
|
|
14
14
|
$hoe = Hoe.spec 'timesheet' do
|
15
15
|
self.developer 'John F. Schank III', 'jschank@mac.com'
|
16
16
|
self.rubyforge_name = self.name # TODO this is default value
|
17
|
-
self.extra_deps = [['activesupport', '>= 0'], ['archive-tar-minitar', '>= 0'], ['chronic', '>= 0'], ['
|
17
|
+
self.extra_deps = [['activesupport', '>= 0'], ['archive-tar-minitar', '>= 0'], ['chronic', '>= 0'], ['hoe', '>= 0'], ['json_pure', '>= 0'], ['newgem', '>= 0'], ['rake', '>= 0'], ['RedCloth', '>= 0'], ['rich_units', '>= 0'], ['rspec', '>= 0'], ['rubigen', '>= 0'], ['rubyforge', '>= 0'], ['syntax', '>= 0'], ['transaction-simple', '>= 0']]
|
18
18
|
# self.extra_deps = [['activesupport','>= 2.0.2']]
|
19
19
|
|
20
20
|
end
|
data/lib/timesheet.rb
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
require 'ruport'
|
2
1
|
require 'time'
|
3
2
|
|
4
3
|
class TimeReport
|
@@ -32,34 +31,47 @@ class TimeReport
|
|
32
31
|
private
|
33
32
|
|
34
33
|
def detail_report(outstream)
|
35
|
-
|
36
|
-
# field_names = ["Id", "Project", "Start - Stop", "Hours", "Comment"]
|
37
|
-
# field_methods = [:formatted_record_number, :project, :formatted_times, :formatted_duration, :comment]
|
38
34
|
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
35
|
+
fields = [
|
36
|
+
{:name => "Id", :method => :formatted_record_number },
|
37
|
+
{:name => "Project", :method => :project},
|
38
|
+
{:name => "Start - Stop", :method => :formatted_times},
|
39
|
+
{:name => "Hours", :method => :formatted_duration},
|
40
|
+
{:name => "Comment", :method => :comment}
|
41
|
+
]
|
42
|
+
|
43
|
+
max_widths = Hash.new(0)
|
44
|
+
@entries.each do |item|
|
45
|
+
fields.each do |field|
|
46
|
+
method = field[:method]
|
47
|
+
max_widths[method] = [max_widths[method], item.send(method).length].max
|
48
|
+
end
|
49
|
+
end
|
45
50
|
|
46
|
-
|
47
|
-
|
51
|
+
fields.each do |field|
|
52
|
+
name = field[:name]
|
53
|
+
method = field[:method]
|
54
|
+
max_widths[method] = [max_widths[method], name.length].max
|
55
|
+
end
|
48
56
|
|
49
|
-
|
50
|
-
|
57
|
+
header = "|"
|
58
|
+
fields.each { |field| header << " #{field[:name].center(max_widths[field[:method]])} |" }
|
51
59
|
|
52
|
-
|
53
|
-
row << entry.formatted_duration
|
60
|
+
separator = "+" + ("-" * (header.length - 2)) + "+"
|
54
61
|
|
55
|
-
|
56
|
-
|
62
|
+
outstream.puts separator
|
63
|
+
outstream.puts header
|
64
|
+
outstream.puts separator
|
57
65
|
|
58
|
-
|
66
|
+
@entries.sort.each do |item|
|
67
|
+
row = "|"
|
68
|
+
fields.each do |field|
|
69
|
+
row << " #{item.send(field[:method]).ljust(max_widths[field[:method]])} |"
|
59
70
|
end
|
71
|
+
outstream.puts row
|
60
72
|
end
|
61
73
|
|
62
|
-
outstream.puts
|
74
|
+
outstream.puts separator
|
63
75
|
|
64
76
|
end
|
65
77
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: timesheet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John F. Schank III
|
@@ -42,26 +42,6 @@ dependencies:
|
|
42
42
|
- !ruby/object:Gem::Version
|
43
43
|
version: "0"
|
44
44
|
version:
|
45
|
-
- !ruby/object:Gem::Dependency
|
46
|
-
name: color
|
47
|
-
type: :runtime
|
48
|
-
version_requirement:
|
49
|
-
version_requirements: !ruby/object:Gem::Requirement
|
50
|
-
requirements:
|
51
|
-
- - ">="
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: "0"
|
54
|
-
version:
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: fastercsv
|
57
|
-
type: :runtime
|
58
|
-
version_requirement:
|
59
|
-
version_requirements: !ruby/object:Gem::Requirement
|
60
|
-
requirements:
|
61
|
-
- - ">="
|
62
|
-
- !ruby/object:Gem::Version
|
63
|
-
version: "0"
|
64
|
-
version:
|
65
45
|
- !ruby/object:Gem::Dependency
|
66
46
|
name: hoe
|
67
47
|
type: :runtime
|
@@ -93,7 +73,7 @@ dependencies:
|
|
93
73
|
version: "0"
|
94
74
|
version:
|
95
75
|
- !ruby/object:Gem::Dependency
|
96
|
-
name:
|
76
|
+
name: rake
|
97
77
|
type: :runtime
|
98
78
|
version_requirement:
|
99
79
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -103,7 +83,7 @@ dependencies:
|
|
103
83
|
version: "0"
|
104
84
|
version:
|
105
85
|
- !ruby/object:Gem::Dependency
|
106
|
-
name:
|
86
|
+
name: RedCloth
|
107
87
|
type: :runtime
|
108
88
|
version_requirement:
|
109
89
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -113,7 +93,7 @@ dependencies:
|
|
113
93
|
version: "0"
|
114
94
|
version:
|
115
95
|
- !ruby/object:Gem::Dependency
|
116
|
-
name:
|
96
|
+
name: rich_units
|
117
97
|
type: :runtime
|
118
98
|
version_requirement:
|
119
99
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -123,7 +103,7 @@ dependencies:
|
|
123
103
|
version: "0"
|
124
104
|
version:
|
125
105
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
106
|
+
name: rspec
|
127
107
|
type: :runtime
|
128
108
|
version_requirement:
|
129
109
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -133,7 +113,7 @@ dependencies:
|
|
133
113
|
version: "0"
|
134
114
|
version:
|
135
115
|
- !ruby/object:Gem::Dependency
|
136
|
-
name:
|
116
|
+
name: rubigen
|
137
117
|
type: :runtime
|
138
118
|
version_requirement:
|
139
119
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -143,7 +123,7 @@ dependencies:
|
|
143
123
|
version: "0"
|
144
124
|
version:
|
145
125
|
- !ruby/object:Gem::Dependency
|
146
|
-
name:
|
126
|
+
name: rubyforge
|
147
127
|
type: :runtime
|
148
128
|
version_requirement:
|
149
129
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -153,7 +133,7 @@ dependencies:
|
|
153
133
|
version: "0"
|
154
134
|
version:
|
155
135
|
- !ruby/object:Gem::Dependency
|
156
|
-
name:
|
136
|
+
name: syntax
|
157
137
|
type: :runtime
|
158
138
|
version_requirement:
|
159
139
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -163,7 +143,7 @@ dependencies:
|
|
163
143
|
version: "0"
|
164
144
|
version:
|
165
145
|
- !ruby/object:Gem::Dependency
|
166
|
-
name:
|
146
|
+
name: transaction-simple
|
167
147
|
type: :runtime
|
168
148
|
version_requirement:
|
169
149
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -173,24 +153,24 @@ dependencies:
|
|
173
153
|
version: "0"
|
174
154
|
version:
|
175
155
|
- !ruby/object:Gem::Dependency
|
176
|
-
name:
|
177
|
-
type: :
|
156
|
+
name: rubyforge
|
157
|
+
type: :development
|
178
158
|
version_requirement:
|
179
159
|
version_requirements: !ruby/object:Gem::Requirement
|
180
160
|
requirements:
|
181
161
|
- - ">="
|
182
162
|
- !ruby/object:Gem::Version
|
183
|
-
version:
|
163
|
+
version: 2.0.3
|
184
164
|
version:
|
185
165
|
- !ruby/object:Gem::Dependency
|
186
|
-
name:
|
187
|
-
type: :
|
166
|
+
name: gemcutter
|
167
|
+
type: :development
|
188
168
|
version_requirement:
|
189
169
|
version_requirements: !ruby/object:Gem::Requirement
|
190
170
|
requirements:
|
191
171
|
- - ">="
|
192
172
|
- !ruby/object:Gem::Version
|
193
|
-
version:
|
173
|
+
version: 0.3.0
|
194
174
|
version:
|
195
175
|
- !ruby/object:Gem::Dependency
|
196
176
|
name: hoe
|
@@ -200,7 +180,7 @@ dependencies:
|
|
200
180
|
requirements:
|
201
181
|
- - ">="
|
202
182
|
- !ruby/object:Gem::Version
|
203
|
-
version: 2.
|
183
|
+
version: 2.5.0
|
204
184
|
version:
|
205
185
|
description: |-
|
206
186
|
<i>Timesheet</i> is simple ruby application for tracking time spent on projects.
|