edtf 3.0.3 → 3.0.7

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/edtf/parser.y CHANGED
@@ -272,6 +272,12 @@ rule
272
272
  result = Date.new(val[0][0], val[2], val[4])
273
273
  result.unspecified.year[2,2] = val[0][1]
274
274
  }
275
+ | unspecified_year '-' month
276
+ {
277
+ result = Date.new(val[0][0], val[2], 1)
278
+ result.month_precision!
279
+ result.unspecified.year[2,2] = val[0][1]
280
+ }
275
281
  | unspecified_year '-' U U '-' day
276
282
  {
277
283
  result = Date.new(val[0][0], 1, val[5])
data/lib/edtf/set.rb CHANGED
@@ -34,9 +34,9 @@ module EDTF
34
34
  self
35
35
  end
36
36
 
37
- def each
37
+ def each(&block)
38
38
  if block_given?
39
- to_a.each(&Proc.new)
39
+ to_a.each(&block)
40
40
  self
41
41
  else
42
42
  to_enum
data/lib/edtf/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module EDTF
2
- VERSION = '3.0.3'.freeze
2
+ VERSION = '3.0.7'.freeze
3
3
  end
@@ -106,6 +106,26 @@ module EDTF
106
106
 
107
107
  end
108
108
 
109
+ describe 'the interval 2008/unknown' do
110
+ let(:interval) { Date.edtf('2008/unknown') }
111
+
112
+ it { expect(interval).to be_unknown }
113
+ it { expect(interval).to be_unknown_end }
114
+ it { expect(interval).not_to be_unknown_start }
115
+
116
+ it 'the min date is 2008-01-01' do
117
+ expect(interval.min.to_s).to eq('2008-01-01')
118
+ end
119
+
120
+ it 'the min date has year precision' do
121
+ expect(interval.min).to be_year_precision
122
+ end
123
+
124
+ it 'the max date is nil' do
125
+ expect(interval.max).to be nil
126
+ end
127
+ end
128
+
109
129
  describe 'comparisions' do
110
130
  it '2007/2009 should be greater than 2001/2002' do
111
131
  expect(Date.edtf('2007/2009')).to be > Date.edtf('2001/2002')
@@ -49,6 +49,7 @@ module EDTF
49
49
  it 'parses unspecified dates' do
50
50
  expect(Parser.new.parse('199u')).to be_unspecified
51
51
  expect(Parser.new.parse('1999-uu-uu')).to be_unspecified
52
+ expect(Parser.new.parse('199u-01')).to be_unspecified
52
53
  end
53
54
 
54
55
  it 'parses negative unspecified dates' do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: edtf
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.3
4
+ version: 3.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sylvester Keil
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-22 00:00:00.000000000 Z
11
+ date: 2022-01-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3.0'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '6.0'
22
+ version: '8.0'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3.0'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '6.0'
32
+ version: '8.0'
33
33
  description: A Ruby implementation of the Extended Date/Time Format (EDTF).
34
34
  email:
35
35
  - http://sylvester.keil.or.at
@@ -89,7 +89,7 @@ homepage: http://github.com/inukshuk/edtf-ruby
89
89
  licenses:
90
90
  - BSD-2-Clause-FreeBSD
91
91
  metadata: {}
92
- post_install_message:
92
+ post_install_message:
93
93
  rdoc_options:
94
94
  - "--line-numbers"
95
95
  - "--inline-source"
@@ -111,9 +111,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
111
111
  - !ruby/object:Gem::Version
112
112
  version: '0'
113
113
  requirements: []
114
- rubyforge_project:
115
- rubygems_version: 2.6.12
116
- signing_key:
114
+ rubygems_version: 3.2.15
115
+ signing_key:
117
116
  specification_version: 4
118
117
  summary: Extended Date/Time Format for Ruby.
119
118
  test_files: