oai 1.2.1 → 1.3.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
2
  SHA256:
3
- metadata.gz: '0739f4d294a977be9445e06f872feb4aa421ecc35c65d4ba4c07af0f48f98070'
4
- data.tar.gz: b444b8a7f6cfbeccf045e6794b2d6d001dc319fcf362383404735215adcb3cfa
3
+ metadata.gz: f07e6aaa014da7ec0e3fc389e2dd8dfe05c91e3583cea3123852558ba90e9acf
4
+ data.tar.gz: 88f2c92e7697899526e6df57582b4b4ae054c8e7b9ad5dc0b27774bd51198544
5
5
  SHA512:
6
- metadata.gz: 0edac39be81e755d256f5f39b0772d8568450e2dd6bc837982ad3568547e8ee46b94c3f17d14e69ad94a1ef95458992f9538108f919a3623b9994a42b11203f5
7
- data.tar.gz: c182374267d3acf402f9f9a24c3342739f4e3b72fac229076237126444e7aa674acaea7ae8122de71bc7aa9615cfe9a5864fe3ed4e6c31e3a8f848ed27db41aa
6
+ metadata.gz: 85064e01e23a76b7dfec02dac0f6cdd76389683401052d20b8021f16b8b499f33b344ef850c1a1b5b38a14ac8a70bbb6e0013429c0ad4e0d9ad2ab7d6750052c
7
+ data.tar.gz: 2b294bf969081f3fd310156a7ad3b3dd7aff977c49473f2892a625998dff3b01ae4c0b74a2ce04215c3832ccb1c8a0a5bec468f54dae46b1e5ce111f438c4607
@@ -44,7 +44,7 @@ module OAI::Provider
44
44
  # returns all the sets the model supports. See the
45
45
  # activerecord_provider tests for an example.
46
46
  def sets
47
- model.sets if model.respond_to?(:sets)
47
+ model.respond_to?(:sets) ? model.sets : []
48
48
  end
49
49
 
50
50
  def find(selector, options={})
@@ -177,7 +177,7 @@ module OAI::Provider
177
177
  sql << "#{model.base_class.table_name}.#{timestamp_field} < :until"
178
178
  esc_values[:until] = parse_to_local(opts[:until]) { |t| t + 1 }
179
179
  end
180
-
180
+
181
181
  return [sql.join(" AND "), esc_values]
182
182
  end
183
183
 
@@ -197,7 +197,7 @@ module OAI::Provider
197
197
  raise OAI::ArgumentException.new, "unparsable date: '#{time}'"
198
198
  end
199
199
  end
200
-
200
+
201
201
  time_obj = yield(time_obj) if block_given?
202
202
 
203
203
  if time_obj.kind_of?(Date)
@@ -17,10 +17,14 @@ if ActiveRecord.version < Gem::Version.new("6.0.0")
17
17
  ActiveRecord::MigrationContext.new(
18
18
  File.join(File.dirname(__FILE__), '..', 'database')
19
19
  ).migrate
20
- else
20
+ elsif ActiveRecord.version < Gem::Version.new("7.2.0")
21
21
  ActiveRecord::MigrationContext.new(
22
22
  File.join(File.dirname(__FILE__), '..', 'database'),
23
23
  ActiveRecord::Base.connection.schema_migration
24
24
  ).migrate
25
+ else
26
+ ActiveRecord::MigrationContext.new(
27
+ File.join(File.dirname(__FILE__), '..', 'database')
28
+ ).migrate
25
29
  end
26
30
 
@@ -40,6 +40,11 @@ class ActiveRecordProviderTest < TransactionalTestCase
40
40
  assert_equal expected_count, doc.elements['OAI-PMH/ListRecords'].to_a.size
41
41
  end
42
42
 
43
+ def test_invalid_set_raises_no_match
44
+ assert_raises(OAI::NoMatchException) do
45
+ @provider.list_records(:metadata_prefix => 'oai_dc', :set => "invalid_does_not_exist")
46
+ end
47
+ end
43
48
 
44
49
  def test_get_record_alternate_identifier_column
45
50
  @provider = ARProviderCustomIdentifierField.new
@@ -127,7 +132,7 @@ class ActiveRecordProviderTest < TransactionalTestCase
127
132
  )
128
133
  assert_equal 40, doc.elements['OAI-PMH/ListRecords'].to_a.size
129
134
  end
130
-
135
+
131
136
  def test_bad_until_raises_exception
132
137
  DCField.order(id: :asc).limit(10).update_all(updated_at: 1.year.ago)
133
138
  DCField.order(id: :desc).limit(10).update_all(updated_at: 1.year.from_now)
@@ -140,11 +145,11 @@ class ActiveRecordProviderTest < TransactionalTestCase
140
145
  end
141
146
  end
142
147
  end
143
-
148
+
144
149
  def test_bad_from_raises_exception
145
150
  DCField.order(id: :asc).limit(10).update_all(updated_at: 1.year.ago)
146
151
  DCField.order(id: :desc).limit(10).update_all(updated_at: 1.year.from_now)
147
-
152
+
148
153
  badTimes = [
149
154
  'junk',
150
155
  'February 92nd, 2015']
@@ -169,7 +174,7 @@ class ActiveRecordProviderTest < TransactionalTestCase
169
174
  REXML::Document.new(@provider.list_records(:metadata_prefix => 'oai_dc'))
170
175
  end
171
176
  end
172
-
177
+
173
178
  def test_bad_id_raises_exception
174
179
  badIdentifiers = [
175
180
  'invalid"id',
@@ -183,7 +188,7 @@ class ActiveRecordProviderTest < TransactionalTestCase
183
188
  end
184
189
  end
185
190
  end
186
-
191
+
187
192
 
188
193
  def setup
189
194
  @provider = ARProvider.new
@@ -3,7 +3,7 @@ require 'test_helper_client'
3
3
  class LowResolutionDatesTest < Test::Unit::TestCase
4
4
 
5
5
  def test_low_res_date_parsing
6
- client = OAI::Client.new 'http://authors.library.caltech.edu/cgi/oai2'
6
+ client = OAI::Client.new 'http://localhost:3333/oai'
7
7
 
8
8
  date = Date.new 2003, 1, 1
9
9
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oai
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ed Summers
8
8
  autorequire: oai
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-29 00:00:00.000000000 Z
11
+ date: 2025-03-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: builder
@@ -58,6 +58,20 @@ dependencies:
58
58
  - - "<"
59
59
  - !ruby/object:Gem::Version
60
60
  version: '2'
61
+ - !ruby/object:Gem::Dependency
62
+ name: rexml
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ type: :runtime
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
61
75
  - !ruby/object:Gem::Dependency
62
76
  name: activerecord
63
77
  requirement: !ruby/object:Gem::Requirement
@@ -67,7 +81,7 @@ dependencies:
67
81
  version: 5.2.0
68
82
  - - "<"
69
83
  - !ruby/object:Gem::Version
70
- version: '7.1'
84
+ version: '8.1'
71
85
  type: :development
72
86
  prerelease: false
73
87
  version_requirements: !ruby/object:Gem::Requirement
@@ -77,7 +91,7 @@ dependencies:
77
91
  version: 5.2.0
78
92
  - - "<"
79
93
  - !ruby/object:Gem::Version
80
- version: '7.1'
94
+ version: '8.1'
81
95
  - !ruby/object:Gem::Dependency
82
96
  name: appraisal
83
97
  requirement: !ruby/object:Gem::Requirement
@@ -92,6 +106,20 @@ dependencies:
92
106
  - - ">="
93
107
  - !ruby/object:Gem::Version
94
108
  version: '0'
109
+ - !ruby/object:Gem::Dependency
110
+ name: webrick
111
+ requirement: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ version: '0'
116
+ type: :development
117
+ prerelease: false
118
+ version_requirements: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: '0'
95
123
  description:
96
124
  email: ehs@pobox.com
97
125
  executables:
@@ -207,7 +235,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
207
235
  - !ruby/object:Gem::Version
208
236
  version: '0'
209
237
  requirements: []
210
- rubygems_version: 3.0.3
238
+ rubygems_version: 3.5.3
211
239
  signing_key:
212
240
  specification_version: 4
213
241
  summary: A ruby library for working with the Open Archive Initiative Protocol for