nickel 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,561 +1,561 @@
1
- require "spec_helper"
2
- require "time"
3
- require_relative "../../lib/nickel"
4
- require_relative "../../lib/nickel/occurrence"
5
- require_relative "../../lib/nickel/zdate"
6
- require_relative "../../lib/nickel/ztime"
1
+ require 'spec_helper'
2
+ require 'time'
3
+ require_relative '../../lib/nickel'
4
+ require_relative '../../lib/nickel/occurrence'
5
+ require_relative '../../lib/nickel/zdate'
6
+ require_relative '../../lib/nickel/ztime'
7
7
 
8
8
  describe Nickel do
9
- describe "#parse" do
9
+ describe '#parse' do
10
10
  let(:n) { Nickel.parse(query, run_date) }
11
11
  let(:run_date) { Time.now }
12
12
 
13
13
  context "when the query is 'oct 15 09'" do
14
- let(:query) { "oct 15 09" }
14
+ let(:query) { 'oct 15 09' }
15
15
 
16
- describe "#message" do
17
- it "is empty" do
16
+ describe '#message' do
17
+ it 'is empty' do
18
18
  expect(n.message).to be_empty
19
19
  end
20
20
  end
21
21
 
22
- describe "#occurrences" do
23
- it "is October 15 2009" do
22
+ describe '#occurrences' do
23
+ it 'is October 15 2009' do
24
24
  expect(n.occurrences).to match_array [
25
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20091015")),
25
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20091015'))
26
26
  ]
27
27
  end
28
28
  end
29
29
  end
30
30
 
31
31
  context "when the query is 'wake up everyday at 11am'" do
32
- let(:query) { "wake up everyday at 11am" }
32
+ let(:query) { 'wake up everyday at 11am' }
33
33
  let(:run_date) { Time.local(2014, 2, 26) }
34
34
 
35
- describe "#message" do
35
+ describe '#message' do
36
36
  it "is 'wake up'" do
37
- expect(n.message).to eq "wake up"
37
+ expect(n.message).to eq 'wake up'
38
38
  end
39
39
  end
40
40
 
41
- describe "#occurrences" do
42
- it "is daily at 11:00am" do
41
+ describe '#occurrences' do
42
+ it 'is daily at 11:00am' do
43
43
  expect(n.occurrences).to match_array [
44
- Nickel::Occurrence.new(type: :daily, interval: 1, start_date: Nickel::ZDate.new("20140226"), start_time: Nickel::ZTime.new("11")),
44
+ Nickel::Occurrence.new(type: :daily, interval: 1, start_date: Nickel::ZDate.new('20140226'), start_time: Nickel::ZTime.new('11'))
45
45
  ]
46
46
  end
47
47
  end
48
48
  end
49
49
 
50
50
  context "when the query is 'guitar lessons every tuesday at 5pm'" do
51
- let(:query) { "guitar lessons every tuesday at 5pm" }
51
+ let(:query) { 'guitar lessons every tuesday at 5pm' }
52
52
  let(:run_date) { Time.local(2014, 2, 26) }
53
53
 
54
- describe "#message" do
54
+ describe '#message' do
55
55
  it "is 'guitar lessons'" do
56
- expect(n.message).to eq "guitar lessons"
56
+ expect(n.message).to eq 'guitar lessons'
57
57
  end
58
58
  end
59
59
 
60
- describe "#occurrences" do
61
- it "is weekly at 5:00pm on Tuesday" do
60
+ describe '#occurrences' do
61
+ it 'is weekly at 5:00pm on Tuesday' do
62
62
  expect(n.occurrences).to match_array [
63
- Nickel::Occurrence.new(type: :weekly, interval: 1, day_of_week: 1, start_time: Nickel::ZTime.new("17"), start_date: Nickel::ZDate.new("20140304"))
63
+ Nickel::Occurrence.new(type: :weekly, interval: 1, day_of_week: 1, start_time: Nickel::ZTime.new('17'), start_date: Nickel::ZDate.new('20140304'))
64
64
  ]
65
65
  end
66
66
  end
67
67
  end
68
68
 
69
69
  context "when the query is 'drink specials on the second thursday of every month'" do
70
- let(:query) { "drink specials on the second thursday of every month" }
70
+ let(:query) { 'drink specials on the second thursday of every month' }
71
71
  let(:run_date) { Time.local(2014, 2, 26) }
72
72
 
73
- describe "#message" do
73
+ describe '#message' do
74
74
  it "is 'drink specials'" do
75
- expect(n.message).to eq "drink specials"
75
+ expect(n.message).to eq 'drink specials'
76
76
  end
77
77
  end
78
78
 
79
- describe "#occurrences" do
80
- it "is monthly on the second Thursday of the month" do
79
+ describe '#occurrences' do
80
+ it 'is monthly on the second Thursday of the month' do
81
81
  expect(n.occurrences).to match_array [
82
- Nickel::Occurrence.new(type: :daymonthly, interval: 1, week_of_month: 2, day_of_week: 3, start_date: Nickel::ZDate.new("20140313"))
82
+ Nickel::Occurrence.new(type: :daymonthly, interval: 1, week_of_month: 2, day_of_week: 3, start_date: Nickel::ZDate.new('20140313'))
83
83
  ]
84
84
  end
85
85
  end
86
86
  end
87
87
 
88
88
  context "when the query is 'pay credit card every month on the 22nd'" do
89
- let(:query) { "pay credit card every month on the 22nd" }
89
+ let(:query) { 'pay credit card every month on the 22nd' }
90
90
  let(:run_date) { Time.local(2014, 2, 26) }
91
91
 
92
- describe "#message" do
93
- it "is pay credit card" do
94
- expect(n.message).to eq "pay credit card"
92
+ describe '#message' do
93
+ it 'is pay credit card' do
94
+ expect(n.message).to eq 'pay credit card'
95
95
  end
96
96
  end
97
97
 
98
- describe "#occurrences" do
99
- it "is monthly on the 22nd" do
98
+ describe '#occurrences' do
99
+ it 'is monthly on the 22nd' do
100
100
  expect(n.occurrences).to match_array [
101
- Nickel::Occurrence.new(type: :datemonthly, interval: 1, date_of_month: 22, start_date: Nickel::ZDate.new("20140322"))
101
+ Nickel::Occurrence.new(type: :datemonthly, interval: 1, date_of_month: 22, start_date: Nickel::ZDate.new('20140322'))
102
102
  ]
103
103
  end
104
104
  end
105
105
  end
106
106
 
107
107
  context "when the query is 'band meeting every monday and wednesday at 2pm'" do
108
- let(:query) { "band meeting every monday and wednesday at 2pm" }
108
+ let(:query) { 'band meeting every monday and wednesday at 2pm' }
109
109
  let(:run_date) { Time.local(2014, 2, 26) }
110
110
 
111
- describe "#message" do
111
+ describe '#message' do
112
112
  it "is 'band meeting'" do
113
- expect(n.message).to eq "band meeting"
113
+ expect(n.message).to eq 'band meeting'
114
114
  end
115
115
  end
116
116
 
117
- describe "#occurrences" do
118
- it "is Mondays at 2:00pm and Wednesdays at 2:00pm" do
117
+ describe '#occurrences' do
118
+ it 'is Mondays at 2:00pm and Wednesdays at 2:00pm' do
119
119
  expect(n.occurrences).to match_array [
120
- Nickel::Occurrence.new(type: :weekly, interval: 1, day_of_week: 0, start_time: Nickel::ZTime.new("14"), start_date: Nickel::ZDate.new("20140303")),
121
- Nickel::Occurrence.new(type: :weekly, interval: 1, day_of_week: 2, start_time: Nickel::ZTime.new("14"), start_date: Nickel::ZDate.new("20140226"))
120
+ Nickel::Occurrence.new(type: :weekly, interval: 1, day_of_week: 0, start_time: Nickel::ZTime.new('14'), start_date: Nickel::ZDate.new('20140303')),
121
+ Nickel::Occurrence.new(type: :weekly, interval: 1, day_of_week: 2, start_time: Nickel::ZTime.new('14'), start_date: Nickel::ZDate.new('20140226'))
122
122
  ]
123
123
  end
124
124
  end
125
125
  end
126
126
 
127
127
  context "when the query is 'lunch 3 days from now'" do
128
- let(:query) { "lunch 3 days from now" }
129
- let(:run_date) { Time.local(2009,05,28) }
128
+ let(:query) { 'lunch 3 days from now' }
129
+ let(:run_date) { Time.local(2009, 05, 28) }
130
130
 
131
- describe "#message" do
131
+ describe '#message' do
132
132
  it "is 'lunch'" do
133
- expect(n.message).to eq "lunch"
133
+ expect(n.message).to eq 'lunch'
134
134
  end
135
135
  end
136
136
 
137
- describe "#occurrences" do
138
- it "is 3 days from now" do
137
+ describe '#occurrences' do
138
+ it 'is 3 days from now' do
139
139
  expect(n.occurrences).to match_array [
140
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20090531"))
140
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20090531'))
141
141
  ]
142
142
  end
143
143
  end
144
144
  end
145
145
 
146
146
  context "when the query is 'do something today'" do
147
- let(:query) { "do something today" }
147
+ let(:query) { 'do something today' }
148
148
  let(:run_date) { Time.local(2008, 8, 25) }
149
149
 
150
- describe "#message" do
150
+ describe '#message' do
151
151
  it "is 'do something'" do
152
- expect(n.message).to eq "do something"
152
+ expect(n.message).to eq 'do something'
153
153
  end
154
154
  end
155
155
 
156
- describe "#occurrences" do
157
- it "is today" do
156
+ describe '#occurrences' do
157
+ it 'is today' do
158
158
  expect(n.occurrences).to match_array [
159
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080825"))
159
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080825'))
160
160
  ]
161
161
  end
162
162
  end
163
163
  end
164
164
 
165
165
  context "when the query is 'there is a movie today at noon'" do
166
- let(:query) { "there is a movie today at noon" }
166
+ let(:query) { 'there is a movie today at noon' }
167
167
  let(:run_date) { Time.local(2008, 8, 25) }
168
168
 
169
- describe "#message" do
169
+ describe '#message' do
170
170
  it "is 'there is a movie'" do
171
- expect(n.message).to eq "there is a movie"
171
+ expect(n.message).to eq 'there is a movie'
172
172
  end
173
173
  end
174
174
 
175
- describe "#occurrences" do
176
- it "is today at noon" do
175
+ describe '#occurrences' do
176
+ it 'is today at noon' do
177
177
  expect(n.occurrences).to match_array [
178
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080825"), start_time: Nickel::ZTime.new("12"))
178
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080825'), start_time: Nickel::ZTime.new('12'))
179
179
  ]
180
180
  end
181
181
  end
182
182
  end
183
183
 
184
184
  context "when the query is 'go to work today and tomorrow'" do
185
- let(:query) { "go to work today and tomorrow" }
185
+ let(:query) { 'go to work today and tomorrow' }
186
186
  let(:run_date) { Time.local(2008, 8, 25) }
187
187
 
188
- describe "#message" do
188
+ describe '#message' do
189
189
  it "is 'go to work'" do
190
- expect(n.message).to eq "go to work"
190
+ expect(n.message).to eq 'go to work'
191
191
  end
192
192
  end
193
193
 
194
- describe "#occurrences" do
195
- it "is today and tomorrow" do
194
+ describe '#occurrences' do
195
+ it 'is today and tomorrow' do
196
196
  expect(n.occurrences).to match_array [
197
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080825")),
198
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080826"))
197
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080825')),
198
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080826'))
199
199
  ]
200
200
  end
201
201
  end
202
202
  end
203
203
 
204
204
  context "when the query is 'appointments with the dentist are on oct 5 and oct 23rd'" do
205
- let(:query) { "appointments with the dentist are on oct 5 and oct 23rd" }
205
+ let(:query) { 'appointments with the dentist are on oct 5 and oct 23rd' }
206
206
  let(:run_date) { Time.local(2008, 8, 25) }
207
207
 
208
- describe "#message" do
208
+ describe '#message' do
209
209
  it "is 'appointments with the dentist'" do
210
- expect(n.message).to eq "appointments with the dentist"
210
+ expect(n.message).to eq 'appointments with the dentist'
211
211
  end
212
212
  end
213
213
 
214
- describe "#occurrences" do
215
- it "is October 5 and October 23" do
214
+ describe '#occurrences' do
215
+ it 'is October 5 and October 23' do
216
216
  expect(n.occurrences).to match_array [
217
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20081005")),
218
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20081023"))
217
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20081005')),
218
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20081023'))
219
219
  ]
220
220
  end
221
221
  end
222
222
  end
223
223
 
224
224
  context "when the query is 'today at noon and tomorrow at 5:45 am there will be an office meeting'" do
225
- let(:query) { "today at noon and tomorrow at 5:45 am there will be an office meeting" }
225
+ let(:query) { 'today at noon and tomorrow at 5:45 am there will be an office meeting' }
226
226
  let(:run_date) { Time.local(2008, 8, 25) }
227
227
 
228
- describe "#message" do
228
+ describe '#message' do
229
229
  it "is 'there will be an office meeting'" do
230
- expect(n.message).to eq "there will be an office meeting"
230
+ expect(n.message).to eq 'there will be an office meeting'
231
231
  end
232
232
  end
233
233
 
234
- describe "#occurrences" do
235
- it "is noon today and 5:45am tomorrow" do
234
+ describe '#occurrences' do
235
+ it 'is noon today and 5:45am tomorrow' do
236
236
  expect(n.occurrences).to match_array [
237
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080825"), start_time: Nickel::ZTime.new("12")),
238
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080826"), start_time: Nickel::ZTime.new("0545"))
237
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080825'), start_time: Nickel::ZTime.new('12')),
238
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080826'), start_time: Nickel::ZTime.new('0545'))
239
239
  ]
240
240
  end
241
241
  end
242
242
  end
243
243
 
244
244
  context "when the query is 'some stuff to do at noon today and 545am tomorrow'" do
245
- let(:query) { "some stuff to do at noon today and 545am tomorrow" }
245
+ let(:query) { 'some stuff to do at noon today and 545am tomorrow' }
246
246
  let(:run_date) { Time.local(2008, 8, 25) }
247
247
 
248
- describe "#message" do
248
+ describe '#message' do
249
249
  it "is 'some stuff to do'" do
250
- expect(n.message).to eq "some stuff to do"
250
+ expect(n.message).to eq 'some stuff to do'
251
251
  end
252
252
  end
253
253
 
254
- describe "#occurrences" do
255
- it "is noon today and 5:45am tomorrow" do
254
+ describe '#occurrences' do
255
+ it 'is noon today and 5:45am tomorrow' do
256
256
  expect(n.occurrences).to match_array [
257
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080825"), start_time: Nickel::ZTime.new("12")),
258
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080826"), start_time: Nickel::ZTime.new("0545"))
257
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080825'), start_time: Nickel::ZTime.new('12')),
258
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080826'), start_time: Nickel::ZTime.new('0545'))
259
259
  ]
260
260
  end
261
261
  end
262
262
  end
263
263
 
264
264
  context "when the query is 'go to the park tomorrow and thursday with the dog'" do
265
- let(:query) { "go to the park tomorrow and thursday with the dog" }
265
+ let(:query) { 'go to the park tomorrow and thursday with the dog' }
266
266
  let(:run_date) { Time.local(2008, 2, 29) }
267
267
 
268
- describe "#message" do
268
+ describe '#message' do
269
269
  it "is 'go to the park with the dog'" do
270
- expect(n.message).to eq "go to the park with the dog"
270
+ expect(n.message).to eq 'go to the park with the dog'
271
271
  end
272
272
  end
273
273
 
274
- describe "#occurrences" do
275
- it "is tomorrow and thursday" do
274
+ describe '#occurrences' do
275
+ it 'is tomorrow and thursday' do
276
276
  expect(n.occurrences).to match_array [
277
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080301")),
278
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080306"))
277
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080301')),
278
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080306'))
279
279
  ]
280
280
  end
281
281
  end
282
282
  end
283
283
 
284
284
  context "when the query is 'go to the park tomorrow and also on thursday with the dog'" do
285
- let(:query) { "go to the park tomorrow and also on thursday with the dog" }
285
+ let(:query) { 'go to the park tomorrow and also on thursday with the dog' }
286
286
  let(:run_date) { Time.local(2008, 2, 29) }
287
287
 
288
- describe "#message" do
288
+ describe '#message' do
289
289
  it "is 'go to the park with the dog'" do
290
- expect(n.message).to eq "go to the park with the dog"
290
+ expect(n.message).to eq 'go to the park with the dog'
291
291
  end
292
292
  end
293
293
 
294
- describe "#occurrences" do
295
- it "is tomorrow and thursday" do
294
+ describe '#occurrences' do
295
+ it 'is tomorrow and thursday' do
296
296
  expect(n.occurrences).to match_array [
297
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080301")),
298
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080306"))
297
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080301')),
298
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080306'))
299
299
  ]
300
300
  end
301
301
  end
302
302
  end
303
303
 
304
304
  context "when the query is 'how awesome tomorrow at 1am and from 2am to 5pm and thursday at 1pm is this?'" do
305
- let(:query) { "how awesome tomorrow at 1am and from 2am to 5pm and thursday at 1pm is this?" }
305
+ let(:query) { 'how awesome tomorrow at 1am and from 2am to 5pm and thursday at 1pm is this?' }
306
306
  let(:run_date) { Time.local(2008, 2, 29) }
307
307
 
308
- describe "#message" do
308
+ describe '#message' do
309
309
  it "is 'how awesome is this?'" do
310
- expect(n.message).to eq "how awesome is this?"
310
+ expect(n.message).to eq 'how awesome is this?'
311
311
  end
312
312
  end
313
313
 
314
- describe "#occurrences" do
315
- it "is 1:00am and 2:00am-5:00pm tomorrow and 1:00pm Thursday" do
314
+ describe '#occurrences' do
315
+ it 'is 1:00am and 2:00am-5:00pm tomorrow and 1:00pm Thursday' do
316
316
  expect(n.occurrences).to match_array [
317
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080301"), start_time: Nickel::ZTime.new("01")),
318
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080301"), start_time: Nickel::ZTime.new("02"), end_time: Nickel::ZTime.new("17")),
319
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080306"), start_time: Nickel::ZTime.new("13"))
317
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080301'), start_time: Nickel::ZTime.new('01')),
318
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080301'), start_time: Nickel::ZTime.new('02'), end_time: Nickel::ZTime.new('17')),
319
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080306'), start_time: Nickel::ZTime.new('13'))
320
320
  ]
321
321
  end
322
322
  end
323
323
  end
324
324
 
325
325
  context "when the query is 'soccer practice monday tuesday and wednesday with susan'" do
326
- let(:query) { "soccer practice monday tuesday and wednesday with susan" }
326
+ let(:query) { 'soccer practice monday tuesday and wednesday with susan' }
327
327
  let(:run_date) { Time.local(2008, 9, 10) }
328
328
 
329
- describe "#message" do
329
+ describe '#message' do
330
330
  it "is 'soccer practice with susan'" do
331
- expect(n.message).to eq "soccer practice with susan"
331
+ expect(n.message).to eq 'soccer practice with susan'
332
332
  end
333
333
  end
334
334
 
335
- describe "#occurrences" do
336
- it "is Monday, Tuesday and Wednesday" do
335
+ describe '#occurrences' do
336
+ it 'is Monday, Tuesday and Wednesday' do
337
337
  expect(n.occurrences).to match_array [
338
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080915")),
339
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080916")),
340
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080917"))
338
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080915')),
339
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080916')),
340
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080917'))
341
341
  ]
342
342
  end
343
343
  end
344
344
  end
345
345
 
346
346
  context "when the query is 'monday and wednesday at 4pm I have guitar lessons'" do
347
- let(:query) { "monday and wednesday at 4pm I have guitar lessons" }
347
+ let(:query) { 'monday and wednesday at 4pm I have guitar lessons' }
348
348
  let(:run_date) { Time.local(2008, 9, 10) }
349
349
 
350
- describe "#message" do
350
+ describe '#message' do
351
351
  it "is 'I have guitar lessons'" do
352
- expect(n.message).to eq "I have guitar lessons"
352
+ expect(n.message).to eq 'I have guitar lessons'
353
353
  end
354
354
  end
355
355
 
356
- describe "#occurrences" do
357
- it "is 4:00pm Monday and 4:00pm Wednesday" do
356
+ describe '#occurrences' do
357
+ it 'is 4:00pm Monday and 4:00pm Wednesday' do
358
358
  expect(n.occurrences).to match_array [
359
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080915"), start_time: Nickel::ZTime.new("16")),
360
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080917"), start_time: Nickel::ZTime.new("16"))
359
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080915'), start_time: Nickel::ZTime.new('16')),
360
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080917'), start_time: Nickel::ZTime.new('16'))
361
361
  ]
362
362
  end
363
363
  end
364
364
  end
365
365
 
366
366
  context "when the query is 'meet with so and so 4pm on monday and wednesday'" do
367
- let(:query) { "meet with so and so 4pm on monday and wednesday" }
367
+ let(:query) { 'meet with so and so 4pm on monday and wednesday' }
368
368
  let(:run_date) { Time.local(2008, 9, 10) }
369
369
 
370
- describe "#message" do
370
+ describe '#message' do
371
371
  it "is 'meet with so and so'" do
372
- expect(n.message).to eq "meet with so and so"
372
+ expect(n.message).to eq 'meet with so and so'
373
373
  end
374
374
  end
375
375
 
376
- describe "#occurrences" do
377
- it "is 4:00pm Monday and 4:00pm Wednesday" do
376
+ describe '#occurrences' do
377
+ it 'is 4:00pm Monday and 4:00pm Wednesday' do
378
378
  expect(n.occurrences).to match_array [
379
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080915"), start_time: Nickel::ZTime.new("16")),
380
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080917"), start_time: Nickel::ZTime.new("16"))
379
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080915'), start_time: Nickel::ZTime.new('16')),
380
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080917'), start_time: Nickel::ZTime.new('16'))
381
381
  ]
382
382
  end
383
383
  end
384
384
  end
385
385
 
386
386
  context "when the query is 'flight this sunday on American'" do
387
- let(:query) { "flight this sunday on American" }
387
+ let(:query) { 'flight this sunday on American' }
388
388
  let(:run_date) { Time.local(2008, 8, 25) }
389
389
 
390
- describe "#message" do
390
+ describe '#message' do
391
391
  it "is 'flight on American'" do
392
- expect(n.message).to eq "flight on American"
392
+ expect(n.message).to eq 'flight on American'
393
393
  end
394
394
  end
395
395
 
396
- describe "#occurrences" do
397
- it "is this Sunday" do
396
+ describe '#occurrences' do
397
+ it 'is this Sunday' do
398
398
  expect(n.occurrences).to match_array [
399
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080831"))
399
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080831'))
400
400
  ]
401
401
  end
402
402
  end
403
403
  end
404
404
 
405
405
  context "when the query is 'Flight to Miami this sunday 9-5am on Jet Blue'" do
406
- let(:query) { "Flight to Miami this sunday 9-5am on Jet Blue" }
406
+ let(:query) { 'Flight to Miami this sunday 9-5am on Jet Blue' }
407
407
  let(:run_date) { Time.local(2007, 11, 25) }
408
408
 
409
- describe "#message" do
409
+ describe '#message' do
410
410
  it "is 'Flight to Miami on Jet Blue'" do
411
- expect(n.message).to eq "Flight to Miami on Jet Blue"
411
+ expect(n.message).to eq 'Flight to Miami on Jet Blue'
412
412
  end
413
413
  end
414
414
 
415
- describe "#occurrences" do
416
- it "is 9:00pm to 5:00am this Sunday" do
415
+ describe '#occurrences' do
416
+ it 'is 9:00pm to 5:00am this Sunday' do
417
417
  # FIXME: this occurrence should have an end date
418
418
  expect(n.occurrences).to match_array [
419
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20071125"), start_time: Nickel::ZTime.new("21"), end_time: Nickel::ZTime.new("05"))
419
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20071125'), start_time: Nickel::ZTime.new('21'), end_time: Nickel::ZTime.new('05'))
420
420
  ]
421
421
  end
422
422
  end
423
423
  end
424
424
 
425
425
  context "when the query is 'Go to the park this sunday 9-5'" do
426
- let(:query) { "Go to the park this sunday 9-5" }
426
+ let(:query) { 'Go to the park this sunday 9-5' }
427
427
  let(:run_date) { Time.local(2007, 11, 25) }
428
428
 
429
- describe "#message" do
429
+ describe '#message' do
430
430
  it "is 'Go to the park'" do
431
- expect(n.message).to eq "Go to the park"
431
+ expect(n.message).to eq 'Go to the park'
432
432
  end
433
433
  end
434
434
 
435
- describe "#occurrences" do
436
- it "is 9:00am to 5:00pm this Sunday" do
435
+ describe '#occurrences' do
436
+ it 'is 9:00am to 5:00pm this Sunday' do
437
437
  expect(n.occurrences).to match_array [
438
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20071125"), start_time: Nickel::ZTime.new("09"), end_time: Nickel::ZTime.new("17"))
438
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20071125'), start_time: Nickel::ZTime.new('09'), end_time: Nickel::ZTime.new('17'))
439
439
  ]
440
440
  end
441
441
  end
442
442
  end
443
443
 
444
444
  context "when the query is 'movie showings are today at 10, 11, 12, and 1 to 5'" do
445
- let(:query) { "movie showings are today at 10, 11, 12, and 1 to 5" }
445
+ let(:query) { 'movie showings are today at 10, 11, 12, and 1 to 5' }
446
446
  let(:run_date) { Time.local(2008, 9, 10) }
447
447
 
448
- describe "#message" do
448
+ describe '#message' do
449
449
  it "is 'movie showings'" do
450
- expect(n.message).to eq "movie showings"
450
+ expect(n.message).to eq 'movie showings'
451
451
  end
452
452
  end
453
453
 
454
- describe "#occurrences" do
455
- it "is 10:00am, 11:00am, 12:00pm and 1:00pm to 5:00pm" do
454
+ describe '#occurrences' do
455
+ it 'is 10:00am, 11:00am, 12:00pm and 1:00pm to 5:00pm' do
456
456
  expect(n.occurrences).to match_array [
457
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080910"), start_time: Nickel::ZTime.new("10")),
458
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080910"), start_time: Nickel::ZTime.new("11")),
459
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080910"), start_time: Nickel::ZTime.new("12")),
460
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080910"), start_time: Nickel::ZTime.new("13"), end_time: Nickel::ZTime.new("17"))
457
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080910'), start_time: Nickel::ZTime.new('10')),
458
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080910'), start_time: Nickel::ZTime.new('11')),
459
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080910'), start_time: Nickel::ZTime.new('12')),
460
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080910'), start_time: Nickel::ZTime.new('13'), end_time: Nickel::ZTime.new('17'))
461
461
  ]
462
462
  end
463
463
  end
464
464
  end
465
465
 
466
466
  context "when the query is 'Games today at 10, 11, 12, 1'" do
467
- let(:query) { "Games today at 10, 11, 12, 1" }
467
+ let(:query) { 'Games today at 10, 11, 12, 1' }
468
468
  let(:run_date) { Time.local(2008, 9, 10) }
469
469
 
470
- describe "#message" do
470
+ describe '#message' do
471
471
  it "is 'Games'" do
472
- expect(n.message).to eq "Games"
472
+ expect(n.message).to eq 'Games'
473
473
  end
474
474
  end
475
475
 
476
- describe "#occurrences" do
477
- it "is 10:00am, 11:00am, 12:00pm and 1:00pm" do
476
+ describe '#occurrences' do
477
+ it 'is 10:00am, 11:00am, 12:00pm and 1:00pm' do
478
478
  expect(n.occurrences).to match_array [
479
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080910"), start_time: Nickel::ZTime.new("10")),
480
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080910"), start_time: Nickel::ZTime.new("11")),
481
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080910"), start_time: Nickel::ZTime.new("12")),
482
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080910"), start_time: Nickel::ZTime.new("13"))
479
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080910'), start_time: Nickel::ZTime.new('10')),
480
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080910'), start_time: Nickel::ZTime.new('11')),
481
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080910'), start_time: Nickel::ZTime.new('12')),
482
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080910'), start_time: Nickel::ZTime.new('13'))
483
483
  ]
484
484
  end
485
485
  end
486
486
  end
487
487
 
488
488
  context "when the query is 'Flight is a week from today'" do
489
- let(:query) { "Flight is a week from today" }
489
+ let(:query) { 'Flight is a week from today' }
490
490
  let(:run_date) { Time.local(2009, 1, 1) }
491
491
 
492
- describe "#message" do
492
+ describe '#message' do
493
493
  it "is 'Flight'" do
494
- expect(n.message).to eq "Flight"
494
+ expect(n.message).to eq 'Flight'
495
495
  end
496
496
  end
497
497
 
498
- describe "#occurrences" do
499
- it "is a week from today" do
498
+ describe '#occurrences' do
499
+ it 'is a week from today' do
500
500
  expect(n.occurrences).to match_array [
501
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20090108"))
501
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20090108'))
502
502
  ]
503
503
  end
504
504
  end
505
505
  end
506
506
 
507
507
  context "when the query is 'Bill is due two weeks from tomorrow'" do
508
- let(:query) { "Bill is due two weeks from tomorrow" }
508
+ let(:query) { 'Bill is due two weeks from tomorrow' }
509
509
  let(:run_date) { Time.local(2008, 12, 24) }
510
510
 
511
- describe "#message" do
511
+ describe '#message' do
512
512
  it "is 'Bill is due'" do
513
- expect(n.message).to eq "Bill is due"
513
+ expect(n.message).to eq 'Bill is due'
514
514
  end
515
515
  end
516
516
 
517
- describe "#occurrences" do
518
- it "is two weeks from tomorrow" do
517
+ describe '#occurrences' do
518
+ it 'is two weeks from tomorrow' do
519
519
  expect(n.occurrences).to match_array [
520
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20090108"))
520
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20090108'))
521
521
  ]
522
522
  end
523
523
  end
524
524
  end
525
525
 
526
526
  context "when the query is 'Tryouts are two months from now'" do
527
- let(:query) { "Tryouts are two months from now" }
527
+ let(:query) { 'Tryouts are two months from now' }
528
528
  let(:run_date) { Time.local(2008, 12, 24) }
529
529
 
530
- describe "#message" do
530
+ describe '#message' do
531
531
  it "is 'Tryouts'" do
532
- expect(n.message).to eq "Tryouts"
532
+ expect(n.message).to eq 'Tryouts'
533
533
  end
534
534
  end
535
535
 
536
- describe "#occurrences" do
537
- it "is two months from now" do
536
+ describe '#occurrences' do
537
+ it 'is two months from now' do
538
538
  expect(n.occurrences).to match_array [
539
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20090224"))
539
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20090224'))
540
540
  ]
541
541
  end
542
542
  end
543
543
  end
544
544
 
545
545
  context "when the query is 'baseball game is on october second'" do
546
- let(:query) { "baseball game is on october second" }
546
+ let(:query) { 'baseball game is on october second' }
547
547
  let(:run_date) { Time.local(2008, 1, 30) }
548
548
 
549
- describe "#message" do
549
+ describe '#message' do
550
550
  it "is 'baseball game'" do
551
- expect(n.message).to eq "baseball game"
551
+ expect(n.message).to eq 'baseball game'
552
552
  end
553
553
  end
554
554
 
555
- describe "#occurrences" do
556
- it "is October 2nd" do
555
+ describe '#occurrences' do
556
+ it 'is October 2nd' do
557
557
  expect(n.occurrences).to match_array [
558
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20081002"))
558
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20081002'))
559
559
  ]
560
560
  end
561
561
  end
@@ -563,785 +563,798 @@ describe Nickel do
563
563
 
564
564
  context "when the query is 'baseball game is on 10/2'" do
565
565
  # FIXME: n should support US and international date formats
566
- let(:query) { "baseball game is on 10/2" }
566
+ let(:query) { 'baseball game is on 10/2' }
567
567
  let(:run_date) { Time.local(2008, 1, 30) }
568
568
 
569
- describe "#occurrences" do
570
- it "is October 2nd" do
569
+ describe '#occurrences' do
570
+ it 'is October 2nd' do
571
571
  expect(n.occurrences).to match_array [
572
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20081002"))
572
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20081002'))
573
573
  ]
574
574
  end
575
575
  end
576
576
  end
577
577
 
578
578
  context "when the query is 'baseball game is on 10/2/08'" do
579
- let(:query) { "baseball game is on 10/2/08" }
579
+ let(:query) { 'baseball game is on 10/2/08' }
580
580
  let(:run_date) { Time.local(2008, 1, 30) }
581
581
 
582
- describe "#occurrences" do
583
- it "is October 2nd" do
582
+ describe '#occurrences' do
583
+ it 'is October 2nd' do
584
584
  expect(n.occurrences).to match_array [
585
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20081002"))
585
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20081002'))
586
586
  ]
587
587
  end
588
588
  end
589
589
  end
590
590
 
591
591
  context "when the query is 'baseball game is on 10/2/2008'" do
592
- let(:query) { "baseball game is on 10/2/2008" }
592
+ let(:query) { 'baseball game is on 10/2/2008' }
593
593
  let(:run_date) { Time.local(2008, 1, 30) }
594
594
 
595
- describe "#occurrences" do
596
- it "is October 2nd" do
595
+ describe '#occurrences' do
596
+ it 'is October 2nd' do
597
597
  expect(n.occurrences).to match_array [
598
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20081002"))
598
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20081002'))
599
599
  ]
600
600
  end
601
601
  end
602
602
  end
603
603
 
604
604
  context "when the query is 'baseball game is on october 2nd 08'" do
605
- let(:query) { "baseball game is on october 2nd 08" }
605
+ let(:query) { 'baseball game is on october 2nd 08' }
606
606
  let(:run_date) { Time.local(2008, 1, 30) }
607
607
 
608
- describe "#occurrences" do
609
- it "is October 2nd" do
608
+ describe '#occurrences' do
609
+ it 'is October 2nd' do
610
610
  expect(n.occurrences).to match_array [
611
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20081002"))
611
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20081002'))
612
612
  ]
613
613
  end
614
614
  end
615
615
  end
616
616
 
617
617
  context "when the query is 'baseball game is on october 2nd 2008'" do
618
- let(:query) { "baseball game is on october 2nd 2008" }
618
+ let(:query) { 'baseball game is on october 2nd 2008' }
619
619
  let(:run_date) { Time.local(2008, 1, 30) }
620
620
 
621
- describe "#occurrences" do
622
- it "is October 2nd" do
621
+ describe '#occurrences' do
622
+ it 'is October 2nd' do
623
623
  expect(n.occurrences).to match_array [
624
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20081002"))
624
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20081002'))
625
625
  ]
626
626
  end
627
627
  end
628
628
  end
629
629
 
630
630
  context "when the query is 'something for the next 1 day'" do
631
- let(:query) { "something for the next 1 day" }
631
+ let(:query) { 'something for the next 1 day' }
632
632
  let(:run_date) { Time.local(2007, 12, 29) }
633
633
 
634
- describe "#message" do
634
+ describe '#message' do
635
635
  it "is 'something'" do
636
- expect(n.message).to eq "something"
636
+ expect(n.message).to eq 'something'
637
637
  end
638
638
  end
639
639
 
640
- describe "#occurrences" do
641
- it "is today and tomorrow" do
640
+ describe '#occurrences' do
641
+ it 'is today and tomorrow' do
642
642
  expect(n.occurrences).to match_array [
643
- Nickel::Occurrence.new(type: :daily, interval: 1, start_date: Nickel::ZDate.new("20071229"), end_date: Nickel::ZDate.new("20071230"))
643
+ Nickel::Occurrence.new(type: :daily, interval: 1, start_date: Nickel::ZDate.new('20071229'), end_date: Nickel::ZDate.new('20071230'))
644
644
  ]
645
645
  end
646
646
  end
647
647
  end
648
648
 
649
649
  context "when the query is 'pick up groceries tomorrow and also the kids'" do
650
- let(:query) { "pick up groceries tomorrow and also the kids" }
650
+ let(:query) { 'pick up groceries tomorrow and also the kids' }
651
651
  let(:run_date) { Time.local(2008, 10, 28) }
652
652
 
653
- describe "#message" do
653
+ describe '#message' do
654
654
  it "is 'pick up groceries and also the kids'" do
655
- expect(n.message).to eq "pick up groceries and also the kids"
655
+ expect(n.message).to eq 'pick up groceries and also the kids'
656
656
  end
657
657
  end
658
658
 
659
- describe "#occurrences" do
660
- it "is tomorrow" do
659
+ describe '#occurrences' do
660
+ it 'is tomorrow' do
661
661
  expect(n.occurrences).to match_array [
662
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20081029"))
662
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20081029'))
663
663
  ]
664
664
  end
665
665
  end
666
666
  end
667
667
 
668
668
  context "when the query is 'do something on january first'" do
669
- let(:query) { "do something on january first" }
669
+ let(:query) { 'do something on january first' }
670
670
  let(:run_date) { Time.local(2008, 11, 30) }
671
671
 
672
- describe "#message" do
672
+ describe '#message' do
673
673
  it "is 'do something'" do
674
- expect(n.message).to eq "do something"
674
+ expect(n.message).to eq 'do something'
675
675
  end
676
676
  end
677
677
 
678
- describe "#occurrences" do
679
- it "is January 1st" do
678
+ describe '#occurrences' do
679
+ it 'is January 1st' do
680
680
  expect(n.occurrences).to match_array [
681
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20090101"))
681
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20090101'))
682
682
  ]
683
683
  end
684
684
  end
685
685
  end
686
686
 
687
687
  context "when the query is 'on the first of the month, go to the museum'" do
688
- let(:query) { "on the first of the month, go to the museum" }
688
+ let(:query) { 'on the first of the month, go to the museum' }
689
689
  let(:run_date) { Time.local(2008, 11, 30) }
690
690
 
691
- describe "#message" do
691
+ describe '#message' do
692
692
  it "is 'go to the museum'" do
693
- expect(n.message).to eq "go to the museum"
693
+ expect(n.message).to eq 'go to the museum'
694
694
  end
695
695
  end
696
696
 
697
- describe "#occurrences" do
698
- it "is the 1st of this month" do
697
+ describe '#occurrences' do
698
+ it 'is the 1st of this month' do
699
699
  expect(n.occurrences).to match_array [
700
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20081201"))
700
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20081201'))
701
701
  ]
702
702
  end
703
703
  end
704
704
  end
705
705
 
706
706
  context "when the query is 'today from 8 to 4 and 9 to 5'" do
707
- let(:query) { "today from 8 to 4 and 9 to 5" }
707
+ let(:query) { 'today from 8 to 4 and 9 to 5' }
708
708
  let(:run_date) { Time.local(2008, 9, 10) }
709
709
 
710
- describe "#occurrences" do
711
- it "is 8:00am to 4:00pm and 9:00am to 5:00pm" do
710
+ describe '#occurrences' do
711
+ it 'is 8:00am to 4:00pm and 9:00am to 5:00pm' do
712
712
  expect(n.occurrences).to match_array [
713
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080910"), start_time: Nickel::ZTime.new("08"), end_time: Nickel::ZTime.new("16")),
714
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080910"), start_time: Nickel::ZTime.new("09"), end_time: Nickel::ZTime.new("17"))
713
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080910'), start_time: Nickel::ZTime.new('08'), end_time: Nickel::ZTime.new('16')),
714
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080910'), start_time: Nickel::ZTime.new('09'), end_time: Nickel::ZTime.new('17'))
715
715
  ]
716
716
  end
717
717
  end
718
718
  end
719
719
 
720
720
  context "when the query is 'today from 9 to 5pm and 8am to 4'" do
721
- let(:query) { "today from 9 to 5pm and 8am to 4" }
721
+ let(:query) { 'today from 9 to 5pm and 8am to 4' }
722
722
  let(:run_date) { Time.local(2008, 9, 10) }
723
723
 
724
- describe "#occurrences" do
725
- it "is 9:00am to 5:00pm and 8:00am to 4:00pm" do
724
+ describe '#occurrences' do
725
+ it 'is 9:00am to 5:00pm and 8:00am to 4:00pm' do
726
726
  expect(n.occurrences).to match_array [
727
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080910"), start_time: Nickel::ZTime.new("08"), end_time: Nickel::ZTime.new("16")),
728
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080910"), start_time: Nickel::ZTime.new("09"), end_time: Nickel::ZTime.new("17"))
727
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080910'), start_time: Nickel::ZTime.new('08'), end_time: Nickel::ZTime.new('16')),
728
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080910'), start_time: Nickel::ZTime.new('09'), end_time: Nickel::ZTime.new('17'))
729
729
  ]
730
730
  end
731
731
  end
732
732
  end
733
733
 
734
734
  context "when the query is 'today at 11am, 2 and 3, and tomorrow from 2 to 6pm'" do
735
- let(:query) { "today at 11am, 2 and 3, and tomorrow from 2 to 6pm" }
735
+ let(:query) { 'today at 11am, 2 and 3, and tomorrow from 2 to 6pm' }
736
736
  let(:run_date) { Time.local(2008, 9, 10) }
737
737
 
738
- describe "#occurrences" do
739
- it "is 11:00am, 2:00pm, 3:00pm, 2:00pm to 6:00pm" do
738
+ describe '#occurrences' do
739
+ it 'is 11:00am, 2:00pm, 3:00pm, 2:00pm to 6:00pm' do
740
740
  expect(n.occurrences).to match_array [
741
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080910"), start_time: Nickel::ZTime.new("11")),
742
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080910"), start_time: Nickel::ZTime.new("14")),
743
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080910"), start_time: Nickel::ZTime.new("15")),
744
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080911"), start_time: Nickel::ZTime.new("14"), end_time: Nickel::ZTime.new("18"))
741
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080910'), start_time: Nickel::ZTime.new('11')),
742
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080910'), start_time: Nickel::ZTime.new('14')),
743
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080910'), start_time: Nickel::ZTime.new('15')),
744
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080911'), start_time: Nickel::ZTime.new('14'), end_time: Nickel::ZTime.new('18'))
745
745
  ]
746
746
  end
747
747
  end
748
748
  end
749
749
 
750
750
  context "when the query is 'next monday'" do
751
- let(:query) { "next monday" }
751
+ let(:query) { 'next monday' }
752
752
  let(:run_date) { Time.local(2008, 10, 27) }
753
753
 
754
- describe "#occurrences" do
755
- it "is next monday" do
754
+ describe '#occurrences' do
755
+ it 'is next monday' do
756
756
  expect(n.occurrences).to match_array [
757
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20081103"))
757
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20081103'))
758
758
  ]
759
759
  end
760
760
  end
761
761
  end
762
762
 
763
763
  context "when the query is 'last monday this month'" do
764
- let(:query) { "last monday this month" }
764
+ let(:query) { 'last monday this month' }
765
765
  let(:run_date) { Time.local(2008, 8, 25) }
766
766
 
767
- describe "#occurrences" do
768
- it "is last monday this month" do
767
+ describe '#occurrences' do
768
+ it 'is last monday this month' do
769
769
  expect(n.occurrences).to match_array [
770
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080825"))
770
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080825'))
771
771
  ]
772
772
  end
773
773
  end
774
774
  end
775
775
 
776
776
  context "when the query is 'the last monday of this month'" do
777
- let(:query) { "the last monday of this month" }
777
+ let(:query) { 'the last monday of this month' }
778
778
  let(:run_date) { Time.local(2008, 8, 25) }
779
779
 
780
- describe "#occurrences" do
781
- it "is last monday this month" do
780
+ describe '#occurrences' do
781
+ it 'is last monday this month' do
782
782
  expect(n.occurrences).to match_array [
783
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080825"))
783
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080825'))
784
784
  ]
785
785
  end
786
786
  end
787
787
  end
788
788
 
789
789
  context "when the query is 'the last thursday of the month'" do
790
- let(:query) { "the last thursday of the month" }
790
+ let(:query) { 'the last thursday of the month' }
791
791
  let(:run_date) { Time.local(2008, 8, 25) }
792
792
 
793
- describe "#occurrences" do
794
- it "is last thursday this month" do
793
+ describe '#occurrences' do
794
+ it 'is last thursday this month' do
795
795
  expect(n.occurrences).to match_array [
796
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080828"))
796
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080828'))
797
797
  ]
798
798
  end
799
799
  end
800
800
  end
801
801
 
802
802
  context "when the query is 'third monday next month'" do
803
- let(:query) { "third monday next month" }
803
+ let(:query) { 'third monday next month' }
804
804
  let(:run_date) { Time.local(2008, 8, 25) }
805
805
 
806
- describe "#occurrences" do
807
- it "is third monday last month" do
806
+ describe '#occurrences' do
807
+ it 'is third monday last month' do
808
808
  expect(n.occurrences).to match_array [
809
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080915"))
809
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080915'))
810
810
  ]
811
811
  end
812
812
  end
813
813
  end
814
814
 
815
815
  context "when the query is 'the third monday next month'" do
816
- let(:query) { "the third monday next month" }
816
+ let(:query) { 'the third monday next month' }
817
817
  let(:run_date) { Time.local(2008, 8, 25) }
818
818
 
819
- describe "#occurrences" do
820
- it "is third monday last month" do
819
+ describe '#occurrences' do
820
+ it 'is third monday last month' do
821
821
  expect(n.occurrences).to match_array [
822
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080915"))
822
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080915'))
823
823
  ]
824
824
  end
825
825
  end
826
826
  end
827
827
 
828
828
  context "when the query is 'the twentyeigth'" do
829
- let(:query) { "the twentyeigth" }
829
+ let(:query) { 'the twentyeigth' }
830
830
  let(:run_date) { Time.local(2010, 3, 20) }
831
831
 
832
- describe "#occurrences" do
833
- it "is the 28th of this month" do
832
+ describe '#occurrences' do
833
+ it 'is the 28th of this month' do
834
834
  expect(n.occurrences).to match_array [
835
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20100328"))
835
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20100328'))
836
836
  ]
837
837
  end
838
838
  end
839
839
  end
840
840
 
841
841
  context "when the query is '28th'" do
842
- let(:query) { "28th" }
842
+ let(:query) { '28th' }
843
843
  let(:run_date) { Time.local(2010, 3, 20) }
844
844
 
845
- describe "#occurrences" do
846
- it "is the 28th of this month" do
845
+ describe '#occurrences' do
846
+ it 'is the 28th of this month' do
847
847
  expect(n.occurrences).to match_array [
848
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20100328"))
848
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20100328'))
849
849
  ]
850
850
  end
851
851
  end
852
852
  end
853
853
 
854
854
  context "when the query is '28'" do
855
- let(:query) { "28" }
855
+ let(:query) { '28' }
856
856
  let(:run_date) { Time.local(2010, 3, 20) }
857
857
 
858
- describe "#occurrences" do
859
- it "is the 28th of this month" do
858
+ describe '#occurrences' do
859
+ it 'is the 28th of this month' do
860
860
  expect(n.occurrences).to match_array [
861
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20100328"))
861
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20100328'))
862
862
  ]
863
863
  end
864
864
  end
865
865
  end
866
866
 
867
867
  context "when the query is 'the 28th of this month'" do
868
- let(:query) { "the 28th of this month" }
868
+ let(:query) { 'the 28th of this month' }
869
869
  let(:run_date) { Time.local(2010, 3, 20) }
870
870
 
871
- describe "#occurrences" do
872
- it "is the 28th of this month" do
871
+ describe '#occurrences' do
872
+ it 'is the 28th of this month' do
873
873
  expect(n.occurrences).to match_array [
874
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20100328"))
874
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20100328'))
875
875
  ]
876
876
  end
877
877
  end
878
878
  end
879
879
 
880
880
  context "when the query is '28th of this month'" do
881
- let(:query) { "28th of this month" }
881
+ let(:query) { '28th of this month' }
882
882
  let(:run_date) { Time.local(2010, 3, 20) }
883
883
 
884
- describe "#occurrences" do
885
- it "is the 28th of this month" do
884
+ describe '#occurrences' do
885
+ it 'is the 28th of this month' do
886
886
  expect(n.occurrences).to match_array [
887
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20100328"))
887
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20100328'))
888
888
  ]
889
889
  end
890
890
  end
891
891
  end
892
892
 
893
893
  context "when the query is 'the 28th this month'" do
894
- let(:query) { "the 28th this month" }
894
+ let(:query) { 'the 28th this month' }
895
895
  let(:run_date) { Time.local(2010, 3, 20) }
896
896
 
897
- describe "#occurrences" do
898
- it "is the 28th of this month" do
897
+ describe '#occurrences' do
898
+ it 'is the 28th of this month' do
899
899
  expect(n.occurrences).to match_array [
900
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20100328"))
900
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20100328'))
901
901
  ]
902
902
  end
903
903
  end
904
904
  end
905
905
 
906
906
  context "when the query is 'next month 28th'" do
907
- let(:query) { "next month 28th" }
907
+ let(:query) { 'next month 28th' }
908
908
  let(:run_date) { Time.local(2008, 12, 31) }
909
909
 
910
- describe "#occurrences" do
911
- it "is the 28th of next month" do
910
+ describe '#occurrences' do
911
+ it 'is the 28th of next month' do
912
912
  expect(n.occurrences).to match_array [
913
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20090128"))
913
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20090128'))
914
914
  ]
915
915
  end
916
916
  end
917
917
  end
918
918
 
919
919
  context "when the query is '28th next month'" do
920
- let(:query) { "28th next month" }
920
+ let(:query) { '28th next month' }
921
921
  let(:run_date) { Time.local(2008, 12, 31) }
922
922
 
923
- describe "#occurrences" do
924
- it "is the 28th of next month" do
923
+ describe '#occurrences' do
924
+ it 'is the 28th of next month' do
925
925
  expect(n.occurrences).to match_array [
926
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20090128"))
926
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20090128'))
927
927
  ]
928
928
  end
929
929
  end
930
930
  end
931
931
 
932
932
  context "when the query is 'the 28th next month'" do
933
- let(:query) { "the 28th next month" }
933
+ let(:query) { 'the 28th next month' }
934
934
  let(:run_date) { Time.local(2008, 12, 31) }
935
935
 
936
- describe "#occurrences" do
937
- it "is the 28th of next month" do
936
+ describe '#occurrences' do
937
+ it 'is the 28th of next month' do
938
938
  expect(n.occurrences).to match_array [
939
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20090128"))
939
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20090128'))
940
940
  ]
941
941
  end
942
942
  end
943
943
  end
944
944
 
945
945
  context "when the query is '28th of next month'" do
946
- let(:query) { "28th of next month" }
946
+ let(:query) { '28th of next month' }
947
947
  let(:run_date) { Time.local(2008, 12, 31) }
948
948
 
949
- describe "#occurrences" do
950
- it "is the 28th of next month" do
949
+ describe '#occurrences' do
950
+ it 'is the 28th of next month' do
951
951
  expect(n.occurrences).to match_array [
952
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20090128"))
952
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20090128'))
953
953
  ]
954
954
  end
955
955
  end
956
956
  end
957
957
 
958
958
  context "when the query is 'the 28th of next month'" do
959
- let(:query) { "the 28th of next month" }
959
+ let(:query) { 'the 28th of next month' }
960
960
  let(:run_date) { Time.local(2008, 12, 31) }
961
961
 
962
- describe "#occurrences" do
963
- it "is the 28th of next month" do
962
+ describe '#occurrences' do
963
+ it 'is the 28th of next month' do
964
964
  expect(n.occurrences).to match_array [
965
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20090128"))
965
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20090128'))
966
+ ]
967
+ end
968
+ end
969
+ end
970
+
971
+ context "when the query is '6 days from tomorrow'", broken: true do
972
+ let(:query) { '6 days from tomorrow' }
973
+ let(:run_date) { Time.local(2014, 2, 12) }
974
+
975
+ describe '#occurrences' do
976
+ it 'is 7 days from now' do
977
+ expect(n.occurrences).to match_array [
978
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20140218'))
966
979
  ]
967
980
  end
968
981
  end
969
982
  end
970
983
 
971
984
  context "when the query is '5 days from now'" do
972
- let(:query) { "5 days from now" }
985
+ let(:query) { '5 days from now' }
973
986
  let(:run_date) { Time.local(2008, 9, 11) }
974
987
 
975
- describe "#occurrences" do
976
- it "is 5 days from now" do
988
+ describe '#occurrences' do
989
+ it 'is 5 days from now' do
977
990
  expect(n.occurrences).to match_array [
978
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080916"))
991
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080916'))
979
992
  ]
980
993
  end
981
994
  end
982
995
  end
983
996
 
984
997
  context "when the query is 'in 5 days'" do
985
- let(:query) { "in 5 days" }
998
+ let(:query) { 'in 5 days' }
986
999
  let(:run_date) { Time.local(2008, 9, 11) }
987
1000
 
988
- describe "#occurrences" do
989
- it "is 5 days from now" do
1001
+ describe '#occurrences' do
1002
+ it 'is 5 days from now' do
990
1003
  expect(n.occurrences).to match_array [
991
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080916"))
1004
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080916'))
992
1005
  ]
993
1006
  end
994
1007
  end
995
1008
  end
996
1009
 
997
1010
  context "when the query is '5 weeks from now'" do
998
- let(:query) { "5 weeks from now" }
1011
+ let(:query) { '5 weeks from now' }
999
1012
  let(:run_date) { Time.local(2008, 9, 11) }
1000
1013
 
1001
- describe "#occurrences" do
1002
- it "is 5 weeks from now" do
1014
+ describe '#occurrences' do
1015
+ it 'is 5 weeks from now' do
1003
1016
  expect(n.occurrences).to match_array [
1004
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20081016"))
1017
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20081016'))
1005
1018
  ]
1006
1019
  end
1007
1020
  end
1008
1021
  end
1009
1022
 
1010
1023
  context "when the query is 'in 5 weeks'" do
1011
- let(:query) { "in 5 weeks" }
1024
+ let(:query) { 'in 5 weeks' }
1012
1025
  let(:run_date) { Time.local(2008, 9, 11) }
1013
1026
 
1014
- describe "#occurrences" do
1015
- it "is 5 weeks from now" do
1027
+ describe '#occurrences' do
1028
+ it 'is 5 weeks from now' do
1016
1029
  expect(n.occurrences).to match_array [
1017
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20081016"))
1030
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20081016'))
1018
1031
  ]
1019
1032
  end
1020
1033
  end
1021
1034
  end
1022
1035
 
1023
1036
  context "when the query is '5 months from now'" do
1024
- let(:query) { "5 months from now" }
1037
+ let(:query) { '5 months from now' }
1025
1038
  let(:run_date) { Time.local(2008, 9, 11) }
1026
1039
 
1027
- describe "#occurrences" do
1028
- it "is 5 months from now" do
1040
+ describe '#occurrences' do
1041
+ it 'is 5 months from now' do
1029
1042
  expect(n.occurrences).to match_array [
1030
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20090211"))
1043
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20090211'))
1031
1044
  ]
1032
1045
  end
1033
1046
  end
1034
1047
  end
1035
1048
 
1036
1049
  context "when the query is 'in 5 months'" do
1037
- let(:query) { "in 5 months" }
1050
+ let(:query) { 'in 5 months' }
1038
1051
  let(:run_date) { Time.local(2008, 9, 11) }
1039
1052
 
1040
- describe "#occurrences" do
1041
- it "is 5 months from now" do
1053
+ describe '#occurrences' do
1054
+ it 'is 5 months from now' do
1042
1055
  expect(n.occurrences).to match_array [
1043
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20090211"))
1056
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20090211'))
1044
1057
  ]
1045
1058
  end
1046
1059
  end
1047
1060
  end
1048
1061
 
1049
1062
  context "when the query is '5 minutes from now'" do
1050
- let(:query) { "5 minutes from now" }
1063
+ let(:query) { '5 minutes from now' }
1051
1064
  let(:run_date) { Time.local(2008, 9, 11) }
1052
1065
 
1053
- describe "#occurrences" do
1054
- it "is 5 minutes from now" do
1066
+ describe '#occurrences' do
1067
+ it 'is 5 minutes from now' do
1055
1068
  expect(n.occurrences).to match_array [
1056
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080911"), start_time: Nickel::ZTime.new("0005"))
1069
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080911'), start_time: Nickel::ZTime.new('0005'))
1057
1070
  ]
1058
1071
  end
1059
1072
  end
1060
1073
  end
1061
1074
 
1062
1075
  context "when the query is 'in 5 minutes'" do
1063
- let(:query) { "in 5 minutes" }
1076
+ let(:query) { 'in 5 minutes' }
1064
1077
  let(:run_date) { Time.local(2008, 9, 11) }
1065
1078
 
1066
- describe "#occurrences" do
1067
- it "is 5 minutes from now" do
1079
+ describe '#occurrences' do
1080
+ it 'is 5 minutes from now' do
1068
1081
  expect(n.occurrences).to match_array [
1069
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080911"), start_time: Nickel::ZTime.new("0005"))
1082
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080911'), start_time: Nickel::ZTime.new('0005'))
1070
1083
  ]
1071
1084
  end
1072
1085
  end
1073
1086
  end
1074
1087
 
1075
1088
  context "when the query is '5 hours from now'" do
1076
- let(:query) { "5 hours from now" }
1089
+ let(:query) { '5 hours from now' }
1077
1090
  let(:run_date) { Time.local(2008, 9, 11) }
1078
1091
 
1079
- describe "#occurrences" do
1080
- it "is 5 hours from now" do
1092
+ describe '#occurrences' do
1093
+ it 'is 5 hours from now' do
1081
1094
  expect(n.occurrences).to match_array [
1082
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080911"), start_time: Nickel::ZTime.new("05"))
1095
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080911'), start_time: Nickel::ZTime.new('05'))
1083
1096
  ]
1084
1097
  end
1085
1098
  end
1086
1099
  end
1087
1100
 
1088
1101
  context "when the query is 'in 5 hours'" do
1089
- let(:query) { "in 5 hours" }
1102
+ let(:query) { 'in 5 hours' }
1090
1103
  let(:run_date) { Time.local(2008, 9, 11) }
1091
1104
 
1092
- describe "#occurrences" do
1093
- it "is 5 hours from now" do
1105
+ describe '#occurrences' do
1106
+ it 'is 5 hours from now' do
1094
1107
  expect(n.occurrences).to match_array [
1095
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080911"), start_time: Nickel::ZTime.new("05"))
1108
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080911'), start_time: Nickel::ZTime.new('05'))
1096
1109
  ]
1097
1110
  end
1098
1111
  end
1099
1112
  end
1100
1113
 
1101
1114
  context "when the query is '24 hours from now'" do
1102
- let(:query) { "24 hours from now" }
1115
+ let(:query) { '24 hours from now' }
1103
1116
  let(:run_date) { Time.local(2008, 9, 11) }
1104
1117
 
1105
- describe "#occurrences" do
1106
- it "is 24 hours from now" do
1118
+ describe '#occurrences' do
1119
+ it 'is 24 hours from now' do
1107
1120
  expect(n.occurrences).to match_array [
1108
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080912"), start_time: Nickel::ZTime.new("000000"))
1121
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080912'), start_time: Nickel::ZTime.new('000000'))
1109
1122
  ]
1110
1123
  end
1111
1124
  end
1112
1125
  end
1113
1126
 
1114
1127
  context "when the query is 'tomorrow through sunday'" do
1115
- let(:query) { "tomorrow through sunday" }
1128
+ let(:query) { 'tomorrow through sunday' }
1116
1129
  let(:run_date) { Time.local(2008, 9, 18) }
1117
1130
 
1118
- describe "#occurrences" do
1119
- it "is tomorrow to sunday" do
1131
+ describe '#occurrences' do
1132
+ it 'is tomorrow to sunday' do
1120
1133
  expect(n.occurrences).to match_array [
1121
- Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new("20080919"), end_date: Nickel::ZDate.new("20080921"), interval: 1)
1134
+ Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new('20080919'), end_date: Nickel::ZDate.new('20080921'), interval: 1)
1122
1135
  ]
1123
1136
  end
1124
1137
  end
1125
1138
  end
1126
1139
 
1127
1140
  context "when the query is 'tomorrow through sunday from 9 to 5'" do
1128
- let(:query) { "tomorrow through sunday from 9 to 5" }
1141
+ let(:query) { 'tomorrow through sunday from 9 to 5' }
1129
1142
  let(:run_date) { Time.local(2008, 9, 18) }
1130
1143
 
1131
- describe "#occurrences" do
1132
- it "is 9:00am to 5:00pm every day from tomorrow to sunday" do
1144
+ describe '#occurrences' do
1145
+ it 'is 9:00am to 5:00pm every day from tomorrow to sunday' do
1133
1146
  expect(n.occurrences).to match_array [
1134
- Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new("20080919"), end_date: Nickel::ZDate.new("20080921"), start_time: Nickel::ZTime.new("09"), end_time: Nickel::ZTime.new("17"), interval: 1)
1147
+ Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new('20080919'), end_date: Nickel::ZDate.new('20080921'), start_time: Nickel::ZTime.new('09'), end_time: Nickel::ZTime.new('17'), interval: 1)
1135
1148
  ]
1136
1149
  end
1137
1150
  end
1138
1151
  end
1139
1152
 
1140
1153
  context "when the query is '9 to 5 tomorrow through sunday'" do
1141
- let(:query) { "9 to 5 tomorrow through sunday" }
1154
+ let(:query) { '9 to 5 tomorrow through sunday' }
1142
1155
  let(:run_date) { Time.local(2008, 9, 18) }
1143
1156
 
1144
- describe "#occurrences" do
1145
- it "is 9:00am to 5:00pm every day from tomorrow to sunday" do
1157
+ describe '#occurrences' do
1158
+ it 'is 9:00am to 5:00pm every day from tomorrow to sunday' do
1146
1159
  expect(n.occurrences).to match_array [
1147
- Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new("20080919"), end_date: Nickel::ZDate.new("20080921"), start_time: Nickel::ZTime.new("09"), end_time: Nickel::ZTime.new("17"), interval: 1)
1160
+ Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new('20080919'), end_date: Nickel::ZDate.new('20080921'), start_time: Nickel::ZTime.new('09'), end_time: Nickel::ZTime.new('17'), interval: 1)
1148
1161
  ]
1149
1162
  end
1150
1163
  end
1151
1164
  end
1152
1165
 
1153
1166
  context "when the query is 'october 2nd through 5th'" do
1154
- let(:query) { "october 2nd through 5th" }
1167
+ let(:query) { 'october 2nd through 5th' }
1155
1168
  let(:run_date) { Time.local(2008, 9, 18) }
1156
1169
 
1157
- describe "#occurrences" do
1158
- it "is every day from October 2nd to October 5th" do
1170
+ describe '#occurrences' do
1171
+ it 'is every day from October 2nd to October 5th' do
1159
1172
  expect(n.occurrences).to match_array [
1160
- Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new("20081002"), end_date: Nickel::ZDate.new("20081005"), interval: 1)
1173
+ Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new('20081002'), end_date: Nickel::ZDate.new('20081005'), interval: 1)
1161
1174
  ]
1162
1175
  end
1163
1176
  end
1164
1177
  end
1165
1178
 
1166
1179
  context "when the query is 'october 2nd through october 5th'" do
1167
- let(:query) { "october 2nd through october 5th" }
1180
+ let(:query) { 'october 2nd through october 5th' }
1168
1181
  let(:run_date) { Time.local(2008, 9, 18) }
1169
1182
 
1170
- describe "#occurrences" do
1171
- it "is every day from October 2nd to October 5th" do
1183
+ describe '#occurrences' do
1184
+ it 'is every day from October 2nd to October 5th' do
1172
1185
  expect(n.occurrences).to match_array [
1173
- Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new("20081002"), end_date: Nickel::ZDate.new("20081005"), interval: 1)
1186
+ Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new('20081002'), end_date: Nickel::ZDate.new('20081005'), interval: 1)
1174
1187
  ]
1175
1188
  end
1176
1189
  end
1177
1190
  end
1178
1191
 
1179
1192
  context "when the query is '10/2 to 10/5'" do
1180
- let(:query) { "10/2 to 10/5" }
1193
+ let(:query) { '10/2 to 10/5' }
1181
1194
  let(:run_date) { Time.local(2008, 9, 18) }
1182
1195
 
1183
- describe "#occurrences" do
1184
- it "is every day from October 2nd to October 5th" do
1196
+ describe '#occurrences' do
1197
+ it 'is every day from October 2nd to October 5th' do
1185
1198
  expect(n.occurrences).to match_array [
1186
- Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new("20081002"), end_date: Nickel::ZDate.new("20081005"), interval: 1)
1199
+ Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new('20081002'), end_date: Nickel::ZDate.new('20081005'), interval: 1)
1187
1200
  ]
1188
1201
  end
1189
1202
  end
1190
1203
  end
1191
1204
 
1192
1205
  context "when the query is 'oct 2 until 5'" do
1193
- let(:query) { "oct 2 until 5" }
1206
+ let(:query) { 'oct 2 until 5' }
1194
1207
  let(:run_date) { Time.local(2008, 9, 18) }
1195
1208
 
1196
- describe "#occurrences" do
1197
- it "is every day from October 2nd to October 5th" do
1209
+ describe '#occurrences' do
1210
+ it 'is every day from October 2nd to October 5th' do
1198
1211
  expect(n.occurrences).to match_array [
1199
- Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new("20081002"), end_date: Nickel::ZDate.new("20081005"), interval: 1)
1212
+ Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new('20081002'), end_date: Nickel::ZDate.new('20081005'), interval: 1)
1200
1213
  ]
1201
1214
  end
1202
1215
  end
1203
1216
  end
1204
1217
 
1205
1218
  context "when the query is 'oct 2 until oct 5'" do
1206
- let(:query) { "oct 2 until oct 5" }
1219
+ let(:query) { 'oct 2 until oct 5' }
1207
1220
  let(:run_date) { Time.local(2008, 9, 18) }
1208
1221
 
1209
- describe "#occurrences" do
1210
- it "is every day from October 2nd to October 5th" do
1222
+ describe '#occurrences' do
1223
+ it 'is every day from October 2nd to October 5th' do
1211
1224
  expect(n.occurrences).to match_array [
1212
- Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new("20081002"), end_date: Nickel::ZDate.new("20081005"), interval: 1)
1225
+ Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new('20081002'), end_date: Nickel::ZDate.new('20081005'), interval: 1)
1213
1226
  ]
1214
1227
  end
1215
1228
  end
1216
1229
  end
1217
1230
 
1218
1231
  context "when the query is 'oct 2-oct 5'" do
1219
- let(:query) { "oct 2-oct 5" }
1232
+ let(:query) { 'oct 2-oct 5' }
1220
1233
  let(:run_date) { Time.local(2008, 9, 18) }
1221
1234
 
1222
- describe "#occurrences" do
1223
- it "is every day from October 2nd to October 5th" do
1235
+ describe '#occurrences' do
1236
+ it 'is every day from October 2nd to October 5th' do
1224
1237
  expect(n.occurrences).to match_array [
1225
- Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new("20081002"), end_date: Nickel::ZDate.new("20081005"), interval: 1)
1238
+ Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new('20081002'), end_date: Nickel::ZDate.new('20081005'), interval: 1)
1226
1239
  ]
1227
1240
  end
1228
1241
  end
1229
1242
  end
1230
1243
 
1231
1244
  context "when the query is 'october 2nd-5th'" do
1232
- let(:query) { "october 2nd-5th" }
1245
+ let(:query) { 'october 2nd-5th' }
1233
1246
  let(:run_date) { Time.local(2008, 9, 18) }
1234
1247
 
1235
- describe "#occurrences" do
1236
- it "is every day from October 2nd to October 5th" do
1248
+ describe '#occurrences' do
1249
+ it 'is every day from October 2nd to October 5th' do
1237
1250
  expect(n.occurrences).to match_array [
1238
- Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new("20081002"), end_date: Nickel::ZDate.new("20081005"), interval: 1)
1251
+ Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new('20081002'), end_date: Nickel::ZDate.new('20081005'), interval: 1)
1239
1252
  ]
1240
1253
  end
1241
1254
  end
1242
1255
  end
1243
1256
 
1244
1257
  context "when the query is 'october 2nd-5th from 9 to 5am'" do
1245
- let(:query) { "october 2nd-5th from 9 to 5am" }
1258
+ let(:query) { 'october 2nd-5th from 9 to 5am' }
1246
1259
  let(:run_date) { Time.local(2008, 9, 18) }
1247
1260
 
1248
- describe "#occurrences" do
1249
- it "is 9:00am to 5:00pm every day from October 2nd to October 5th" do
1261
+ describe '#occurrences' do
1262
+ it 'is 9:00am to 5:00pm every day from October 2nd to October 5th' do
1250
1263
  expect(n.occurrences).to match_array [
1251
- Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new("20081002"), end_date: Nickel::ZDate.new("20081005"), interval: 1, start_time: Nickel::ZTime.new("21"), end_time: Nickel::ZTime.new("05"))
1264
+ Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new('20081002'), end_date: Nickel::ZDate.new('20081005'), interval: 1, start_time: Nickel::ZTime.new('21'), end_time: Nickel::ZTime.new('05'))
1252
1265
  ]
1253
1266
  end
1254
1267
  end
1255
1268
  end
1256
1269
 
1257
1270
  context "when the query is 'october 2nd-5th every day from 9 to 5am'" do
1258
- let(:query) { "october 2nd-5th every day from 9 to 5am" }
1271
+ let(:query) { 'october 2nd-5th every day from 9 to 5am' }
1259
1272
  let(:run_date) { Time.local(2008, 9, 18) }
1260
1273
 
1261
- describe "#occurrences" do
1262
- it "is 9:00am to 5:00pm every day from October 2nd to October 5th" do
1274
+ describe '#occurrences' do
1275
+ it 'is 9:00am to 5:00pm every day from October 2nd to October 5th' do
1263
1276
  expect(n.occurrences).to match_array [
1264
- Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new("20081002"), end_date: Nickel::ZDate.new("20081005"), interval: 1, start_time: Nickel::ZTime.new("21"), end_time: Nickel::ZTime.new("05"))
1277
+ Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new('20081002'), end_date: Nickel::ZDate.new('20081005'), interval: 1, start_time: Nickel::ZTime.new('21'), end_time: Nickel::ZTime.new('05'))
1265
1278
  ]
1266
1279
  end
1267
1280
  end
1268
1281
  end
1269
1282
 
1270
1283
  context "when the query is 'january 1 from 1PM to 5AM'" do
1271
- let(:query) { "january 1 from 1PM to 5AM" }
1284
+ let(:query) { 'january 1 from 1PM to 5AM' }
1272
1285
  let(:run_date) { Time.local(2013, 1, 25) }
1273
1286
 
1274
- describe "#occurrences" do
1275
- it "is 1:00pm to 5:00am January 1st" do
1287
+ describe '#occurrences' do
1288
+ it 'is 1:00pm to 5:00am January 1st' do
1276
1289
  expect(n.occurrences).to match_array [
1277
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20130101"), start_time: Nickel::ZTime.new("13"), end_time: Nickel::ZTime.new("05"))
1290
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20130101'), start_time: Nickel::ZTime.new('13'), end_time: Nickel::ZTime.new('05'))
1278
1291
  ]
1279
1292
  end
1280
1293
  end
1281
1294
  end
1282
1295
 
1283
1296
  context "when the query is 'tuesday, january 1st - friday, february 15, 2013'" do
1284
- let(:query) { "tuesday, january 1st - friday, february 15, 2013" }
1297
+ let(:query) { 'tuesday, january 1st - friday, february 15, 2013' }
1285
1298
  let(:run_date) { Time.local(2008, 1, 25) }
1286
1299
 
1287
- describe "#occurrences" do
1288
- it "is every day from January 1st to February 15th" do
1300
+ describe '#occurrences' do
1301
+ it 'is every day from January 1st to February 15th' do
1289
1302
  expect(n.occurrences).to match_array [
1290
- Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new("20130101"), end_date: Nickel::ZDate.new("20130215"), interval: 1)
1303
+ Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new('20130101'), end_date: Nickel::ZDate.new('20130215'), interval: 1)
1291
1304
  ]
1292
1305
  end
1293
1306
  end
1294
1307
  end
1295
1308
 
1296
1309
  context "when the query is 'tuesday, january 1, 2013 - friday, february 15, 2013'" do
1297
- let(:query) { "tuesday, january 1, 2013 - friday, february 15, 2013" }
1310
+ let(:query) { 'tuesday, january 1, 2013 - friday, february 15, 2013' }
1298
1311
  let(:run_date) { Time.local(2008, 1, 25) }
1299
1312
 
1300
- describe "#occurrences" do
1301
- it "is every day from January 1st to February 15th" do
1313
+ describe '#occurrences' do
1314
+ it 'is every day from January 1st to February 15th' do
1302
1315
  expect(n.occurrences).to match_array [
1303
- Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new("20130101"), end_date: Nickel::ZDate.new("20130215"), interval: 1)
1316
+ Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new('20130101'), end_date: Nickel::ZDate.new('20130215'), interval: 1)
1304
1317
  ]
1305
1318
  end
1306
1319
  end
1307
1320
  end
1308
1321
 
1309
1322
  context "when the query is 'every monday and wednesday'" do
1310
- let(:query) { "every monday and wednesday" }
1323
+ let(:query) { 'every monday and wednesday' }
1311
1324
  let(:run_date) { Time.local(2008, 9, 18) }
1312
1325
 
1313
- describe "#occurrences" do
1314
- it "is every Monday and Wednesday" do
1326
+ describe '#occurrences' do
1327
+ it 'is every Monday and Wednesday' do
1315
1328
  expect(n.occurrences).to match_array [
1316
- Nickel::Occurrence.new(type: :weekly, day_of_week: 0, interval: 1, start_date: Nickel::ZDate.new("20080922")),
1317
- Nickel::Occurrence.new(type: :weekly, day_of_week: 2, interval: 1, start_date: Nickel::ZDate.new("20080924"))
1329
+ Nickel::Occurrence.new(type: :weekly, day_of_week: 0, interval: 1, start_date: Nickel::ZDate.new('20080922')),
1330
+ Nickel::Occurrence.new(type: :weekly, day_of_week: 2, interval: 1, start_date: Nickel::ZDate.new('20080924'))
1318
1331
  ]
1319
1332
  end
1320
1333
  end
1321
1334
  end
1322
1335
 
1323
1336
  context "when the query is 'every other monday and wednesday'" do
1324
- let(:query) { "every other monday and wednesday" }
1337
+ let(:query) { 'every other monday and wednesday' }
1325
1338
  let(:run_date) { Time.local(2008, 9, 18) }
1326
1339
 
1327
- describe "#occurrences" do
1328
- it "is every other Monday and Wednesday" do
1340
+ describe '#occurrences' do
1341
+ it 'is every other Monday and Wednesday' do
1329
1342
  expect(n.occurrences).to match_array [
1330
- Nickel::Occurrence.new(type: :weekly, day_of_week: 0, interval: 2, start_date: Nickel::ZDate.new("20080922")),
1331
- Nickel::Occurrence.new(type: :weekly, day_of_week: 2, interval: 2, start_date: Nickel::ZDate.new("20080924"))
1343
+ Nickel::Occurrence.new(type: :weekly, day_of_week: 0, interval: 2, start_date: Nickel::ZDate.new('20080922')),
1344
+ Nickel::Occurrence.new(type: :weekly, day_of_week: 2, interval: 2, start_date: Nickel::ZDate.new('20080924'))
1332
1345
  ]
1333
1346
  end
1334
1347
  end
1335
1348
  end
1336
1349
 
1337
1350
  context "when the query is 'every monday'" do
1338
- let(:query) { "every monday" }
1351
+ let(:query) { 'every monday' }
1339
1352
  let(:run_date) { Time.local(2008, 9, 18) }
1340
1353
 
1341
- describe "#occurrences" do
1342
- it "is every Monday" do
1354
+ describe '#occurrences' do
1355
+ it 'is every Monday' do
1343
1356
  expect(n.occurrences).to match_array [
1344
- Nickel::Occurrence.new(type: :weekly, day_of_week: 0, interval: 1, start_date: Nickel::ZDate.new("20080922"))
1357
+ Nickel::Occurrence.new(type: :weekly, day_of_week: 0, interval: 1, start_date: Nickel::ZDate.new('20080922'))
1345
1358
  ]
1346
1359
  end
1347
1360
  end
@@ -1349,511 +1362,576 @@ describe Nickel do
1349
1362
 
1350
1363
  context "when the query is 'every monday at 2pm and wednesday at 4pm'", broken: true do
1351
1364
  # FIXME: this spec should have two occurrences
1352
- let(:query) { "every monday at 2pm and wednesday at 4pm" }
1365
+ let(:query) { 'every monday at 2pm and wednesday at 4pm' }
1353
1366
  let(:run_date) { Time.local(2008, 9, 18) }
1354
1367
 
1355
- describe "#occurrences" do
1356
- it "is every Monday at 2:00pm and every Wednesday at 4:00pm" do
1368
+ describe '#occurrences' do
1369
+ it 'is every Monday at 2:00pm and every Wednesday at 4:00pm' do
1357
1370
  expect(n.occurrences).to match_array [
1358
- Nickel::Occurrence.new(type: :weekly, day_of_week: 0, interval: 1, start_date: Nickel::ZDate.new("20080922"), start_time: Nickel::ZTime.new("14")),
1359
- Nickel::Occurrence.new(type: :weekly, day_of_week: 2, interval: 1, start_date: Nickel::ZDate.new("20080924"), start_time: Nickel::ZTime.new("16"))
1371
+ Nickel::Occurrence.new(type: :weekly, day_of_week: 0, interval: 1, start_date: Nickel::ZDate.new('20080922'), start_time: Nickel::ZTime.new('14')),
1372
+ Nickel::Occurrence.new(type: :weekly, day_of_week: 2, interval: 1, start_date: Nickel::ZDate.new('20080924'), start_time: Nickel::ZTime.new('16'))
1360
1373
  ]
1361
1374
  end
1362
1375
  end
1363
1376
  end
1364
1377
 
1365
1378
  context "when the query is 'every monday at 2pm and every wednesday at 4pm'" do
1366
- let(:query) { "every monday at 2pm and every wednesday at 4pm" }
1379
+ let(:query) { 'every monday at 2pm and every wednesday at 4pm' }
1367
1380
  let(:run_date) { Time.local(2008, 9, 18) }
1368
1381
 
1369
- describe "#occurrences" do
1370
- it "is every Monday at 2:00pm and every Wednesday at 4:00pm" do
1382
+ describe '#occurrences' do
1383
+ it 'is every Monday at 2:00pm and every Wednesday at 4:00pm' do
1371
1384
  expect(n.occurrences).to match_array [
1372
- Nickel::Occurrence.new(type: :weekly, day_of_week: 0, interval: 1, start_date: Nickel::ZDate.new("20080922"), start_time: Nickel::ZTime.new("14")),
1373
- Nickel::Occurrence.new(type: :weekly, day_of_week: 2, interval: 1, start_date: Nickel::ZDate.new("20080924"), start_time: Nickel::ZTime.new("16"))
1385
+ Nickel::Occurrence.new(type: :weekly, day_of_week: 0, interval: 1, start_date: Nickel::ZDate.new('20080922'), start_time: Nickel::ZTime.new('14')),
1386
+ Nickel::Occurrence.new(type: :weekly, day_of_week: 2, interval: 1, start_date: Nickel::ZDate.new('20080924'), start_time: Nickel::ZTime.new('16'))
1374
1387
  ]
1375
1388
  end
1376
1389
  end
1377
1390
  end
1378
1391
 
1379
1392
  context "when the query is 'every monday every wednesday'" do
1380
- let(:query) { "every monday every wednesday" }
1393
+ let(:query) { 'every monday every wednesday' }
1381
1394
  let(:run_date) { Time.local(2008, 9, 18) }
1382
1395
 
1383
- describe "#occurrences" do
1384
- it "is every Monday at 2:00pm and every Wednesday at 4:00pm" do
1396
+ describe '#occurrences' do
1397
+ it 'is every Monday at 2:00pm and every Wednesday at 4:00pm' do
1385
1398
  expect(n.occurrences).to match_array [
1386
- Nickel::Occurrence.new(type: :weekly, day_of_week: 0, interval: 1, start_date: Nickel::ZDate.new("20080922")),
1387
- Nickel::Occurrence.new(type: :weekly, day_of_week: 2, interval: 1, start_date: Nickel::ZDate.new("20080924"))
1399
+ Nickel::Occurrence.new(type: :weekly, day_of_week: 0, interval: 1, start_date: Nickel::ZDate.new('20080922')),
1400
+ Nickel::Occurrence.new(type: :weekly, day_of_week: 2, interval: 1, start_date: Nickel::ZDate.new('20080924'))
1388
1401
  ]
1389
1402
  end
1390
1403
  end
1391
1404
  end
1392
1405
 
1393
1406
  context "when the query is 'the 22nd of every month'" do
1394
- let(:query) { "the 22nd of every month" }
1407
+ let(:query) { 'the 22nd of every month' }
1395
1408
  let(:run_date) { Time.local(2008, 9, 18) }
1396
1409
 
1397
- describe "#occurrences" do
1398
- it "is the 22nd of every month" do
1410
+ describe '#occurrences' do
1411
+ it 'is the 22nd of every month' do
1399
1412
  expect(n.occurrences).to match_array [
1400
- Nickel::Occurrence.new(type: :datemonthly, date_of_month: 22, interval: 1, start_date: Nickel::ZDate.new("20080922"))
1413
+ Nickel::Occurrence.new(type: :datemonthly, date_of_month: 22, interval: 1, start_date: Nickel::ZDate.new('20080922'))
1401
1414
  ]
1402
1415
  end
1403
1416
  end
1404
1417
  end
1405
1418
 
1406
1419
  context "when the query is 'the first friday of every month'" do
1407
- let(:query) { "the first friday of every month" }
1420
+ let(:query) { 'the first friday of every month' }
1408
1421
  let(:run_date) { Time.local(2008, 9, 18) }
1409
1422
 
1410
- describe "#occurrences" do
1411
- it "is the first friday of every month" do
1423
+ describe '#occurrences' do
1424
+ it 'is the first friday of every month' do
1412
1425
  expect(n.occurrences).to match_array [
1413
- Nickel::Occurrence.new(type: :daymonthly, week_of_month: 1, day_of_week: 4, interval: 1, start_date: Nickel::ZDate.new("20081003"))
1426
+ Nickel::Occurrence.new(type: :daymonthly, week_of_month: 1, day_of_week: 4, interval: 1, start_date: Nickel::ZDate.new('20081003'))
1414
1427
  ]
1415
1428
  end
1416
1429
  end
1417
1430
  end
1418
1431
 
1419
1432
  context "when the query is 'the second tuesday of every month at 5pm'" do
1420
- let(:query) { "the second tuesday of every month at 5pm" }
1433
+ let(:query) { 'the second tuesday of every month at 5pm' }
1421
1434
  let(:run_date) { Time.local(2008, 9, 24) }
1422
1435
 
1423
- describe "#occurrences" do
1424
- it "is 5:00pm on the second Tuesday of every month" do
1436
+ describe '#occurrences' do
1437
+ it 'is 5:00pm on the second Tuesday of every month' do
1425
1438
  expect(n.occurrences).to match_array [
1426
- Nickel::Occurrence.new(type: :daymonthly, week_of_month: 2, day_of_week: 1, interval: 1, start_date: Nickel::ZDate.new("20081014"), start_time: Nickel::ZTime.new("17"))
1439
+ Nickel::Occurrence.new(type: :daymonthly, week_of_month: 2, day_of_week: 1, interval: 1, start_date: Nickel::ZDate.new('20081014'), start_time: Nickel::ZTime.new('17'))
1427
1440
  ]
1428
1441
  end
1429
1442
  end
1430
1443
  end
1431
1444
 
1432
1445
  context "when the query is 'the first tuesday of every month at 4pm and 5pm, the second tuesday of every month at 5pm'" do
1433
- let(:query) { "the first tuesday of every month at 4pm and 5pm, the second tuesday of every month at 5pm" }
1446
+ let(:query) { 'the first tuesday of every month at 4pm and 5pm, the second tuesday of every month at 5pm' }
1434
1447
  let(:run_date) { Time.local(2008, 9, 24) }
1435
1448
 
1436
- describe "#occurrences" do
1437
- it "is 4:00pm to 5:00pm on the first Tuesday of every month and 5:00pm on the second Tuesday of every month" do
1449
+ describe '#occurrences' do
1450
+ it 'is 4:00pm to 5:00pm on the first Tuesday of every month and 5:00pm on the second Tuesday of every month' do
1438
1451
  expect(n.occurrences).to match_array [
1439
- Nickel::Occurrence.new(type: :daymonthly, week_of_month: 1, day_of_week: 1, interval: 1, start_date: Nickel::ZDate.new("20081007"), start_time: Nickel::ZTime.new("16")),
1440
- Nickel::Occurrence.new(type: :daymonthly, week_of_month: 1, day_of_week: 1, interval: 1, start_date: Nickel::ZDate.new("20081007"), start_time: Nickel::ZTime.new("17")),
1441
- Nickel::Occurrence.new(type: :daymonthly, week_of_month: 2, day_of_week: 1, interval: 1, start_date: Nickel::ZDate.new("20081014"), start_time: Nickel::ZTime.new("17"))
1452
+ Nickel::Occurrence.new(type: :daymonthly, week_of_month: 1, day_of_week: 1, interval: 1, start_date: Nickel::ZDate.new('20081007'), start_time: Nickel::ZTime.new('16')),
1453
+ Nickel::Occurrence.new(type: :daymonthly, week_of_month: 1, day_of_week: 1, interval: 1, start_date: Nickel::ZDate.new('20081007'), start_time: Nickel::ZTime.new('17')),
1454
+ Nickel::Occurrence.new(type: :daymonthly, week_of_month: 2, day_of_week: 1, interval: 1, start_date: Nickel::ZDate.new('20081014'), start_time: Nickel::ZTime.new('17'))
1442
1455
  ]
1443
1456
  end
1444
1457
  end
1445
1458
  end
1446
1459
 
1447
1460
  context "when the query is 'every sunday in december'" do
1448
- let(:query) { "every sunday in december" }
1461
+ let(:query) { 'every sunday in december' }
1449
1462
  let(:run_date) { Time.local(2008, 9, 24) }
1450
1463
 
1451
- describe "#occurrences" do
1452
- it "is every Sunday in December" do
1464
+ describe '#occurrences' do
1465
+ it 'is every Sunday in December' do
1453
1466
  expect(n.occurrences).to match_array [
1454
- Nickel::Occurrence.new(type: :weekly, day_of_week: 6, interval: 1, start_date: Nickel::ZDate.new("20081207"), end_date: Nickel::ZDate.new("20081228"))
1467
+ Nickel::Occurrence.new(type: :weekly, day_of_week: 6, interval: 1, start_date: Nickel::ZDate.new('20081207'), end_date: Nickel::ZDate.new('20081228'))
1455
1468
  ]
1456
1469
  end
1457
1470
  end
1458
1471
  end
1459
1472
 
1460
1473
  context "when the query is 'every monday until december'" do
1461
- let(:query) { "every monday until december" }
1474
+ let(:query) { 'every monday until december' }
1462
1475
  let(:run_date) { Time.local(2008, 9, 24) }
1463
1476
 
1464
- describe "#occurrences" do
1465
- it "is every Monday from now until December" do
1477
+ describe '#occurrences' do
1478
+ it 'is every Monday from now until December' do
1466
1479
  expect(n.occurrences).to match_array [
1467
- Nickel::Occurrence.new(type: :weekly, day_of_week: 0, interval: 1, start_date: Nickel::ZDate.new("20080929"), end_date: Nickel::ZDate.new("20081124"))
1480
+ Nickel::Occurrence.new(type: :weekly, day_of_week: 0, interval: 1, start_date: Nickel::ZDate.new('20080929'), end_date: Nickel::ZDate.new('20081124'))
1468
1481
  ]
