jdl-chronic 0.3.0.1 → 0.3.0.2
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/lib/chronic/repeaters/repeater_time.rb +8 -1
- data/test/test_RepeaterDayName.rb +17 -0
- data/test/test_parsing.rb +8 -0
- metadata +22 -10
@@ -63,11 +63,18 @@ class Chronic::RepeaterTime < Chronic::Repeater #:nodoc:
|
|
63
63
|
|
64
64
|
unless @current_time
|
65
65
|
first = true
|
66
|
+
|
67
|
+
# midnight = DateTime.new(y=@now.year, m=@now.month, d=@now.day)
|
68
|
+
# yesterday_midnight = midnight - 1
|
69
|
+
# tomorrow_midnight = midnight + 1
|
70
|
+
# offset_fix = midnight.gmt_offset - tomorrow_midnight.gmt_offset
|
71
|
+
#
|
72
|
+
#
|
66
73
|
midnight = Chronic.time_class.local(@now.year, @now.month, @now.day)
|
67
74
|
|
68
75
|
yesterday_midnight = midnight - full_day
|
69
76
|
tomorrow_midnight = midnight + full_day
|
70
|
-
|
77
|
+
|
71
78
|
offset_fix = midnight.gmt_offset - tomorrow_midnight.gmt_offset
|
72
79
|
tomorrow_midnight += offset_fix
|
73
80
|
|
@@ -49,4 +49,21 @@ class TestRepeaterDayName < Test::Unit::TestCase
|
|
49
49
|
assert_equal Time.local(2006, 8, 8), span.end
|
50
50
|
end
|
51
51
|
|
52
|
+
def test_next_past_across_dst_boundary
|
53
|
+
@now = Time.local(2009, 3, 10, 0, 0, 0, 0)
|
54
|
+
wednesdays = Chronic::RepeaterDayName.new(:wednesday)
|
55
|
+
wednesdays.start = @now
|
56
|
+
|
57
|
+
span = wednesdays.next(:past)
|
58
|
+
|
59
|
+
assert_equal Time.local(2009, 3, 4), span.begin
|
60
|
+
assert_equal Time.local(2009, 3, 5), span.end
|
61
|
+
|
62
|
+
span = wednesdays.next(:past)
|
63
|
+
|
64
|
+
assert_equal Time.local(2009, 2, 25), span.begin
|
65
|
+
assert_equal Time.local(2009, 2, 26), span.end
|
66
|
+
end
|
67
|
+
|
68
|
+
|
52
69
|
end
|
data/test/test_parsing.rb
CHANGED
@@ -704,6 +704,14 @@ class TestParsing < Test::Unit::TestCase
|
|
704
704
|
# assert_equal Time.local(2007, 11, 5, 11), t1
|
705
705
|
end
|
706
706
|
|
707
|
+
# Testing a bug where asking for "yesterday" at a specific time on the day after
|
708
|
+
# Daylight Saving Time starts results in nil being returned.
|
709
|
+
def test_yesterday_is_dst
|
710
|
+
t1 = Chronic.parse("yesterday", :now => Date.parse('03/09/2009'))
|
711
|
+
assert_equal Time.local(2009, 3, 8, 0), t1
|
712
|
+
end
|
713
|
+
|
714
|
+
|
707
715
|
private
|
708
716
|
def parse_now(string, options={})
|
709
717
|
Chronic.parse(string, {:now => TIME_2006_08_16_14_00_00 }.merge(options))
|
metadata
CHANGED
@@ -1,15 +1,22 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jdl-chronic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 83
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 3
|
9
|
+
- 0
|
10
|
+
- 2
|
11
|
+
version: 0.3.0.2
|
5
12
|
platform: ruby
|
6
13
|
authors:
|
7
|
-
- Tom Preston-Werner
|
14
|
+
- Tom Preston-Werner (modified with DST bug fixes by JDL)
|
8
15
|
autorequire: chronic
|
9
16
|
bindir: bin
|
10
17
|
cert_chain: []
|
11
18
|
|
12
|
-
date:
|
19
|
+
date: 2010-12-01 00:00:00 -06:00
|
13
20
|
default_executable:
|
14
21
|
dependencies: []
|
15
22
|
|
@@ -22,14 +29,12 @@ extensions: []
|
|
22
29
|
extra_rdoc_files:
|
23
30
|
- README
|
24
31
|
files:
|
25
|
-
- lib/chronic
|
26
32
|
- lib/chronic/chronic.rb
|
27
33
|
- lib/chronic/grabber.rb
|
28
34
|
- lib/chronic/handlers.rb
|
29
35
|
- lib/chronic/ordinal.rb
|
30
36
|
- lib/chronic/pointer.rb
|
31
37
|
- lib/chronic/repeater.rb
|
32
|
-
- lib/chronic/repeaters
|
33
38
|
- lib/chronic/repeaters/repeater_day.rb
|
34
39
|
- lib/chronic/repeaters/repeater_day_name.rb
|
35
40
|
- lib/chronic/repeaters/repeater_day_portion.rb
|
@@ -50,7 +55,6 @@ files:
|
|
50
55
|
- lib/chronic/separator.rb
|
51
56
|
- lib/chronic/time_zone.rb
|
52
57
|
- lib/chronic.rb
|
53
|
-
- lib/numerizer
|
54
58
|
- lib/numerizer/numerizer.rb
|
55
59
|
- test/suite.rb
|
56
60
|
- test/test_Chronic.rb
|
@@ -73,6 +77,8 @@ files:
|
|
73
77
|
- README
|
74
78
|
has_rdoc: true
|
75
79
|
homepage: http://chronic.rubyforge.org
|
80
|
+
licenses: []
|
81
|
+
|
76
82
|
post_install_message:
|
77
83
|
rdoc_options:
|
78
84
|
- --main
|
@@ -80,23 +86,29 @@ rdoc_options:
|
|
80
86
|
require_paths:
|
81
87
|
- lib
|
82
88
|
required_ruby_version: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
83
90
|
requirements:
|
84
91
|
- - ">="
|
85
92
|
- !ruby/object:Gem::Version
|
93
|
+
hash: 3
|
94
|
+
segments:
|
95
|
+
- 0
|
86
96
|
version: "0"
|
87
|
-
version:
|
88
97
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
98
|
+
none: false
|
89
99
|
requirements:
|
90
100
|
- - ">="
|
91
101
|
- !ruby/object:Gem::Version
|
102
|
+
hash: 3
|
103
|
+
segments:
|
104
|
+
- 0
|
92
105
|
version: "0"
|
93
|
-
version:
|
94
106
|
requirements: []
|
95
107
|
|
96
108
|
rubyforge_project:
|
97
|
-
rubygems_version: 1.
|
109
|
+
rubygems_version: 1.3.7
|
98
110
|
signing_key:
|
99
|
-
specification_version:
|
111
|
+
specification_version: 3
|
100
112
|
summary: A natural language date parser with timezone support
|
101
113
|
test_files:
|
102
114
|
- test/suite.rb
|