chronic 0.9.0 → 0.10.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.
Files changed (45) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +4 -4
  3. data/.travis.yml +8 -0
  4. data/HISTORY.md +27 -0
  5. data/README.md +8 -0
  6. data/Rakefile +28 -8
  7. data/chronic.gemspec +8 -5
  8. data/lib/chronic/date.rb +82 -0
  9. data/lib/chronic/handler.rb +34 -25
  10. data/lib/chronic/handlers.rb +37 -9
  11. data/lib/chronic/numerizer.rb +11 -2
  12. data/lib/chronic/ordinal.rb +22 -20
  13. data/lib/chronic/parser.rb +33 -25
  14. data/lib/chronic/repeater.rb +18 -18
  15. data/lib/chronic/repeaters/repeater_day.rb +4 -3
  16. data/lib/chronic/repeaters/repeater_day_name.rb +5 -4
  17. data/lib/chronic/repeaters/repeater_day_portion.rb +4 -3
  18. data/lib/chronic/repeaters/repeater_fortnight.rb +4 -3
  19. data/lib/chronic/repeaters/repeater_hour.rb +4 -3
  20. data/lib/chronic/repeaters/repeater_minute.rb +4 -3
  21. data/lib/chronic/repeaters/repeater_month.rb +5 -4
  22. data/lib/chronic/repeaters/repeater_month_name.rb +4 -3
  23. data/lib/chronic/repeaters/repeater_season.rb +5 -3
  24. data/lib/chronic/repeaters/repeater_second.rb +4 -3
  25. data/lib/chronic/repeaters/repeater_time.rb +35 -25
  26. data/lib/chronic/repeaters/repeater_week.rb +4 -3
  27. data/lib/chronic/repeaters/repeater_weekday.rb +4 -3
  28. data/lib/chronic/repeaters/repeater_weekend.rb +4 -3
  29. data/lib/chronic/repeaters/repeater_year.rb +5 -4
  30. data/lib/chronic/scalar.rb +34 -69
  31. data/lib/chronic/separator.rb +107 -8
  32. data/lib/chronic/sign.rb +49 -0
  33. data/lib/chronic/span.rb +2 -2
  34. data/lib/chronic/tag.rb +5 -4
  35. data/lib/chronic/time.rb +40 -0
  36. data/lib/chronic/token.rb +4 -0
  37. data/lib/chronic.rb +16 -11
  38. data/test/helper.rb +2 -2
  39. data/test/test_chronic.rb +55 -4
  40. data/test/test_handler.rb +20 -0
  41. data/test/test_numerizer.rb +14 -0
  42. data/test/test_parsing.rb +91 -1
  43. data/test/test_repeater_time.rb +18 -0
  44. data/test/test_span.rb +1 -1
  45. metadata +46 -20
@@ -7,6 +7,12 @@ class TestRepeaterTime < TestCase
7
7
  @now = Time.local(2006, 8, 16, 14, 0, 0, 0)
8
8
  end
9
9
 
10
+ def test_generic
11
+ assert_raises(ArgumentError) do
12
+ Chronic::RepeaterTime.new('00:01:02:03:004')
13
+ end
14
+ end
15
+
10
16
  def test_next_future
11
17
  t = Chronic::RepeaterTime.new('4:00')
12
18
  t.start = @now
@@ -25,6 +31,12 @@ class TestRepeaterTime < TestCase
25
31
 
26
32
  assert_equal Time.local(2006, 8, 17, 4), t.next(:future).begin
27
33
  assert_equal Time.local(2006, 8, 18, 4), t.next(:future).begin
34
+
35
+ t = Chronic::RepeaterTime.new('0000')
36
+ t.start = @now
37
+
38
+ assert_equal Time.local(2006, 8, 17, 0), t.next(:future).begin
39
+ assert_equal Time.local(2006, 8, 18, 0), t.next(:future).begin
28
40
  end
29
41
 
30
42
  def test_next_past
@@ -39,6 +51,12 @@ class TestRepeaterTime < TestCase
39
51
 
40
52
  assert_equal Time.local(2006, 8, 16, 13), t.next(:past).begin
41
53
  assert_equal Time.local(2006, 8, 15, 13), t.next(:past).begin
54
+
55
+ t = Chronic::RepeaterTime.new('0:00.000')
56
+ t.start = @now
57
+
58
+ assert_equal Time.local(2006, 8, 16, 0), t.next(:past).begin
59
+ assert_equal Time.local(2006, 8, 15, 0), t.next(:past).begin
42
60
  end
43
61
 
44
62
  def test_type
data/test/test_span.rb CHANGED
@@ -9,7 +9,7 @@ class TestSpan < TestCase
9
9
 
10
10
  def test_span_width
11
11
  span = Chronic::Span.new(Time.local(2006, 8, 16, 0), Time.local(2006, 8, 17, 0))
12
- assert_equal (60 * 60 * 24), span.width
12
+ assert_equal((60 * 60 * 24), span.width)
13
13
  end
14
14
 
15
15
  def test_span_math
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chronic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
5
- prerelease:
4
+ version: 0.10.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Tom Preston-Werner
@@ -10,44 +9,68 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2012-12-21 00:00:00.000000000 Z
12
+ date: 2013-09-09 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: rake
17
16
  requirement: !ruby/object:Gem::Requirement
18
- none: false
19
17
  requirements:
20
- - - ! '>='
18
+ - - '>='
21
19
  - !ruby/object:Gem::Version
22
20
  version: '0'
23
21
  type: :development
24
22
  prerelease: false
25
23
  version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
24
  requirements:
28
- - - ! '>='
25
+ - - '>='
26
+ - !ruby/object:Gem::Version
27
+ version: '0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: simplecov
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - '>='
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - '>='
29
40
  - !ruby/object:Gem::Version
30
41
  version: '0'
31
42
  - !ruby/object:Gem::Dependency
32
43
  name: minitest
33
44
  requirement: !ruby/object:Gem::Requirement
34
- none: false
35
45
  requirements:
36
- - - ! '>='
46
+ - - ~>
47
+ - !ruby/object:Gem::Version
48
+ version: '5.0'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ~>
54
+ - !ruby/object:Gem::Version
55
+ version: '5.0'
56
+ - !ruby/object:Gem::Dependency
57
+ name: activesupport
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - '>='
37
61
  - !ruby/object:Gem::Version
38
62
  version: '0'
39
63
  type: :development
40
64
  prerelease: false
41
65
  version_requirements: !ruby/object:Gem::Requirement
42
- none: false
43
66
  requirements:
44
- - - ! '>='
67
+ - - '>='
45
68
  - !ruby/object:Gem::Version
46
69
  version: '0'
47
70
  description: Chronic is a natural language date/time parser written in pure Ruby.
48
71
  email:
49
72
  - tom@mojombo.com
50
- - lee@jarvis.co
73
+ - ljjarvis@gmail.com
51
74
  executables: []
52
75
  extensions: []
53
76
  extra_rdoc_files:
@@ -56,12 +79,14 @@ extra_rdoc_files:
56
79
  - LICENSE
57
80
  files:
58
81
  - .gitignore
82
+ - .travis.yml
59
83
  - HISTORY.md
60
84
  - LICENSE
61
85
  - README.md
62
86
  - Rakefile
63
87
  - chronic.gemspec
64
88
  - lib/chronic.rb
89
+ - lib/chronic/date.rb
65
90
  - lib/chronic/grabber.rb
66
91
  - lib/chronic/handler.rb
67
92
  - lib/chronic/handlers.rb
@@ -90,8 +115,10 @@ files:
90
115
  - lib/chronic/scalar.rb
91
116
  - lib/chronic/season.rb
92
117
  - lib/chronic/separator.rb
118
+ - lib/chronic/sign.rb
93
119
  - lib/chronic/span.rb
94
120
  - lib/chronic/tag.rb
121
+ - lib/chronic/time.rb
95
122
  - lib/chronic/time_zone.rb
96
123
  - lib/chronic/token.rb
97
124
  - test/helper.rb
@@ -117,29 +144,29 @@ files:
117
144
  - test/test_span.rb
118
145
  - test/test_token.rb
119
146
  homepage: http://github.com/mojombo/chronic
120
- licenses: []
147
+ licenses:
148
+ - MIT
149
+ metadata: {}
121
150
  post_install_message:
122
151
  rdoc_options:
123
152
  - --charset=UTF-8
124
153
  require_paths:
125
154
  - lib
126
155
  required_ruby_version: !ruby/object:Gem::Requirement
127
- none: false
128
156
  requirements:
129
- - - ! '>='
157
+ - - '>='
130
158
  - !ruby/object:Gem::Version
131
159
  version: '0'
132
160
  required_rubygems_version: !ruby/object:Gem::Requirement
133
- none: false
134
161
  requirements:
135
- - - ! '>='
162
+ - - '>='
136
163
  - !ruby/object:Gem::Version
137
164
  version: '0'
138
165
  requirements: []
139
166
  rubyforge_project: chronic
140
- rubygems_version: 1.8.23
167
+ rubygems_version: 2.0.2
141
168
  signing_key:
142
- specification_version: 3
169
+ specification_version: 4
143
170
  summary: Natural language date/time parsing.
144
171
  test_files:
145
172
  - test/helper.rb
@@ -164,4 +191,3 @@ test_files:
164
191
  - test/test_repeater_year.rb
165
192
  - test/test_span.rb
166
193
  - test/test_token.rb
167
- has_rdoc: