sixarm_ruby_week 1.1.4 → 1.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data.tar.gz.sig +0 -0
- data/README.md +120 -0
- data/lib/sixarm_ruby_week.rb +1 -1
- data/test/sixarm_ruby_week_test.rb +60 -65
- metadata +3 -6
- metadata.gz.sig +0 -0
- data/CHANGELOG.txt +0 -7
- data/INSTALL.txt +0 -32
- data/LICENSE.txt +0 -25
- data/README.rdoc +0 -46
data.tar.gz.sig
CHANGED
Binary file
|
data/README.md
ADDED
@@ -0,0 +1,120 @@
|
|
1
|
+
# SixArm.com » Ruby » <br> Week model based on Ruby Date
|
2
|
+
|
3
|
+
* Docs: <http://sixarm.com/sixarm_ruby_week/doc>
|
4
|
+
* Repo: <http://github.com/sixarm/sixarm_ruby_week>
|
5
|
+
* Email: Joel Parker Henderson, <joel@sixarm.com>
|
6
|
+
|
7
|
+
|
8
|
+
## Introduction
|
9
|
+
|
10
|
+
This gem models a week, based on the built-in Ruby Date class.
|
11
|
+
|
12
|
+
For docs go to <http://sixarm.com/sixarm_ruby_week/doc>
|
13
|
+
|
14
|
+
Want to help? We're happy to get pull requests.
|
15
|
+
|
16
|
+
|
17
|
+
## Quickstart
|
18
|
+
|
19
|
+
Install:
|
20
|
+
|
21
|
+
gem install sixarm_ruby_week
|
22
|
+
|
23
|
+
Bundler:
|
24
|
+
|
25
|
+
gem "sixarm_ruby_week", "=1.1.4"
|
26
|
+
|
27
|
+
Require:
|
28
|
+
|
29
|
+
require "sixarm_ruby_week"
|
30
|
+
|
31
|
+
|
32
|
+
## High Security (Optional)
|
33
|
+
|
34
|
+
To enable high security for all our gems:
|
35
|
+
|
36
|
+
wget http://sixarm.com/sixarm.pem
|
37
|
+
gem cert --add sixarm.pem
|
38
|
+
gem sources --add http://sixarm.com
|
39
|
+
|
40
|
+
To install with high security:
|
41
|
+
|
42
|
+
gem install sixarm_ruby_week --test --trust-policy HighSecurity
|
43
|
+
|
44
|
+
|
45
|
+
## Examples
|
46
|
+
|
47
|
+
Create:
|
48
|
+
|
49
|
+
date = Date.parse('2012-01-02')
|
50
|
+
week = Week.new(date)
|
51
|
+
week.to_s => '2012-01-02'
|
52
|
+
|
53
|
+
Parse:
|
54
|
+
|
55
|
+
week = Week.parse('2012-01-02')
|
56
|
+
week => 2012-01-02
|
57
|
+
|
58
|
+
Enumerable:
|
59
|
+
|
60
|
+
week.previous => 2011-12-26
|
61
|
+
week.next => 2012-01-16
|
62
|
+
|
63
|
+
Math:
|
64
|
+
|
65
|
+
week - 3 => 2011-12-12
|
66
|
+
week + 3 => 2012-01-24
|
67
|
+
|
68
|
+
Start & End Dates:
|
69
|
+
|
70
|
+
week.start_date => 2012-01-02
|
71
|
+
week.end_date => 2012-01-08
|
72
|
+
|
73
|
+
Range:
|
74
|
+
|
75
|
+
week.date_range => Range(2012-01-02..2012-01-08)
|
76
|
+
|
77
|
+
Collection:
|
78
|
+
|
79
|
+
date = Date.parse('2012-01-02')
|
80
|
+
week.include?(date) => true
|
81
|
+
week.include?(date+7) => false
|
82
|
+
|
83
|
+
|
84
|
+
## Changes
|
85
|
+
|
86
|
+
* 2012-03-16 1.1.6 Upgrade for Ruby 1.9.3, minitest/spec, and improved docs.
|
87
|
+
* 2012-03-12 1.1.4 Improve tests from test/unit style toward minitest/spec style
|
88
|
+
* 2012-03-11 1.1.2 Add #date_range method to return start_date..end_date
|
89
|
+
* 2012-03-10 1.1.1 Rename #includes? to #include? because it matches Ruby's Array include? method
|
90
|
+
* 2012-02-24 1.1.0 Add methods .now, #includes?, #previous, #next, #start_date, #end_date, and improve examples
|
91
|
+
* 2012-02-23 1.0.0 Updates for gem publishing
|
92
|
+
|
93
|
+
|
94
|
+
## License
|
95
|
+
|
96
|
+
You may choose any of these open source licenses:
|
97
|
+
|
98
|
+
* Apache License
|
99
|
+
* BSD License
|
100
|
+
* CreativeCommons License, Non-commercial Share Alike
|
101
|
+
* GNU General Public License Version 2 (GPL 2)
|
102
|
+
* GNU Lesser General Public License (LGPL)
|
103
|
+
* MIT License
|
104
|
+
* Perl Artistic License
|
105
|
+
* Ruby License
|
106
|
+
|
107
|
+
The software is provided "as is", without warranty of any kind,
|
108
|
+
express or implied, including but not limited to the warranties of
|
109
|
+
merchantability, fitness for a particular purpose and noninfringement.
|
110
|
+
|
111
|
+
In no event shall the authors or copyright holders be liable for any
|
112
|
+
claim, damages or other liability, whether in an action of contract,
|
113
|
+
tort or otherwise, arising from, out of or in connection with the
|
114
|
+
software or the use or other dealings in the software.
|
115
|
+
|
116
|
+
This license is for the included software that is created by SixArm;
|
117
|
+
some of the included software may have its own licenses, copyrights,
|
118
|
+
authors, etc. and these do take precedence over the SixArm license.
|
119
|
+
|
120
|
+
Copyright (c) 2013 Joel Parker Henderson
|
data/lib/sixarm_ruby_week.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
|
-
require 'test/unit'
|
3
2
|
require 'minitest/autorun'
|
4
3
|
require 'simplecov'
|
5
4
|
SimpleCov.start
|
@@ -18,9 +17,9 @@ describe Week do
|
|
18
17
|
describe ".initialize" do
|
19
18
|
|
20
19
|
it "must initialize the year, week, and day" do
|
21
|
-
|
22
|
-
|
23
|
-
|
20
|
+
WEEK.date.cwyear.must_equal 2012
|
21
|
+
WEEK.date.cweek.must_equal 1
|
22
|
+
WEEK.date.cwday.must_equal 1
|
24
23
|
end
|
25
24
|
|
26
25
|
end
|
@@ -28,11 +27,11 @@ describe Week do
|
|
28
27
|
describe "#date" do
|
29
28
|
|
30
29
|
it "=> Date" do
|
31
|
-
|
30
|
+
WEEK.date.must_be_kind_of Date
|
32
31
|
end
|
33
32
|
|
34
33
|
it "=> the date that initiazed the week" do
|
35
|
-
|
34
|
+
WEEK.date.must_equal DATE
|
36
35
|
end
|
37
36
|
|
38
37
|
end
|
@@ -40,11 +39,11 @@ describe Week do
|
|
40
39
|
describe "#to_s" do
|
41
40
|
|
42
41
|
it "=> String" do
|
43
|
-
|
42
|
+
WEEK.to_s.must_be_kind_of String
|
44
43
|
end
|
45
44
|
|
46
45
|
it "=> the week's date formatted as YYYY-MM-DD" do
|
47
|
-
|
46
|
+
WEEK.to_s.must_equal TEXT
|
48
47
|
end
|
49
48
|
|
50
49
|
end
|
@@ -52,11 +51,11 @@ describe Week do
|
|
52
51
|
describe ".now" do
|
53
52
|
|
54
53
|
it "=> Week" do
|
55
|
-
|
54
|
+
Week.now.must_be_kind_of Week
|
56
55
|
end
|
57
56
|
|
58
57
|
it "=> a week based on today's date" do
|
59
|
-
|
58
|
+
Week.now.date.must_equal Date.today
|
60
59
|
end
|
61
60
|
|
62
61
|
end
|
@@ -64,12 +63,12 @@ describe Week do
|
|
64
63
|
describe ".parse" do
|
65
64
|
|
66
65
|
it "=> Week" do
|
67
|
-
|
66
|
+
Week.parse(TEXT).must_be_kind_of Week
|
68
67
|
end
|
69
68
|
|
70
69
|
it "=> a week based on the date text" do
|
71
70
|
s = '2012-01-02'
|
72
|
-
|
71
|
+
Week.parse(s).date.must_equal Date.parse(s)
|
73
72
|
end
|
74
73
|
|
75
74
|
end
|
@@ -77,11 +76,11 @@ describe Week do
|
|
77
76
|
describe "#hash" do
|
78
77
|
|
79
78
|
it "=> Fixnum" do
|
80
|
-
|
79
|
+
WEEK.hash.must_be_kind_of Fixnum
|
81
80
|
end
|
82
81
|
|
83
82
|
it "=> the week's date's hash" do
|
84
|
-
|
83
|
+
WEEK.hash.must_equal WEEK.date.hash
|
85
84
|
end
|
86
85
|
|
87
86
|
end
|
@@ -113,15 +112,15 @@ describe Week do
|
|
113
112
|
describe "<=>" do
|
114
113
|
|
115
114
|
it "x<y => -1" do
|
116
|
-
|
115
|
+
(WEEK <=> WEEK_NEXT).must_equal -1
|
117
116
|
end
|
118
117
|
|
119
118
|
it "x=y => 0" do
|
120
|
-
|
119
|
+
(WEEK <=> WEEK).must_equal 0
|
121
120
|
end
|
122
121
|
|
123
122
|
it "x>y => 1" do
|
124
|
-
|
123
|
+
(WEEK <=> WEEK_PREV).must_equal 1
|
125
124
|
end
|
126
125
|
|
127
126
|
end
|
@@ -195,36 +194,34 @@ describe Week do
|
|
195
194
|
describe "with Numeric type" do
|
196
195
|
|
197
196
|
it "=> Week" do
|
198
|
-
|
197
|
+
(WEEK + 0).must_be_kind_of Week
|
199
198
|
end
|
200
199
|
|
201
200
|
it "+ 0 => this week" do
|
202
|
-
|
201
|
+
(WEEK + 0).must_equal WEEK
|
203
202
|
end
|
204
203
|
|
205
204
|
it "+ 1 => next week" do
|
206
|
-
|
205
|
+
(WEEK + 1).must_equal WEEK_NEXT
|
207
206
|
end
|
208
207
|
|
209
208
|
it "+ (-1) => previous week" do
|
210
|
-
|
209
|
+
(WEEK + (-1)).must_equal WEEK_PREV
|
211
210
|
end
|
212
211
|
|
213
212
|
it "+ any other number => different week" do
|
214
213
|
w = WEEK + 2
|
215
|
-
|
216
|
-
|
217
|
-
|
214
|
+
w.wont_equal WEEK_PREV
|
215
|
+
w.wont_equal WEEK
|
216
|
+
w.wont_equal WEEK_NEXT
|
218
217
|
end
|
219
218
|
|
220
219
|
end
|
221
220
|
|
222
221
|
describe "with bad type" do
|
223
222
|
|
224
|
-
it "
|
225
|
-
|
226
|
-
WEEK + "foo"
|
227
|
-
end
|
223
|
+
it "TypeError" do
|
224
|
+
proc { WEEK + "foo" }.must_raise TypeError
|
228
225
|
end
|
229
226
|
|
230
227
|
end
|
@@ -236,26 +233,26 @@ describe Week do
|
|
236
233
|
describe "with Numeric type" do
|
237
234
|
|
238
235
|
it "=> Week" do
|
239
|
-
|
236
|
+
(WEEK - 0).must_be_kind_of Week
|
240
237
|
end
|
241
238
|
|
242
239
|
it "- 0 => this week" do
|
243
|
-
|
240
|
+
(WEEK - 0).must_equal WEEK
|
244
241
|
end
|
245
242
|
|
246
243
|
it "- 1 => previous week" do
|
247
|
-
|
244
|
+
(WEEK - 1).must_equal WEEK_PREV
|
248
245
|
end
|
249
246
|
|
250
247
|
it "- (-1) => next week" do
|
251
|
-
|
248
|
+
(WEEK - (-1)).must_equal WEEK_NEXT
|
252
249
|
end
|
253
250
|
|
254
251
|
it "- any other number => different week" do
|
255
252
|
w = WEEK - 2
|
256
|
-
|
257
|
-
|
258
|
-
|
253
|
+
w.wont_equal WEEK_PREV
|
254
|
+
w.wont_equal WEEK
|
255
|
+
w.wont_equal WEEK_NEXT
|
259
256
|
end
|
260
257
|
|
261
258
|
end
|
@@ -263,29 +260,27 @@ describe Week do
|
|
263
260
|
describe "with Week type" do
|
264
261
|
|
265
262
|
it "=> Integer" do
|
266
|
-
|
263
|
+
(WEEK - WEEK).must_be_kind_of Integer
|
267
264
|
end
|
268
265
|
|
269
266
|
it "this week - previous week => 1" do
|
270
|
-
|
267
|
+
(WEEK - WEEK_PREV).must_equal 1
|
271
268
|
end
|
272
269
|
|
273
270
|
it "this week - this week => 0" do
|
274
|
-
|
271
|
+
(WEEK - WEEK).must_equal 0
|
275
272
|
end
|
276
273
|
|
277
274
|
it "this week - next week => -1" do
|
278
|
-
|
275
|
+
(WEEK - WEEK_NEXT).must_equal -1
|
279
276
|
end
|
280
277
|
|
281
278
|
end
|
282
279
|
|
283
280
|
describe "with bad type" do
|
284
281
|
|
285
|
-
it "
|
286
|
-
|
287
|
-
WEEK - "foo"
|
288
|
-
end
|
282
|
+
it "TypeError" do
|
283
|
+
proc { WEEK - "foo" }.must_raise TypeError
|
289
284
|
end
|
290
285
|
|
291
286
|
end
|
@@ -295,11 +290,11 @@ describe Week do
|
|
295
290
|
describe "#previous" do
|
296
291
|
|
297
292
|
it "=> Week" do
|
298
|
-
|
293
|
+
WEEK.previous.must_be_kind_of Week
|
299
294
|
end
|
300
295
|
|
301
296
|
it "=> a week seven days earlier" do
|
302
|
-
|
297
|
+
Week.new(DATE).previous.must_equal Week.new(DATE-7)
|
303
298
|
end
|
304
299
|
|
305
300
|
end
|
@@ -307,11 +302,11 @@ describe Week do
|
|
307
302
|
describe "#next" do
|
308
303
|
|
309
304
|
it "=> Week" do
|
310
|
-
|
305
|
+
(WEEK.next).must_be_kind_of Week
|
311
306
|
end
|
312
307
|
|
313
308
|
it "=> a week seven days later" do
|
314
|
-
|
309
|
+
Week.new(DATE).next.must_equal Week.new(DATE+7)
|
315
310
|
end
|
316
311
|
|
317
312
|
end
|
@@ -319,11 +314,11 @@ describe Week do
|
|
319
314
|
describe "#start_date" do
|
320
315
|
|
321
316
|
it "=> Date" do
|
322
|
-
|
317
|
+
WEEK.start_date.must_be_kind_of Date
|
323
318
|
end
|
324
319
|
|
325
320
|
it "=> the initialzation date" do
|
326
|
-
|
321
|
+
WEEK.start_date.must_equal DATE
|
327
322
|
end
|
328
323
|
|
329
324
|
end
|
@@ -331,11 +326,11 @@ describe Week do
|
|
331
326
|
describe "#end_date" do
|
332
327
|
|
333
328
|
it "=> Date" do
|
334
|
-
|
329
|
+
WEEK.end_date.must_be_kind_of Date
|
335
330
|
end
|
336
331
|
|
337
332
|
it "=> six days after the initialization date" do
|
338
|
-
|
333
|
+
WEEK.end_date.must_equal DATE + 6
|
339
334
|
end
|
340
335
|
|
341
336
|
end
|
@@ -343,15 +338,15 @@ describe Week do
|
|
343
338
|
describe "#date_range" do
|
344
339
|
|
345
340
|
it "=> Range" do
|
346
|
-
|
341
|
+
WEEK.date_range.must_be_kind_of Range
|
347
342
|
end
|
348
343
|
|
349
344
|
it "=> Range first is the start date" do
|
350
|
-
|
345
|
+
WEEK.date_range.first.must_equal WEEK.start_date
|
351
346
|
end
|
352
347
|
|
353
348
|
it "=> Range last is the end date" do
|
354
|
-
|
349
|
+
WEEK.date_range.last.must_equal WEEK.end_date
|
355
350
|
end
|
356
351
|
|
357
352
|
end
|
@@ -359,23 +354,23 @@ describe Week do
|
|
359
354
|
describe "#include?" do
|
360
355
|
|
361
356
|
it "all days in this week => true" do
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
357
|
+
WEEK.must_include DATE+0
|
358
|
+
WEEK.must_include DATE+1
|
359
|
+
WEEK.must_include DATE+2
|
360
|
+
WEEK.must_include DATE+3
|
361
|
+
WEEK.must_include DATE+4
|
362
|
+
WEEK.must_include DATE+5
|
363
|
+
WEEK.must_include DATE+6
|
369
364
|
end
|
370
365
|
|
371
366
|
it "any day before this week => false" do
|
372
|
-
|
373
|
-
|
367
|
+
WEEK.wont_include DATE-1
|
368
|
+
WEEK.wont_include DATE-999
|
374
369
|
end
|
375
370
|
|
376
371
|
it "any day after this week => false" do
|
377
|
-
|
378
|
-
|
372
|
+
WEEK.wont_include DATE+7
|
373
|
+
WEEK.wont_include DATE+999
|
379
374
|
end
|
380
375
|
|
381
376
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sixarm_ruby_week
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -35,7 +35,7 @@ cert_chain:
|
|
35
35
|
L2RORkllUkVIekVSClpEUlFZTXFydTlURU1uYTZIRDl6cGNzdEY3dndUaEdv
|
36
36
|
dmxPUSszWTZwbFE0bk16aXBYY1o5VEhxczY1UElMMHEKZWFid3BDYkFvcG89
|
37
37
|
Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
|
38
|
-
date: 2012-03-
|
38
|
+
date: 2012-03-16 00:00:00.000000000 Z
|
39
39
|
dependencies: []
|
40
40
|
description:
|
41
41
|
email: sixarm@sixarm.com
|
@@ -44,11 +44,8 @@ extensions: []
|
|
44
44
|
extra_rdoc_files: []
|
45
45
|
files:
|
46
46
|
- .gemtest
|
47
|
-
- CHANGELOG.txt
|
48
|
-
- INSTALL.txt
|
49
|
-
- LICENSE.txt
|
50
47
|
- Rakefile
|
51
|
-
- README.
|
48
|
+
- README.md
|
52
49
|
- VERSION
|
53
50
|
- lib/sixarm_ruby_week.rb
|
54
51
|
- test/sixarm_ruby_week_test.rb
|
metadata.gz.sig
CHANGED
Binary file
|
data/CHANGELOG.txt
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
CHANGELOG
|
2
|
-
|
3
|
-
2012-03-12 1.1.4 Improve tests from test/unit style toward minitest/spec style
|
4
|
-
2012-03-11 1.1.2 Add #date_range method to return start_date..end_date
|
5
|
-
2012-03-10 1.1.1 Rename #includes? to #include? because it matches Ruby's Array include? method
|
6
|
-
2012-02-24 1.1.0 Add methods .now, #includes?, #previous, #next, #start_date, #end_date, and improve examples
|
7
|
-
2012-02-23 1.0.0 Updates for gem publishing
|
data/INSTALL.txt
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
|
2
|
-
= SixArm.com Ruby Gem Install
|
3
|
-
|
4
|
-
|
5
|
-
First-time users: add our gem certificate and source.
|
6
|
-
When you do this once, it works for all our gems.
|
7
|
-
|
8
|
-
sudo wget http://sixarm.com/sixarm.pem
|
9
|
-
sudo gem cert --add sixarm.pem
|
10
|
-
sudo gem sources --add http://sixarm.com
|
11
|
-
|
12
|
-
Install the gem with advanced options.
|
13
|
-
|
14
|
-
sudo gem install sixarm_ruby_week --test --trust-policy HighSecurity
|
15
|
-
|
16
|
-
|
17
|
-
== Notes
|
18
|
-
|
19
|
-
Do you have any questions, comments, suggestions, or feedback?
|
20
|
-
Let us know, we're happy to help. Our email is sixarm@sixarm.com
|
21
|
-
|
22
|
-
Do you want to create your own high security gems?
|
23
|
-
Learn how at http://www.rubygems.org/read/chapter/21
|
24
|
-
|
25
|
-
To see your current gem certificate list:
|
26
|
-
|
27
|
-
sudo gem cert --list
|
28
|
-
|
29
|
-
Our cert looks like this:
|
30
|
-
|
31
|
-
/C=US/ST=California/L=San Francisco/O=SixArm/CN=sixarm.com
|
32
|
-
|
data/LICENSE.txt
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
LICENSE
|
2
|
-
|
3
|
-
You may choose any of these open source licenses:
|
4
|
-
|
5
|
-
- Apache License
|
6
|
-
- BSD License
|
7
|
-
- CreativeCommons License, Non-commercial Share Alike
|
8
|
-
- GNU General Public License Version 2 (GPL 2)
|
9
|
-
- GNU Lesser General Public License (LGPL)
|
10
|
-
- MIT License
|
11
|
-
- Perl Artistic License
|
12
|
-
- Ruby License
|
13
|
-
|
14
|
-
The software is provided "as is", without warranty of any kind,
|
15
|
-
express or implied, including but not limited to the warranties of
|
16
|
-
merchantability, fitness for a particular purpose and noninfringement.
|
17
|
-
|
18
|
-
In no event shall the authors or copyright holders be liable for any
|
19
|
-
claim, damages or other liability, whether in an action of contract,
|
20
|
-
tort or otherwise, arising from, out of or in connection with the
|
21
|
-
software or the use or other dealings in the software.
|
22
|
-
|
23
|
-
This license is for the included software that is created by SixArm;
|
24
|
-
some of the included software may have its own licenses, copyrights,
|
25
|
-
authors, etc. and these do take precedence over the SixArm license.
|
data/README.rdoc
DELETED
@@ -1,46 +0,0 @@
|
|
1
|
-
= SixArm.com » Ruby » Week model based on Ruby Date
|
2
|
-
|
3
|
-
Author:: Joel Parker Henderson, joel@joelparkerhenderson.com
|
4
|
-
Copyright:: Copyright (c) 2006-2012 Joel Parker Henderson
|
5
|
-
License:: See LICENSE.txt file
|
6
|
-
|
7
|
-
This gem models a week, based on the built-in Ruby Date class.
|
8
|
-
|
9
|
-
== Examples
|
10
|
-
|
11
|
-
|
12
|
-
Initialize:
|
13
|
-
|
14
|
-
date = Date.parse('2012-01-02')
|
15
|
-
week = Week.new(date)
|
16
|
-
week.to_s => '2012-01-02'
|
17
|
-
|
18
|
-
Parse:
|
19
|
-
|
20
|
-
week = Week.parse('2012-01-02')
|
21
|
-
week => 2012-01-02
|
22
|
-
|
23
|
-
Enumerable:
|
24
|
-
|
25
|
-
week.previous => 2011-12-26
|
26
|
-
week.next => 2012-01-16
|
27
|
-
|
28
|
-
Math:
|
29
|
-
|
30
|
-
week - 3 => 2011-12-12
|
31
|
-
week + 3 => 2012-01-24
|
32
|
-
|
33
|
-
Start & End Dates:
|
34
|
-
|
35
|
-
week.start_date => 2012-01-02
|
36
|
-
week.end_date => 2012-01-08
|
37
|
-
|
38
|
-
Range:
|
39
|
-
|
40
|
-
week.date_range => Range(2012-01-02..2012-01-08)
|
41
|
-
|
42
|
-
Collection:
|
43
|
-
|
44
|
-
date = Date.parse('2012-01-02')
|
45
|
-
week.include?(date) => true
|
46
|
-
week.include?(date+7) => false
|