1469
1482
  end
1470
1483
  end
1471
1484
  end
1472
1485
 
1473
1486
  context "when the query is 'every monday next month'" do
1474
- let(:query) { "every monday next month" }
1487
+ let(:query) { 'every monday next month' }
1475
1488
  let(:run_date) { Time.local(2008, 9, 24) }
1476
1489
 
1477
- describe "#occurrences" do
1478
- it "is every Monday next month" do
1490
+ describe '#occurrences' do
1491
+ it 'is every Monday next month' do
1479
1492
  expect(n.occurrences).to match_array [
1480
- Nickel::Occurrence.new(type: :weekly, day_of_week: 0, interval: 1, start_date: Nickel::ZDate.new("20081006"), end_date: Nickel::ZDate.new("20081027"))
1493
+ Nickel::Occurrence.new(type: :weekly, day_of_week: 0, interval: 1, start_date: Nickel::ZDate.new('20081006'), end_date: Nickel::ZDate.new('20081027'))
1481
1494
  ]
1482
1495
  end
1483
1496
  end
1484
1497
  end
1485
1498
 
1486
1499
  context "when the query is 'everyday next month'" do
1487
- let(:query) { "everyday next month" }
1500
+ let(:query) { 'everyday next month' }
1488
1501
  let(:run_date) { Time.local(2008, 12, 24) }
1489
1502
 
1490
- describe "#occurrences" do
1491
- it "is every day next month" do
1503
+ describe '#occurrences' do
1504
+ it 'is every day next month' do
1492
1505
  expect(n.occurrences).to match_array [
1493
- Nickel::Occurrence.new(type: :daily, interval: 1, start_date: Nickel::ZDate.new("20090101"), end_date: Nickel::ZDate.new("20090131"))
1506
+ Nickel::Occurrence.new(type: :daily, interval: 1, start_date: Nickel::ZDate.new('20090101'), end_date: Nickel::ZDate.new('20090131'))
1494
1507
  ]
1495
1508
  end
1496
1509
  end
1497
1510
  end
1498
1511
 
1499
1512
  context "when the query is 'in the next two days'" do
1500
- let(:query) { "in the next two days" }
1513
+ let(:query) { 'in the next two days' }
1501
1514
  let(:run_date) { Time.local(2007, 12, 29) }
1502
1515
 
1503
- describe "#occurrences" do
1504
- it "is today, tomorrow and the day after" do
1516
+ describe '#occurrences' do
1517
+ it 'is today, tomorrow and the day after' do
1505
1518
  expect(n.occurrences).to match_array [
1506
- Nickel::Occurrence.new(type: :daily, interval: 1, start_date: Nickel::ZDate.new("20071229"), end_date: Nickel::ZDate.new("20071231"))
1519
+ Nickel::Occurrence.new(type: :daily, interval: 1, start_date: Nickel::ZDate.new('20071229'), end_date: Nickel::ZDate.new('20071231'))
1507
1520
  ]
1508
1521
  end
1509
1522
  end
1510
1523
  end
1511
1524
 
1512
1525
  context "when the query is 'for three days'" do
1513
- let(:query) { "for three days" }
1526
+ let(:query) { 'for three days' }
1514
1527
  let(:run_date) { Time.local(2007, 12, 29) }
1515
1528
 
1516
- describe "#occurrences" do
1517
- it "is today, tomorrow, the day after and the day after that" do
1529
+ describe '#occurrences' do
1530
+ it 'is today, tomorrow, the day after and the day after that' do
1518
1531
  expect(n.occurrences).to match_array [
1519
- Nickel::Occurrence.new(type: :daily, interval: 1, start_date: Nickel::ZDate.new("20071229"), end_date: Nickel::ZDate.new("20080101"))
1532
+ Nickel::Occurrence.new(type: :daily, interval: 1, start_date: Nickel::ZDate.new('20071229'), end_date: Nickel::ZDate.new('20080101'))
1520
1533
  ]
1521
1534
  end
1522
1535
  end
1523
1536
  end
1524
1537
 
1525
1538
  context "when the query is 'for the next three days'" do
1526
- let(:query) { "for the next three days" }
1539
+ let(:query) { 'for the next three days' }
1527
1540
  let(:run_date) { Time.local(2007, 12, 29) }
1528
1541
 
1529
- describe "#occurrences" do
1530
- it "is today, tomorrow, the day after and the day after that" do
1542
+ describe '#occurrences' do
1543
+ it 'is today, tomorrow, the day after and the day after that' do
1531
1544
  expect(n.occurrences).to match_array [
1532
- Nickel::Occurrence.new(type: :daily, interval: 1, start_date: Nickel::ZDate.new("20071229"), end_date: Nickel::ZDate.new("20080101"))
1545
+ Nickel::Occurrence.new(type: :daily, interval: 1, start_date: Nickel::ZDate.new('20071229'), end_date: Nickel::ZDate.new('20080101'))
1533
1546
  ]
1534
1547
  end
1535
1548
  end
1536
1549
  end
1537
1550
 
1538
1551
  context "when the query is 'this week'" do
1539
- let(:query) { "this week" }
1552
+ let(:query) { 'this week' }
1540
1553
  let(:run_date) { Time.local(2008, 9, 25) }
1541
1554
 
1542
- describe "#occurrences" do
1543
- it "is every day from now until 7 days from now" do
1555
+ describe '#occurrences' do
1556
+ it 'is every day from now until 7 days from now' do
1544
1557
  expect(n.occurrences).to match_array [
1545
- Nickel::Occurrence.new(type: :daily, interval: 1, start_date: Nickel::ZDate.new("20080925"), end_date: Nickel::ZDate.new("20081002"))
1558
+ Nickel::Occurrence.new(type: :daily, interval: 1, start_date: Nickel::ZDate.new('20080925'), end_date: Nickel::ZDate.new('20081002'))
1546
1559
  ]
1547
1560
  end
1548
1561
  end
1549
1562
  end
1550
1563
 
1551
1564
  context "when the query is 'every day this week'" do
1552
- let(:query) { "every day this week" }
1565
+ let(:query) { 'every day this week' }
1553
1566
  let(:run_date) { Time.local(2008, 9, 25) }
1554
1567
 
1555
- describe "#occurrences" do
1556
- it "is every day from now until 7 days from now" do
1568
+ describe '#occurrences' do
1569
+ it 'is every day from now until 7 days from now' do
1557
1570
  expect(n.occurrences).to match_array [
1558
- Nickel::Occurrence.new(type: :daily, interval: 1, start_date: Nickel::ZDate.new("20080925"), end_date: Nickel::ZDate.new("20081002"))
1571
+ Nickel::Occurrence.new(type: :daily, interval: 1, start_date: Nickel::ZDate.new('20080925'), end_date: Nickel::ZDate.new('20081002'))
1559
1572
  ]
1560
1573
  end
1561
1574
  end
1562
1575
  end
1563
1576
 
1564
1577
  context "when the query is 'next week'" do
1565
- let(:query) { "next week" }
1578
+ let(:query) { 'next week' }
1566
1579
  let(:run_date) { Time.local(2008, 9, 25) }
1567
1580
 
1568
- describe "#occurrences" do
1569
- it "is every day from 7 days from now until 14 days from now" do
1581
+ describe '#occurrences' do
1582
+ it 'is every day from 7 days from now until 14 days from now' do
1570
1583
  expect(n.occurrences).to match_array [
1571
- Nickel::Occurrence.new(type: :daily, interval: 1, start_date: Nickel::ZDate.new("20081002"), end_date: Nickel::ZDate.new("20081009"))
1584
+ Nickel::Occurrence.new(type: :daily, interval: 1, start_date: Nickel::ZDate.new('20081002'), end_date: Nickel::ZDate.new('20081009'))
1572
1585
  ]
1573
1586
  end
1574
1587
  end
1575
1588
  end
1576
1589
 
1577
1590
  context "when the query is 'every day next week'" do
1578
- let(:query) { "every day next week" }
1591
+ let(:query) { 'every day next week' }
1579
1592
  let(:run_date) { Time.local(2008, 9, 25) }
1580
1593
 
1581
- describe "#occurrences" do
1582
- it "is every day from 7 days from now until 14 days from now" do
1594
+ describe '#occurrences' do
1595
+ it 'is every day from 7 days from now until 14 days from now' do
1583
1596
  expect(n.occurrences).to match_array [
1584
- Nickel::Occurrence.new(type: :daily, interval: 1, start_date: Nickel::ZDate.new("20081002"), end_date: Nickel::ZDate.new("20081009"))
1597
+ Nickel::Occurrence.new(type: :daily, interval: 1, start_date: Nickel::ZDate.new('20081002'), end_date: Nickel::ZDate.new('20081009'))
1598
+ ]
1599
+ end
1600
+ end
1601
+ end
1602
+
1603
+ context "when the query is 'for five weeks'" do
1604
+ let(:query) { 'for five weeks' }
1605
+ let(:run_date) { Time.local(2014, 2, 12) }
1606
+
1607
+ describe '#occurrences' do
1608
+ it 'is every day for the next 35 days' do
1609
+ expect(n.occurrences).to match_array [
1610
+ Nickel::Occurrence.new(type: :daily, interval: 1, start_date: Nickel::ZDate.new('20140212'), end_date: Nickel::ZDate.new('20140319'))
1585
1611
  ]
1586
1612
  end
1587
1613
  end
1588
1614
  end
1589
1615
 
1590
1616
  context "when the query is 'all month'" do
1591
- let(:query) { "all month" }
1617
+ let(:query) { 'all month' }
1592
1618
  let(:run_date) { Time.local(2008, 10, 5) }
1593
1619
 
1594
- describe "#occurrences" do
1595
- it "is every day from now until the last day of the month" do
1620
+ describe '#occurrences' do
1621
+ it 'is every day from now until the last day of the month' do
1596
1622
  expect(n.occurrences).to match_array [
1597
- Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new("20081005"), end_date: Nickel::ZDate.new("20081031"), interval: 1)
1623
+ Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new('20081005'), end_date: Nickel::ZDate.new('20081031'), interval: 1)
1598
1624
  ]
1599
1625
  end
1600
1626
  end
1601
1627
  end
1602
1628
 
1603
1629
  context "when the query is 'the week of jan 2nd'" do
1604
- let(:query) { "the week of jan 2nd" }
1630
+ let(:query) { 'the week of jan 2nd' }
1605
1631
  let(:run_date) { Time.local(2008, 12, 21) }
1606
1632
 
1607
- describe "#occurrences" do
1608
- it "is every day in the 7 days starting on January 2nd" do
1633
+ describe '#occurrences' do
1634
+ it 'is every day in the 7 days starting on January 2nd' do
1609
1635
  expect(n.occurrences).to match_array [
1610
- Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new("20090102"), end_date: Nickel::ZDate.new("20090109"), interval: 1)
1636
+ Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new('20090102'), end_date: Nickel::ZDate.new('20090109'), interval: 1)
1611
1637
  ]
1612
1638
  end
1613
1639
  end
1614
1640
  end
1615
1641
 
1616
1642
  context "when the query is 'the week ending jan 2nd'" do
1617
- let(:query) { "the week ending jan 2nd" }
1643
+ let(:query) { 'the week ending jan 2nd' }
1618
1644
  let(:run_date) { Time.local(2008, 12, 21) }
1619
1645
 
1620
- describe "#occurrences" do
1621
- it "is every day in the 7 days preceeding January 2nd" do
1646
+ describe '#occurrences' do
1647
+ it 'is every day in the 7 days preceeding January 2nd' do
1622
1648
  expect(n.occurrences).to match_array [
1623
- Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new("20081226"), end_date: Nickel::ZDate.new("20090102"), interval: 1)
1649
+ Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new('20081226'), end_date: Nickel::ZDate.new('20090102'), interval: 1)
1624
1650
  ]
1625
1651
  end
1626
1652
  end
1627
1653
  end
1628
1654
 
1629
1655
  context "when the query is 'the week of the 22nd'" do
1630
- let(:query) { "the week of the 22nd" }
1656
+ let(:query) { 'the week of the 22nd' }
1631
1657
  let(:run_date) { Time.local(2008, 12, 21) }
1632
1658
 
1633
- describe "#occurrences" do
1634
- it "is every day in the 7 days starting on the 22nd of this month" do
1659
+ describe '#occurrences' do
1660
+ it 'is every day in the 7 days starting on the 22nd of this month' do
1635
1661
  expect(n.occurrences).to match_array [
1636
- Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new("20081222"), end_date: Nickel::ZDate.new("20081229"), interval: 1)
1662
+ Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new('20081222'), end_date: Nickel::ZDate.new('20081229'), interval: 1)
1637
1663
  ]
1638
1664
  end
1639
1665
  end
1640
1666
  end
1641
1667
 
1642
1668
  context "when the query is 'this monday, wednesday, friday and saturday'" do
1643
- let(:query) { "this monday, wednesday, friday and saturday" }
1669
+ let(:query) { 'this monday, wednesday, friday and saturday' }
1644
1670
  let(:run_date) { Time.local(2014, 2, 9) }
1645
1671
 
1646
- describe "#occurrences" do
1647
- it "is the following Monday, Wednesday, Friday and Saturday" do
1672
+ describe '#occurrences' do
1673
+ it 'is the following Monday, Wednesday, Friday and Saturday' do
1648
1674
  expect(n.occurrences).to match_array [
1649
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20140210")),
1650
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20140212")),
1651
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20140214")),
1652
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20140215"))
1675
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20140210')),
1676
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20140212')),
1677
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20140214')),
1678
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20140215'))
1653
1679
  ]
1654
1680
  end
1655
1681
  end
1656
1682
  end
1657
1683
 
1658
1684
  context "when the query is 'monday, wednesday, friday and saturday'" do
1659
- let(:query) { "monday, wednesday, friday and saturday" }
1685
+ let(:query) { 'monday, wednesday, friday and saturday' }
1660
1686
  let(:run_date) { Time.local(2014, 2, 9) }
1661
1687
 
1662
- describe "#occurrences" do
1663
- it "is the following Monday, Wednesday, Friday and Saturday" do
1688
+ describe '#occurrences' do
1689
+ it 'is the following Monday, Wednesday, Friday and Saturday' do
1664
1690
  expect(n.occurrences).to match_array [
1665
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20140210")),
1666
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20140212")),
1667
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20140214")),
1668
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20140215"))
1691
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20140210')),
1692
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20140212')),
1693
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20140214')),
1694
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20140215'))
1669
1695
  ]
1670
1696
  end
1671
1697
  end
1672
1698
  end
1673
1699
 
1674
1700
  context "when the query is 'next monday, wednesday, friday and saturday'" do
