medjool 0.6.0 → 0.7.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: a2a5ad6b65b1d605fa09dd79190ee80253676122
4
- data.tar.gz: 5c23b5ab9ed4f9742f23d7b1bcfd9cd233d4a4d3
2
+ SHA256:
3
+ metadata.gz: 3e849a9ee874d8112e2ee66c5428fc52d483a9517132b9ce5c781d762d687687
4
+ data.tar.gz: a35b502d072b296279bd0b1882a3d8a042e7c0ef7d9229af1d16ce4c540a94d8
5
5
  SHA512:
6
- metadata.gz: 50a32aec5bb0bc526b916b7210c987a2853bde5698eaba90c18da714d00be65dd05ddef710db31bb1fcced4947447a48dd89b7c8722ec47c29db8816c5945094
7
- data.tar.gz: 57afc158ea9759cc9820b5cfa66a3e729ed3deaceb539a91cf11299ce97cfc038a7297c2f510966e7aebdee9b4bb3b83973dd7640c13dba7ecabde9724022765
6
+ metadata.gz: 2882248b162c9e0d09332ea1fa10b1e3ac109c8b9e6fd34c72d9edbf7dd5bc876035a57f50d4f2a2f8839b3659d0d3917379baf8b24fa3143ba304f12aaf7450
7
+ data.tar.gz: a6948793120f4ee891e2dccd2bd759d01b4a265fa896d0bce3718fb90aeca798ffeda5bf7d3a767a575f33c08a5f77aaa7af112427b9a158779d41ef36970438
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.2.0
1
+ 2.5.8
data/Gemfile.lock CHANGED
@@ -8,7 +8,7 @@ GEM
8
8
  thread_safe (~> 0.3, >= 0.3.4)
9
9
  tzinfo (~> 1.1)
10
10
  i18n (0.7.0)
11
- json (1.8.3)
11
+ json (1.8.6)
12
12
  minitest (5.9.1)
13
13
  rake (11.1.2)
14
14
  thread_safe (0.3.5)
@@ -25,4 +25,4 @@ DEPENDENCIES
25
25
  timecop (~> 0.6.3)
26
26
 
27
27
  BUNDLED WITH
28
- 1.12.5
28
+ 1.17.3
@@ -74,10 +74,22 @@ class Medjool::Parser
74
74
  end
75
75
  end
76
76
 
77
- unless @context[:now]
77
+ should_determine_ambiguity = false
78
+ if @context[:now]
79
+ should_determine_ambiguity = true
80
+ else
78
81
  # In the absence of context, always fall back on the default guess
79
82
  guess_date = base_date
80
- else
83
+
84
+ # Only exception for that is the special case where it's currently December,
85
+ # and "January" *obviouly* should mean January NEXT year not THIS year
86
+ if Date.today.month == 12 && guess_date < 10.months.ago
87
+ should_determine_ambiguity = true
88
+ @context[:now] = Date.today
89
+ end
90
+ end
91
+
92
+ if should_determine_ambiguity
81
93
  # Determine the ambiguity level for this data
82
94
  ambiguity = determine_ambiguity(text)
83
95
 
data/lib/medjool.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Medjool
2
- VERSION = '0.6.0'
2
+ VERSION = '0.7.0'
3
3
 
4
4
  require 'medjool/parser'
5
5
  require 'medjool/date_range'
data/test/test_medjool.rb CHANGED
@@ -2,6 +2,22 @@
2
2
 
3
3
  require 'helper'
4
4
 
5
+ class TestMedjoolInDecember < TestCase
6
+
7
+ def setup
8
+ # 23rd December 2013
9
+ Timecop.freeze("2022-12-23".to_date)
10
+ end
11
+
12
+ def teardown
13
+ Timecop.return
14
+ end
15
+
16
+ def test_january_date_in_december
17
+ assert_equal "2023-01-01".to_date, Medjool.parse("January 1st")
18
+ end
19
+ end
20
+
5
21
  class TestMedjool < TestCase
6
22
 
7
23
  def setup
@@ -17,7 +33,8 @@ class TestMedjool < TestCase
17
33
  @variations = ["*Monday", "1st July", "2nd July 2010", "1 July 2009", "Monday 2nd July 2009", "Monday 2nd", "Monday 2", "Monday 2 July",
18
34
  "Tue", "Tues", "tuesday", "Tuesday", "Wed", "Wednesday", "Thu", "Thur", "Thurs", "Thursday", "Fri", "Friday-"]
19
35
  @variations.each do |t|
20
- assert_equal Date.parse(t), Medjool.parse(t), "Error parsing '#{t}'"
36
+ stripped_date = t.sub(/[*-]/, "")
37
+ assert_equal Date.parse(stripped_date), Medjool.parse(t), "Error parsing '#{t}'"
21
38
  end
22
39
  end
23
40
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: medjool
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Geers
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-07 00:00:00.000000000 Z
11
+ date: 2022-12-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -81,7 +81,7 @@ homepage: http://github.com/andygeers/medjool
81
81
  licenses:
82
82
  - MIT
83
83
  metadata: {}
84
- post_install_message:
84
+ post_install_message:
85
85
  rdoc_options:
86
86
  - "--charset=UTF-8"
87
87
  require_paths:
@@ -97,9 +97,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
97
97
  - !ruby/object:Gem::Version
98
98
  version: '0'
99
99
  requirements: []
100
- rubyforge_project:
101
- rubygems_version: 2.4.5
102
- signing_key:
100
+ rubyforge_project:
101
+ rubygems_version: 2.7.6.2
102
+ signing_key:
103
103
  specification_version: 4
104
104
  summary: Date parsing with context
105
105
  test_files: