chronic 0.6.1 → 0.6.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/HISTORY.md CHANGED
@@ -1,3 +1,8 @@
1
+ # 0.6.2 / 2011-07-28
2
+
3
+ * Ensure specific endian handlers are prioritised over normal date handlers
4
+ * Recognize UTC as timezone and accept HH::MM timezone offset (Jason Dusek)
5
+
1
6
  # 0.6.1 / 2011-07-21
2
7
 
3
8
  * Ensure Handler definitions are executed in the correct order
@@ -28,7 +28,7 @@ require 'date'
28
28
  #
29
29
  # @author Tom Preston-Werner, Lee Jarvis
30
30
  module Chronic
31
- VERSION = "0.6.1"
31
+ VERSION = "0.6.2"
32
32
 
33
33
  class << self
34
34
 
@@ -284,7 +284,7 @@ module Chronic
284
284
  def tokens_to_span(tokens, options)
285
285
  definitions = definitions(options)
286
286
 
287
- (definitions[:date] + definitions[:endian]).each do |handler|
287
+ (definitions[:endian] + definitions[:date]).each do |handler|
288
288
  if handler.match(tokens, definitions)
289
289
  good_tokens = tokens.select { |o| !o.get_tag Separator }
290
290
  return handler.invoke(:date, good_tokens, options)
@@ -18,8 +18,8 @@ module Chronic
18
18
  def self.scan_for_all(token)
19
19
  scan_for token, self,
20
20
  {
21
- /[PMCE][DS]T/i => :tz,
22
- /(tzminus)?\d{4}/ => :tz
21
+ /[PMCE][DS]T|UTC/i => :tz,
22
+ /(tzminus)?\d{2}:?\d{2}/ => :tz
23
23
  }
24
24
  end
25
25
 
@@ -109,6 +109,12 @@ class TestParsing < Test::Unit::TestCase
109
109
  def test_handle_sy_sm_sd_t_tz
110
110
  time = parse_now("2011-07-03 22:11:35 +0100")
111
111
  assert_equal 1309727495, time.to_i
112
+
113
+ time = parse_now("2011-07-03 22:11:35 +01:00")
114
+ assert_equal 1309727495, time.to_i
115
+
116
+ time = parse_now("2011-07-03 21:11:35 UTC")
117
+ assert_equal 1309727495, time.to_i
112
118
  end
113
119
 
114
120
  def test_handle_rmn_sd_sy
@@ -210,6 +216,12 @@ class TestParsing < Test::Unit::TestCase
210
216
  time = parse_now("5/27/1979 4am")
211
217
  assert_equal Time.local(1979, 5, 27, 4), time
212
218
 
219
+ time = parse_now("7/12/11")
220
+ assert_equal Time.local(2011, 7, 12, 12), time
221
+
222
+ time = parse_now("7/12/11", :endian_precedence => :little)
223
+ assert_equal Time.local(2011, 12, 7, 12), time
224
+
213
225
  # month day overflows
214
226
  time = parse_now("30/2/2000")
215
227
  assert_nil time
metadata CHANGED
@@ -1,29 +1,38 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: chronic
3
- version: !ruby/object:Gem::Version
4
- version: 0.6.1
5
- prerelease:
3
+ version: !ruby/object:Gem::Version
4
+ hash: 3
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 6
9
+ - 2
10
+ version: 0.6.2
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Tom Preston-Werner
9
14
  - Lee Jarvis
10
15
  autorequire:
11
16
  bindir: bin
12
17
  cert_chain: []
13
- date: 2011-07-21 00:00:00.000000000 +01:00
18
+
19
+ date: 2011-07-28 00:00:00 +01:00
14
20
  default_executable:
15
21
  dependencies: []
22
+
16
23
  description: Chronic is a natural language date/time parser written in pure Ruby.
17
- email:
24
+ email:
18
25
  - tom@mojombo.com
19
26
  - lee@jarvis.co
20
27
  executables: []
28
+
21
29
  extensions: []
22
- extra_rdoc_files:
30
+
31
+ extra_rdoc_files:
23
32
  - README.md
24
33
  - HISTORY.md
25
34
  - LICENSE
26
- files:
35
+ files:
27
36
  - .gemtest
28
37
  - .gitignore
29
38
  - .yardopts
@@ -89,30 +98,38 @@ files:
89
98
  has_rdoc: true
90
99
  homepage: http://github.com/mojombo/chronic
91
100
  licenses: []
101
+
92
102
  post_install_message:
93
- rdoc_options:
103
+ rdoc_options:
94
104
  - --charset=UTF-8
95
- require_paths:
105
+ require_paths:
96
106
  - lib
97
- required_ruby_version: !ruby/object:Gem::Requirement
107
+ required_ruby_version: !ruby/object:Gem::Requirement
98
108
  none: false
99
- requirements:
100
- - - ! '>='
101
- - !ruby/object:Gem::Version
102
- version: '0'
103
- required_rubygems_version: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ hash: 3
113
+ segments:
114
+ - 0
115
+ version: "0"
116
+ required_rubygems_version: !ruby/object:Gem::Requirement
104
117
  none: false
105
- requirements:
106
- - - ! '>='
107
- - !ruby/object:Gem::Version
108
- version: '0'
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ hash: 3
122
+ segments:
123
+ - 0
124
+ version: "0"
109
125
  requirements: []
126
+
110
127
  rubyforge_project: chronic
111
- rubygems_version: 1.6.2
128
+ rubygems_version: 1.3.7
112
129
  signing_key:
113
130
  specification_version: 3
114
131
  summary: Natural language date/time parsing.
115
- test_files:
132
+ test_files:
116
133
  - test/helper.rb
117
134
  - test/test_Chronic.rb
118
135
  - test/test_DaylightSavings.rb