1675
- let(:query) { "next monday, wednesday, friday and saturday" }
1701
+ let(:query) { 'next monday, wednesday, friday and saturday' }
1676
1702
  let(:run_date) { Time.local(2014, 2, 9) }
1677
1703
 
1678
- describe "#occurrences" do
1679
- it "is the next Monday, Wednesday, Friday and Saturday" do
1704
+ describe '#occurrences' do
1705
+ it 'is the next Monday, Wednesday, Friday and Saturday' do
1680
1706
  expect(n.occurrences).to match_array [
1681
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20140217")),
1682
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20140219")),
1683
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20140221")),
1684
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20140222"))
1707
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20140217')),
1708
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20140219')),
1709
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20140221')),
1710
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20140222'))
1685
1711
  ]
1686
1712
  end
1687
1713
  end
1688
1714
  end
1689
1715
 
1690
1716
  context "when the query is 'october 2nd, 2009'" do
1691
- let(:query) { "october 2nd, 2009" }
1717
+ let(:query) { 'october 2nd, 2009' }
1692
1718
  let(:run_date) { Time.local(2008, 1, 1) }
1693
1719
 
1694
- describe "#occurrences" do
1695
- it "is October 2nd 2009" do
1720
+ describe '#occurrences' do
1721
+ it 'is October 2nd 2009' do
1696
1722
  expect(n.occurrences).to match_array [
1697
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20091002"))
1723
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20091002'))
1698
1724
  ]
1699
1725
  end
1700
1726
  end
1701
1727
  end
1702
1728
 
1703
1729
  context "when the query is 'April 29, 5-8pm'" do
1704
- let(:query) { "April 29, 5-8pm" }
1730
+ let(:query) { 'April 29, 5-8pm' }
1705
1731
  let(:run_date) { Time.local(2008, 3, 30) }
1706
1732
 
1707
- describe "#occurrences" do
1708
- it "is 5:00pm to 8:00pm on April 29th" do
1733
+ describe '#occurrences' do
1734
+ it 'is 5:00pm to 8:00pm on April 29th' do
1709
1735
  expect(n.occurrences).to match_array [
1710
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20080429"), start_time: Nickel::ZTime.new("17"),end_time: Nickel::ZTime.new("20"))
1736
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20080429'), start_time: Nickel::ZTime.new('17'), end_time: Nickel::ZTime.new('20'))
1711
1737
  ]
1712
1738
  end
1713
1739
  end
1714
1740
  end
1715
1741
 
1716
1742
  context "when the query is 'the first of each month'" do
1717
- let(:query) { "the first of each month" }
1743
+ let(:query) { 'the first of each month' }
1718
1744
  let(:run_date) { Time.local(2008, 1, 1) }
1719
1745
 
1720
- describe "#occurrences" do
1721
- it "is every 1st of the month starting next month" do
1746
+ describe '#occurrences' do
1747
+ it 'is every 1st of the month starting next month' do
1722
1748
  expect(n.occurrences).to match_array [
1723
- Nickel::Occurrence.new(type: :datemonthly, start_date: Nickel::ZDate.new("20080101"), interval: 1, date_of_month: 1)
1749
+ Nickel::Occurrence.new(type: :datemonthly, start_date: Nickel::ZDate.new('20080101'), interval: 1, date_of_month: 1)
1724
1750
  ]
1725
1751
  end
1726
1752
  end
1727
1753
  end
1728
1754
 
1729
1755
  context "when the query is 'the first of each month'" do
1730
- let(:query) { "the first of each month" }
1756
+ let(:query) { 'the first of each month' }
1731
1757
  let(:run_date) { Time.local(2009, 2, 15) }
1732
1758
 
1733
- describe "#occurrences" do
1734
- it "is every 1st of the month starting next month" do
1759
+ describe '#occurrences' do
1760
+ it 'is every 1st of the month starting next month' do
1735
1761
  expect(n.occurrences).to match_array [
1736
- Nickel::Occurrence.new(type: :datemonthly, start_date: Nickel::ZDate.new("20090301"), interval: 1, date_of_month: 1)
1762
+ Nickel::Occurrence.new(type: :datemonthly, start_date: Nickel::ZDate.new('20090301'), interval: 1, date_of_month: 1)
1737
1763
  ]
1738
1764
  end
1739
1765
  end
1740
1766
  end
1741
1767
 
1742
1768
  context "when the query is 'every sunday'" do
1743
- let(:query) { "every sunday" }
1769
+ let(:query) { 'every sunday' }
1744
1770
  let(:run_date) { Time.local(2008, 12, 30) }
1745
1771
 
1746
- describe "#occurrences" do
1747
- it "is every sunday" do
1772
+ describe '#occurrences' do
1773
+ it 'is every sunday' do
1748
1774
  expect(n.occurrences).to match_array [
1749
- Nickel::Occurrence.new(type: :weekly, start_date: Nickel::ZDate.new("20090104"), interval: 1, day_of_week: 6)
1775
+ Nickel::Occurrence.new(type: :weekly, start_date: Nickel::ZDate.new('20090104'), interval: 1, day_of_week: 6)
1750
1776
  ]
1751
1777
  end
1752
1778
  end
1753
1779
  end
1754
1780
 
1755
1781
  context "when the query is 'every month on the 22nd at 2pm'" do
1756
- let(:query) { "every month on the 22nd at 2pm" }
1782
+ let(:query) { 'every month on the 22nd at 2pm' }
1757
1783
  let(:run_date) { Time.local(2008, 12, 30) }
1758
1784
 
1759
- describe "#occurrences" do
1760
- it "is every month on the 22nd at 2:00pm" do
1785
+ describe '#occurrences' do
1786
+ it 'is every month on the 22nd at 2:00pm' do
1761
1787
  expect(n.occurrences).to match_array [
1762
- Nickel::Occurrence.new(type: :datemonthly, start_date: Nickel::ZDate.new("20090122"), interval: 1, date_of_month: 22, start_time: Nickel::ZTime.new("14"))
1788
+ Nickel::Occurrence.new(type: :datemonthly, start_date: Nickel::ZDate.new('20090122'), interval: 1, date_of_month: 22, start_time: Nickel::ZTime.new('14'))
1763
1789
  ]
1764
1790
  end
1765
1791
  end
1766
1792
  end
1767
1793
 
1768
1794
  context "when the query is 'every other saturday at noon'" do
1769
- let(:query) { "every other saturday at noon" }
1795
+ let(:query) { 'every other saturday at noon' }
1770
1796
  let(:run_date) { Time.local(2008, 12, 30) }
1771
1797
 
1772
- describe "#occurrences" do
1773
- it "is every 2nd Saturday at 12:00pm" do
1798
+ describe '#occurrences' do
1799
+ it 'is every 2nd Saturday at 12:00pm' do
1774
1800
  expect(n.occurrences).to match_array [
1775
- Nickel::Occurrence.new(type: :weekly, start_date: Nickel::ZDate.new("20090103"), interval: 2, day_of_week: 5, start_time: Nickel::ZTime.new("12"))
1801
+ Nickel::Occurrence.new(type: :weekly, start_date: Nickel::ZDate.new('20090103'), interval: 2, day_of_week: 5, start_time: Nickel::ZTime.new('12'))
1776
1802
  ]
1777
1803
  end
1778
1804
  end
1779
1805
  end
1780
1806
 
1781
1807
  context "when the query is 'every day at midnight'" do
1782
- let(:query) { "every day at midnight" }
1808
+ let(:query) { 'every day at midnight' }
1783
1809
  let(:run_date) { Time.local(2008, 12, 30) }
1784
1810
 
1785
- describe "#occurrences" do
1786
- it "is every day at 12:00am" do
1811
+ describe '#occurrences' do
1812
+ it 'is every day at 12:00am' do
1787
1813
  expect(n.occurrences).to match_array [
1788
- Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new("20081230"), interval: 1, start_time: Nickel::ZTime.new("00"))
1814
+ Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new('20081230'), interval: 1, start_time: Nickel::ZTime.new('00'))
1789
1815
  ]
1790
1816
  end
1791
1817
  end
1792
1818
  end
1793
1819
 
1794
1820
  context "when the query is 'daily from noon to midnight'" do
1795
- let(:query) { "daily from noon to midnight" }
1821
+ let(:query) { 'daily from noon to midnight' }
1796
1822
  let(:run_date) { Time.local(2008, 12, 30) }
1797
1823
 
1798
- describe "#occurrences" do
1799
- it "is every day from 12:00pm to 12:00am" do
1824
+ describe '#occurrences' do
1825
+ it 'is every day from 12:00pm to 12:00am' do
1800
1826
  expect(n.occurrences).to match_array [
1801
- Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new("20081230"), interval: 1, start_time: Nickel::ZTime.new("12"), end_time: Nickel::ZTime.new("00"))
1827
+ Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new('20081230'), interval: 1, start_time: Nickel::ZTime.new('12'), end_time: Nickel::ZTime.new('00'))
1802
1828
  ]
1803
1829
  end
1804
1830
  end
1805
1831
  end
1806
1832
 
1807
1833
  context "when the query is 'the last tuesday of every month, starts at 9am'" do
1808
- let(:query) { "the last tuesday of every month, starts at 9am" }
1834
+ let(:query) { 'the last tuesday of every month, starts at 9am' }
1809
1835
  let(:run_date) { Time.local(2008, 12, 30) }
1810
1836
 
1811
- describe "#occurrences" do
1812
- it "is the last Tuesday of every month at 9:00am" do
1837
+ describe '#occurrences' do
1838
+ it 'is the last Tuesday of every month at 9:00am' do
1813
1839
  expect(n.occurrences).to match_array [
1814
- Nickel::Occurrence.new(type: :daymonthly, start_date: Nickel::ZDate.new("20081230"), start_time: Nickel::ZTime.new("09"), interval: 1, week_of_month: -1, day_of_week: 1)
1840
+ Nickel::Occurrence.new(type: :daymonthly, start_date: Nickel::ZDate.new('20081230'), start_time: Nickel::ZTime.new('09'), interval: 1, week_of_month: -1, day_of_week: 1)
1815
1841
  ]
1816
1842
  end
1817
1843
  end
1818
1844
  end
1819
1845
 
1820
1846
  context "when the query is 'one week from today'" do
1821
- let(:query) { "one week from today" }
1847
+ let(:query) { 'one week from today' }
1822
1848
  let(:run_date) { Time.local(2008, 12, 30) }
1823
1849
 
1824
- describe "#occurrences" do
1825
- it "is one week from today" do
1850
+ describe '#occurrences' do
1851
+ it 'is one week from today' do
1826
1852
  expect(n.occurrences).to match_array [
1827
- Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new("20090106"))
1853
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20090106'))
1828
1854
  ]
1829
1855
  end
1830
1856
  end
1831
1857
  end
1832
1858
 
1833
1859
  context "when the query is 'every other day at 2:45am'" do
1834
- let(:query) { "every other day at 2:45am" }
1860
+ let(:query) { 'every other day at 2:45am' }
1835
1861
  let(:run_date) { Time.local(2008, 12, 30) }
1836
1862
 
1837
- describe "#occurrences" do
1838
- it "is every other day at 2:45am" do
1863
+ describe '#occurrences' do
1864
+ it 'is every other day at 2:45am' do
1839
1865
  expect(n.occurrences).to match_array [
1840
- Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new("20081230"), start_time: Nickel::ZTime.new("0245"),interval: 2)
1866
+ Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new('20081230'), start_time: Nickel::ZTime.new('0245'), interval: 2)
1841
1867
  ]
1842
1868
  end
1843
1869
  end
1844
1870
  end
1845
1871
 
1846
1872
  context "when the query is 'every other day at 2:45am starting tomorrow'" do
1847
- let(:query) { "every other day at 2:45am starting tomorrow" }
1873
+ let(:query) { 'every other day at 2:45am starting tomorrow' }
1848
1874
  let(:run_date) { Time.local(2008, 12, 30) }
1849
1875
 
1850
- describe "#occurrences" do
1851
- it "is every other day at 2:45am starting from tomorrow" do
1876
+ describe '#occurrences' do
1877
+ it 'is every other day at 2:45am starting from tomorrow' do
1852
1878
  expect(n.occurrences).to match_array [
1853
- Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new("20081231"), start_time: Nickel::ZTime.new("0245"), interval: 2)
1879
+ Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new('20081231'), start_time: Nickel::ZTime.new('0245'), interval: 2)
1854
1880
  ]
1855
1881
  end
1856
1882
  end
1883
+
1884
+ context "when the query is 'every third monday starting on this monday'" do
1885
+ let(:query) { 'every third monday starting on this monday' }
1886
+ let(:run_date) { Time.local(2014, 2, 14) }
1887
+
1888
+ describe '#occurrences' do
1889
+ it 'is every third monday starting from the following monday' do
1890
+ expect(n.occurrences).to match_array [
1891
+ Nickel::Occurrence.new(type: :weekly, start_date: Nickel::ZDate.new('20140217'), interval: 3, day_of_week: 0)
1892
+ ]
1893
+ end
1894
+ end
1895
+ end
1896
+
1897
+ context "when the query is 'every third day starting today'" do
1898
+ let(:query) { 'every third day starting today' }
1899
+ let(:run_date) { Time.local(2014, 2, 14) }
1900
+
1901
+ describe '#occurrences' do
1902
+ it 'is every third day starting from today' do
1903
+ expect(n.occurrences).to match_array [
1904
+ Nickel::Occurrence.new(type: :daily, start_date: Nickel::ZDate.new('20140214'), interval: 3)
1905
+ ]
1906
+ end
1907
+ end
1908
+ end
1909
+
1910
+ context "when the query is 'the last monday of each month for six months'" do
1911
+ let(:query) { 'the last monday of each month for six months' }
1912
+ let(:run_date) { Time.local(2014, 2, 12) }
1913
+
1914
+ describe '#occurrences' do
1915
+ it 'is the last monday of every month for the next six months' do
1916
+ expect(n.occurrences).to match_array [
1917
+ Nickel::Occurrence.new(type: :daymonthly, interval: 1, day_of_week: 0, week_of_month: -1, start_date: Nickel::ZDate.new('20140224'), end_date: Nickel::ZDate.new('20140812'))
1918
+ ]
1919
+ end
1920
+ end
1921
+ end
1922
+
1923
+ context "when the query is '2 weeks from yesterday'" do
1924
+ let(:query) { '2 weeks from yesterday' }
1925
+ let(:run_date) { Time.local(2014, 2, 12) }
1926
+
1927
+ describe '#occurrences' do
1928
+ it 'is 13 days from today' do
1929
+ expect(n.occurrences).to match_array [
1930
+ Nickel::Occurrence.new(type: :single, start_date: Nickel::ZDate.new('20140225'))
1931
+ ]
1932
+ end
1933
+ end
1934
+ end
1857
1935
  end
1858
1936
  end
1859
1937
  end