timetrap 1.8.4 → 1.8.5

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -7,6 +7,7 @@ gem 'getopt-declare', ">= 1.28"
7
7
  gem 'json', ">= 1.4.6"
8
8
  gem 'icalendar', "~>1.1.5"
9
9
  gem 'rake'
10
+ gem 'rdoc'
10
11
 
11
12
  group :test do
12
13
  gem "rspec", "~>2"
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :major: 1
3
3
  :minor: 8
4
- :patch: 4
4
+ :patch: 5
@@ -375,9 +375,14 @@ COMMAND is one of:
375
375
  end
376
376
 
377
377
  def month
378
- d = Chronic.parse( "last #{args['-s'] || Date.today.strftime("%B")}" ).to_date
378
+ d = Chronic.parse( "last #{args['-s'] || Date.today.strftime("%B")}" )
379
+
379
380
  beginning_of_month = Date.new( d.year, d.month )
380
- end_of_month = Date.new( d.year, d.month+1 ) - 1
381
+ end_of_month = if d.month == 12 # handle edgecase
382
+ Date.new( d.year + 1, 1) - 1
383
+ else
384
+ Date.new( d.year, d.month+1 ) - 1
385
+ end
381
386
  args['-s'] = beginning_of_month.to_s
382
387
  args['-e'] = end_of_month.to_s
383
388
  display
@@ -599,6 +599,42 @@ END:VCALENDAR
599
599
  end
600
600
  end
601
601
 
602
+ describe "month" do
603
+ it "should display all entries for the month" do
604
+ create_entry(
605
+ :start => Time.local(2012, 2, 5, 1, 2, 3),
606
+ :end => Time.local(2012, 2, 5, 2, 2, 3)
607
+ )
608
+ create_entry(
609
+ :start => Time.local(2012, 2, 6, 1, 2, 3),
610
+ :end => Time.local(2012, 2, 6, 2, 2, 3)
611
+ )
612
+ create_entry(
613
+ :start => Time.local(2012, 1, 5, 1, 2, 3),
614
+ :end => Time.local(2012, 1, 5, 2, 2, 3)
615
+ )
616
+
617
+ Date.should_receive(:today).and_return(Date.new(2012, 2, 5))
618
+ invoke "month"
619
+
620
+ $stdout.string.should include 'Feb 05, 2012'
621
+ $stdout.string.should include 'Feb 06, 2012'
622
+ $stdout.string.should_not include 'Jan'
623
+ end
624
+
625
+ it "should work in December" do
626
+ create_entry(
627
+ :start => Time.local(2012, 12, 5, 1, 2, 3),
628
+ :end => Time.local(2012, 12, 5, 2, 2, 3)
629
+ )
630
+
631
+ Date.should_receive(:today).and_return(Date.new(2012, 12, 5))
632
+ invoke "month"
633
+
634
+ $stdout.string.should include 'Wed Dec 05, 2012 01:02:03 - 02:02:03'
635
+ end
636
+ end
637
+
602
638
  describe "kill" do
603
639
  it "should give me a chance not to fuck up" do
604
640
  entry = create_entry
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "timetrap"
8
- s.version = "1.8.4"
8
+ s.version = "1.8.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Sam Goldstein"]
12
- s.date = "2012-11-17"
12
+ s.date = "2012-12-06"
13
13
  s.description = "Command line time tracker"
14
14
  s.email = "sgrock@gmail.com"
15
15
  s.executables = ["t"]
@@ -61,6 +61,7 @@ Gem::Specification.new do |s|
61
61
  s.add_runtime_dependency(%q<json>, [">= 1.4.6"])
62
62
  s.add_runtime_dependency(%q<icalendar>, ["~> 1.1.5"])
63
63
  s.add_runtime_dependency(%q<rake>, [">= 0"])
64
+ s.add_runtime_dependency(%q<rdoc>, [">= 0"])
64
65
  s.add_development_dependency(%q<jeweler>, [">= 0"])
65
66
  s.add_runtime_dependency(%q<sequel>, [">= 3.9.0"])
66
67
  s.add_runtime_dependency(%q<sqlite3>, ["~> 1.3.3"])
@@ -74,6 +75,7 @@ Gem::Specification.new do |s|
74
75
  s.add_dependency(%q<json>, [">= 1.4.6"])
75
76
  s.add_dependency(%q<icalendar>, ["~> 1.1.5"])
76
77
  s.add_dependency(%q<rake>, [">= 0"])
78
+ s.add_dependency(%q<rdoc>, [">= 0"])
77
79
  s.add_dependency(%q<jeweler>, [">= 0"])
78
80
  s.add_dependency(%q<sequel>, [">= 3.9.0"])
79
81
  s.add_dependency(%q<sqlite3>, ["~> 1.3.3"])
@@ -88,6 +90,7 @@ Gem::Specification.new do |s|
88
90
  s.add_dependency(%q<json>, [">= 1.4.6"])
89
91
  s.add_dependency(%q<icalendar>, ["~> 1.1.5"])
90
92
  s.add_dependency(%q<rake>, [">= 0"])
93
+ s.add_dependency(%q<rdoc>, [">= 0"])
91
94
  s.add_dependency(%q<jeweler>, [">= 0"])
92
95
  s.add_dependency(%q<sequel>, [">= 3.9.0"])
93
96
  s.add_dependency(%q<sqlite3>, ["~> 1.3.3"])
metadata CHANGED
@@ -1,217 +1,232 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: timetrap
3
- version: !ruby/object:Gem::Version
4
- version: 1.8.4
3
+ version: !ruby/object:Gem::Version
4
+ hash: 61
5
5
  prerelease:
6
+ segments:
7
+ - 1
8
+ - 8
9
+ - 5
10
+ version: 1.8.5
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Sam Goldstein
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2012-11-17 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: sequel
16
- requirement: !ruby/object:Gem::Requirement
17
+
18
+ date: 2012-12-06 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ requirement: &id001 !ruby/object:Gem::Requirement
17
22
  none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ hash: 35
27
+ segments:
28
+ - 3
29
+ - 9
30
+ - 0
21
31
  version: 3.9.0
22
- type: :runtime
32
+ version_requirements: *id001
33
+ name: sequel
23
34
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: 3.9.0
30
- - !ruby/object:Gem::Dependency
31
- name: sqlite3
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - ~>
36
- - !ruby/object:Gem::Version
37
- version: 1.3.3
38
35
  type: :runtime
39
- prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
36
+ - !ruby/object:Gem::Dependency
37
+ requirement: &id002 !ruby/object:Gem::Requirement
41
38
  none: false
42
- requirements:
39
+ requirements:
43
40
  - - ~>
44
- - !ruby/object:Gem::Version
41
+ - !ruby/object:Gem::Version
42
+ hash: 29
43
+ segments:
44
+ - 1
45
+ - 3
46
+ - 3
45
47
  version: 1.3.3
46
- - !ruby/object:Gem::Dependency
47
- name: chronic
48
- requirement: !ruby/object:Gem::Requirement
48
+ version_requirements: *id002
49
+ name: sqlite3
50
+ prerelease: false
51
+ type: :runtime
52
+ - !ruby/object:Gem::Dependency
53
+ requirement: &id003 !ruby/object:Gem::Requirement
49
54
  none: false
50
- requirements:
51
- - - ! '>='
52
- - !ruby/object:Gem::Version
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ hash: 15
59
+ segments:
60
+ - 0
61
+ - 6
62
+ - 4
53
63
  version: 0.6.4
54
- type: :runtime
64
+ version_requirements: *id003
65
+ name: chronic
55
66
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
67
+ type: :runtime
68
+ - !ruby/object:Gem::Dependency
69
+ requirement: &id004 !ruby/object:Gem::Requirement
57
70
  none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: 0.6.4
62
- - !ruby/object:Gem::Dependency
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ hash: 55
75
+ segments:
76
+ - 1
77
+ - 28
78
+ version: "1.28"
79
+ version_requirements: *id004
63
80
  name: getopt-declare
64
- requirement: !ruby/object:Gem::Requirement
65
- none: false
66
- requirements:
67
- - - ! '>='
68
- - !ruby/object:Gem::Version
69
- version: '1.28'
70
- type: :runtime
71
81
  prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '1.28'
78
- - !ruby/object:Gem::Dependency
79
- name: json
80
- requirement: !ruby/object:Gem::Requirement
81
- none: false
82
- requirements:
83
- - - ! '>='
84
- - !ruby/object:Gem::Version
85
- version: 1.4.6
86
82
  type: :runtime
87
- prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
83
+ - !ruby/object:Gem::Dependency
84
+ requirement: &id005 !ruby/object:Gem::Requirement
89
85
  none: false
