timesheet 0.2.2 → 0.2.3
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/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.
|