timetrap 1.8.4 → 1.8.5

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/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
+