90
- requirements:
91
- - - ! '>='
92
- - !ruby/object:Gem::Version
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ hash: 11
90
+ segments:
91
+ - 1
92
+ - 4
93
+ - 6
93
94
  version: 1.4.6
94
- - !ruby/object:Gem::Dependency
95
- name: icalendar
96
- requirement: !ruby/object:Gem::Requirement
95
+ version_requirements: *id005
96
+ name: json
97
+ prerelease: false
98
+ type: :runtime
99
+ - !ruby/object:Gem::Dependency
100
+ requirement: &id006 !ruby/object:Gem::Requirement
97
101
  none: false
98
- requirements:
102
+ requirements:
99
103
  - - ~>
100
- - !ruby/object:Gem::Version
104
+ - !ruby/object:Gem::Version
105
+ hash: 25
106
+ segments:
107
+ - 1
108
+ - 1
109
+ - 5
101
110
  version: 1.1.5
102
- type: :runtime
111
+ version_requirements: *id006
112
+ name: icalendar
103
113
  prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
114
+ type: :runtime
115
+ - !ruby/object:Gem::Dependency
116
+ requirement: &id007 !ruby/object:Gem::Requirement
105
117
  none: false
106
- requirements:
107
- - - ~>
108
- - !ruby/object:Gem::Version
109
- version: 1.1.5
110
- - !ruby/object:Gem::Dependency
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ hash: 3
122
+ segments:
123
+ - 0
124
+ version: "0"
125
+ version_requirements: *id007
111
126
  name: rake
112
- requirement: !ruby/object:Gem::Requirement
113
- none: false
114
- requirements:
115
- - - ! '>='
116
- - !ruby/object:Gem::Version
117
- version: '0'
127
+ prerelease: false
118
128
  type: :runtime
129
+ - !ruby/object:Gem::Dependency
130
+ requirement: &id008 !ruby/object:Gem::Requirement
131
+ none: false
132
+ requirements:
133
+ - - ">="
134
+ - !ruby/object:Gem::Version
135
+ hash: 3
136
+ segments:
137
+ - 0
138
+ version: "0"
139
+ version_requirements: *id008
140
+ name: rdoc
119
141
  prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
142
+ type: :runtime
143
+ - !ruby/object:Gem::Dependency
144
+ requirement: &id009 !ruby/object:Gem::Requirement
121
145
  none: false
122
- requirements:
123
- - - ! '>='
124
- - !ruby/object:Gem::Version
125
- version: '0'
126
- - !ruby/object:Gem::Dependency
146
+ requirements:
147
+ - - ">="
148
+ - !ruby/object:Gem::Version
149
+ hash: 3
150
+ segments:
151
+ - 0
152
+ version: "0"
153
+ version_requirements: *id009
127
154
  name: jeweler
128
- requirement: !ruby/object:Gem::Requirement
129
- none: false
130
- requirements:
131
- - - ! '>='
132
- - !ruby/object:Gem::Version
133
- version: '0'
134
- type: :development
135
155
  prerelease: false
136
- version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
- requirements:
139
- - - ! '>='
140
- - !ruby/object:Gem::Version
141
- version: '0'
142
- - !ruby/object:Gem::Dependency
143
- name: sequel
144
- requirement: !ruby/object:Gem::Requirement
156
+ type: :development
157
+ - !ruby/object:Gem::Dependency
158
+ requirement: &id010 !ruby/object:Gem::Requirement
145
159
  none: false
146
- requirements:
147
- - - ! '>='
148
- - !ruby/object:Gem::Version
160
+ requirements:
161
+ - - ">="
162
+ - !ruby/object:Gem::Version
163
+ hash: 35
164
+ segments:
165
+ - 3
166
+ - 9
167
+ - 0
149
168
  version: 3.9.0
150
- type: :runtime
169
+ version_requirements: *id010
170
+ name: sequel
151
171
  prerelease: false
152
- version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
- requirements:
155
- - - ! '>='
156
- - !ruby/object:Gem::Version
157
- version: 3.9.0
158
- - !ruby/object:Gem::Dependency
159
- name: sqlite3
160
- requirement: !ruby/object:Gem::Requirement
161
- none: false
162
- requirements:
163
- - - ~>
164
- - !ruby/object:Gem::Version
165
- version: 1.3.3
166
172
  type: :runtime
167
- prerelease: false
168
- version_requirements: !ruby/object:Gem::Requirement
173
+ - !ruby/object:Gem::Dependency
174
+ requirement: &id011 !ruby/object:Gem::Requirement
169
175
  none: false
170
- requirements:
176
+ requirements:
171
177
  - - ~>
172
- - !ruby/object:Gem::Version
178
+ - !ruby/object:Gem::Version
179
+ hash: 29
180
+ segments:
181
+ - 1
182
+ - 3
183
+ - 3
173
184
  version: 1.3.3
174
- - !ruby/object:Gem::Dependency
175
- name: chronic
176
- requirement: !ruby/object:Gem::Requirement
185
+ version_requirements: *id011
186
+ name: sqlite3
187
+ prerelease: false
188
+ type: :runtime
189
+ - !ruby/object:Gem::Dependency
190
+ requirement: &id012 !ruby/object:Gem::Requirement
177
191
  none: false
178
- requirements:
179
- - - ! '>='
180
- - !ruby/object:Gem::Version
192
+ requirements:
193
+ - - ">="
194
+ - !ruby/object:Gem::Version
195
+ hash: 15
196
+ segments:
197
+ - 0
198
+ - 6
199
+ - 4
181
200
  version: 0.6.4
182
- type: :runtime
201
+ version_requirements: *id012
202
+ name: chronic
183
203
  prerelease: false
184
- version_requirements: !ruby/object:Gem::Requirement
204
+ type: :runtime
205
+ - !ruby/object:Gem::Dependency
206
+ requirement: &id013 !ruby/object:Gem::Requirement
185
207
  none: false
186
- requirements:
187
- - - ! '>='
188
- - !ruby/object:Gem::Version
189
- version: 0.6.4
190
- - !ruby/object:Gem::Dependency
208
+ requirements:
209
+ - - ">="
210
+ - !ruby/object:Gem::Version
211
+ hash: 55
212
+ segments:
213
+ - 1
214
+ - 28
215
+ version: "1.28"
216
+ version_requirements: *id013
191
217
  name: getopt-declare
192
- requirement: !ruby/object:Gem::Requirement
193
- none: false
194
- requirements:
195
- - - ! '>='
196
- - !ruby/object:Gem::Version
197
- version: '1.28'
198
- type: :runtime
199
218
  prerelease: false
200
- version_requirements: !ruby/object:Gem::Requirement
201
- none: false
202
- requirements:
203
- - - ! '>='
204
- - !ruby/object:Gem::Version
205
- version: '1.28'
219
+ type: :runtime
206
220
  description: Command line time tracker
207
221
  email: sgrock@gmail.com
208
- executables:
222
+ executables:
209
223
  - t
210
224
  extensions: []
211
- extra_rdoc_files:
225
+
226
+ extra_rdoc_files:
212
227
  - LICENSE.txt
213
228
  - README.md
214
- files:
229
+ files:
215
230
  - .rspec
216
231
  - .travis.yml
217
232
  - CONTRIBUTORS
@@ -239,28 +254,37 @@ files:
239
254
  - timetrap.gemspec
240
255
  homepage: http://github.com/samg/timetrap/tree/master
241
256
  licenses: []
257
+
242
258
  post_install_message:
243
- rdoc_options:
259
+ rdoc_options:
244
260
  - --inline-source
245
261
  - --charset=UTF-8
246
- require_paths:
262
+ require_paths:
247
263
  - lib
248
- required_ruby_version: !ruby/object:Gem::Requirement
264
+ required_ruby_version: !ruby/object:Gem::Requirement
249
265
  none: false
250
- requirements:
251
- - - ! '>='
252
- - !ruby/object:Gem::Version
253
- version: '0'
254
- required_rubygems_version: !ruby/object:Gem::Requirement
266
+ requirements:
267
+ - - ">="
268
+ - !ruby/object:Gem::Version
269
+ hash: 3
270
+ segments:
271
+ - 0
272
+ version: "0"
273
+ required_rubygems_version: !ruby/object:Gem::Requirement
255
274
  none: false
256
- requirements:
257
- - - ! '>='
258
- - !ruby/object:Gem::Version
259
- version: '0'
275
+ requirements:
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ hash: 3
279
+ segments:
280
+ - 0
281
+ version: "0"
260
282
  requirements: []
283
+
261
284
  rubyforge_project:
262
285
  rubygems_version: 1.8.24
263
286
  signing_key:
264
287
  specification_version: 3
265
288
  summary: Command line time tracker
266
289
  test_files: []
290
+