edtf 3.0.3 → 3.0.7

Sign up to get free protection for your applications and to get access to all the features.
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: