geo_combine 0.9.2 → 0.11.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.
@@ -5,6 +5,7 @@ require 'spec_helper'
5
5
  # TODO: Provide additional expectations on html structure
6
6
  describe 'FGDC to html' do
7
7
  include XmlDocs
8
+
8
9
  let(:page) { GeoCombine::Fgdc.new(tufts_fgdc).to_html }
9
10
 
10
11
  describe 'Identification Information' do
@@ -5,6 +5,7 @@ require 'spec_helper'
5
5
  # TODO: Provide additional expectations on html structure
6
6
  describe 'ISO 19139 to html' do
7
7
  include XmlDocs
8
+
8
9
  let(:page) { GeoCombine::Iso19139.new(stanford_iso).to_html }
9
10
 
10
11
  describe 'Identification Information' do
@@ -0,0 +1,34 @@
1
+ {
2
+ "dc_publisher_s": "",
3
+ "dc_type_s": "Dataset",
4
+ "dct_title_s": "Property Lot, Arlington County, VA ",
5
+ "dct_description_sm": [
6
+ "This polygon represents property lot in Arlington County, VA"
7
+ ],
8
+ "schema_provider_s": "GMU",
9
+ "gbl_resourceType_sm": [
10
+ "Polygon"
11
+ ],
12
+ "dct_subject_sm": [
13
+ "Property"
14
+ ],
15
+ "gbl_indexYear_im": [
16
+ 1
17
+ ],
18
+ "locn_geometry": "ENVELOPE(-77.1735, -77.0305, 38.9349, 38.8268)",
19
+ "dct_accessRights_s": "Restricted",
20
+ "dct_format_s": "Shapefile",
21
+ "gbl_wxsIdentifier_s": ":arlington_2004_lot_poly",
22
+ "id": "gmu-arlington-2004-lot-poly",
23
+ "dct_identifier_sm": [
24
+ "GMU.arlington_2004_lot_poly"
25
+ ],
26
+ "gbl_mdVersion_s": "Aardvark",
27
+ "dct_temporal_sm": [
28
+ "0001-01-01 01:01:01+00:00"
29
+ ],
30
+ "dct_spatial_sm": [
31
+ "virginia"
32
+ ],
33
+ "dct_references_s": "{\"http://www.opengis.net/def/serviceType/ogc/wfs\":\"http://localhost:8080/secure-geoserver/wfs\",\"http://www.opengis.net/def/serviceType/ogc/wms\":\"http://localhost:8080/secure-geoserver/wms\"}"
34
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "dc_creator_sm": [
3
+ "United States. Defense Mapping Agency"
4
+ ],
5
+ "dc_description_s": "This raster layer is an image of a 1:5,000,000 scale aeronautical chart sheet that projects to Lambert Conformal Conic. The National Geospatial-Intelligence Agency and its legacy organizations (Defense Mapping Agency, National Imagery and Mapping Agency) originally published the series, and all sheets are in English. East View Geospatial has completed digitization, georeferencing, and electronic archiving services. To see the map index for this chart series, refer to the Derived Data layer.",
6
+ "dc_format_s": "WorldImage TIFF",
7
+ "dc_identifier_s": "http://hdl.handle.net/2451/38709",
8
+ "dc_language_s": "English",
9
+ "dc_publisher_s": "East View Cartographic, Inc.",
10
+ "dc_rights_s": "Restricted",
11
+ "dc_subject_sm": [
12
+ "Aeronautical charts"
13
+ ],
14
+ "dc_title_s": "Global Navigation and Planning Chart, Sheet 21 W ",
15
+ "dc_type_s": "Dataset",
16
+ "dct_isPartOf_sm": [
17
+ "EVG Open Data Package"
18
+ ],
19
+ "dct_issued_s": "5/31/2016",
20
+ "dct_provenance_s": "NYU",
21
+ "dct_references_s": "{\"http://schema.org/url\":\"http://hdl.handle.net/2451/38709\",\"http://schema.org/downloadUrl\":\"https://archive.nyu.edu/retrieve/84050/nyu_2451_38709.zip\",\"http://www.opengis.net/def/serviceType/ogc/wfs\":\"https://maps-restricted.geo.nyu.edu/geoserver/sdr/wfs\",\"http://www.opengis.net/def/serviceType/ogc/wms\":\"https://maps-restricted.geo.nyu.edu/geoserver/sdr/wms\"}",
22
+ "dct_source_sm": [
23
+ "nyu-2451-38715"
24
+ ],
25
+ "dct_spatial_sm": [
26
+
27
+ ],
28
+ "dct_temporal_sm": [
29
+ "2016"
30
+ ],
31
+ "geoblacklight_version": "1.0",
32
+ "layer_geom_type_s": "Raster",
33
+ "layer_id_s": "sdr:nyu_2451_38709",
34
+ "layer_modified_dt": "2018-01-16T15:11:26Z",
35
+ "layer_slug_s": "nyu-2451-38709",
36
+ "nyu_addl_dspace_s": "39708",
37
+ "nyu_addl_format_sm": [
38
+ "WorldImage TIFF"
39
+ ],
40
+ "solr_geom": "ENVELOPE(-179.99999999999994, -177.98915207217718, -39.99974999999998, -75.0037465617225)",
41
+ "solr_year_i": 2016
42
+ }
@@ -4,6 +4,7 @@ require 'spec_helper'
4
4
 
5
5
  RSpec.describe GeoCombine::CkanMetadata do
6
6
  include JsonDocs
7
+
7
8
  let(:ckan_sample) { described_class.new(ckan_metadata) }
8
9
 
9
10
  describe '#to_geoblacklight' do
@@ -4,6 +4,7 @@ require 'spec_helper'
4
4
 
5
5
  RSpec.describe GeoCombine::EsriOpenData do
6
6
  include JsonDocs
7
+
7
8
  let(:esri_sample) { described_class.new(esri_opendata_metadata) }
8
9
  let(:metadata) { esri_sample.instance_variable_get(:@metadata) }
9
10
 
@@ -4,6 +4,7 @@ require 'spec_helper'
4
4
 
5
5
  RSpec.describe GeoCombine::Fgdc do
6
6
  include XmlDocs
7
+
7
8
  let(:fgdc_object) { described_class.new(tufts_fgdc) }
8
9
 
9
10
  describe '#initialize' do
@@ -32,7 +33,7 @@ RSpec.describe GeoCombine::Fgdc do
32
33
  end
33
34
 
34
35
  it 'is not valid due to bad modification date but valid otherwise' do
35
- expect { fgdc_geobl.valid? }.to raise_error(JSON::Schema::ValidationError, /layer_modified_dt/)
36
+ expect { fgdc_geobl.validate! }.to raise_error(JSON::Schema::ValidationError, /layer_modified_dt/)
36
37
  fgdc_geobl.metadata.delete 'layer_modified_dt'
37
38
  expect(fgdc_geobl).to be_valid
38
39
  end
@@ -51,7 +52,7 @@ RSpec.describe GeoCombine::Fgdc do
51
52
  end
52
53
 
53
54
  it 'dc_description_s' do
54
- expect(fgdc_geobl.metadata['dc_description_s']).to match(/Ecuador created from/)
55
+ expect(fgdc_geobl.metadata['dc_description_s']).to match('Ecuador created from')
55
56
  end
56
57
 
57
58
  it 'dc_rights_s' do
@@ -6,6 +6,7 @@ RSpec.describe GeoCombine::Geoblacklight do
6
6
  include XmlDocs
7
7
  include JsonDocs
8
8
  include GeoCombine::Exceptions
9
+
9
10
  let(:full_geobl) { described_class.new(full_geoblacklight) }
10
11
  let(:enhanced_geobl) { described_class.new(basic_geoblacklight, 'layer_geom_type_s' => 'esriGeometryPolygon') }
11
12
  let(:basic_geobl) { described_class.new(basic_geoblacklight) }
@@ -60,11 +61,17 @@ RSpec.describe GeoCombine::Geoblacklight do
60
61
  it 'formats the geometry type field' do
61
62
  expect(enhanced_geobl.metadata['layer_geom_type_s']).to eq 'Polygon'
62
63
  end
64
+
65
+ it 'populates the geometry type field from the subject field if not set' do
66
+ enhanced_from_subject_geobl = described_class.new(basic_geoblacklight, 'dc_subject_sm' => ['polygon'])
67
+ enhanced_from_subject_geobl.enhance_metadata
68
+ expect(enhanced_from_subject_geobl.metadata['layer_geom_type_s']).to eq 'Polygon'
69
+ end
63
70
  end
64
71
 
65
- describe '#valid?' do
72
+ describe '#validate!' do
66
73
  it 'a valid geoblacklight-schema document should be valid' do
67
- expect(full_geobl.valid?).to be true
74
+ expect(full_geobl).to be_valid
68
75
  end
69
76
 
70
77
  context 'must have required fields' do
@@ -78,7 +85,7 @@ RSpec.describe GeoCombine::Geoblacklight do
78
85
  ].each do |field|
79
86
  it field do
80
87
  full_geobl.metadata.delete field
81
- expect { full_geobl.valid? }.to raise_error(JSON::Schema::ValidationError, /#{field}/)
88
+ expect { full_geobl.validate! }.to raise_error(JSON::Schema::ValidationError, /#{field}/)
82
89
  end
83
90
  end
84
91
  end
@@ -104,7 +111,7 @@ RSpec.describe GeoCombine::Geoblacklight do
104
111
  ].each do |field|
105
112
  it field do
106
113
  full_geobl.metadata.delete field
107
- expect { full_geobl.valid? }.not_to raise_error
114
+ expect { full_geobl.validate! }.not_to raise_error
108
115
  end
109
116
  end
110
117
  end
@@ -119,31 +126,25 @@ RSpec.describe GeoCombine::Geoblacklight do
119
126
  ].each do |field|
120
127
  it field do
121
128
  full_geobl.metadata.delete field
122
- expect { full_geobl.valid? }.not_to raise_error
129
+ expect { full_geobl.validate! }.not_to raise_error
123
130
  end
124
131
  end
125
132
  end
126
133
 
127
134
  it 'an invalid document' do
128
- expect { basic_geobl.valid? }.to raise_error JSON::Schema::ValidationError
135
+ expect { basic_geobl.validate! }.to raise_error JSON::Schema::ValidationError
129
136
  end
130
137
 
131
138
  it 'calls the dct_references_s validator' do
132
- expect(enhanced_geobl).to receive(:dct_references_validate!)
139
+ expect(enhanced_geobl).to receive(:validate_references!)
133
140
  enhanced_geobl.valid?
134
141
  end
135
-
136
- it 'validates spatial bounding box' do
137
- expect(JSON::Validator).to receive(:validate!).and_return true
138
- expect { basic_geobl.valid? }
139
- .to raise_error GeoCombine::Exceptions::InvalidGeometry
140
- end
141
142
  end
142
143
 
143
- describe '#dct_references_validate!' do
144
+ describe '#validate_references!' do
144
145
  context 'with valid document' do
145
146
  it 'is valid' do
146
- expect(full_geobl.dct_references_validate!).to be true
147
+ expect { full_geobl.validate_references! }.not_to raise_error
147
148
  end
148
149
  end
149
150
 
@@ -173,22 +174,22 @@ RSpec.describe GeoCombine::Geoblacklight do
173
174
  end
174
175
 
175
176
  it 'unparseable json' do
176
- expect { bad_ref.dct_references_validate! }.to raise_error JSON::ParserError
177
+ expect { bad_ref.validate_references! }.to raise_error JSON::ParserError
177
178
  end
178
179
 
179
180
  it 'not a hash' do
180
- expect { not_hash.dct_references_validate! }.to raise_error GeoCombine::Exceptions::InvalidDCTReferences
181
+ expect { not_hash.validate_references! }.to raise_error GeoCombine::Exceptions::InvalidDCTReferences
181
182
  end
182
183
  end
183
184
  end
184
185
 
185
- describe 'spatial_validate!' do
186
+ describe 'validate_spatial!' do
186
187
  context 'when valid' do
187
- it { expect { full_geobl.spatial_validate! }.not_to raise_error }
188
+ it { expect { full_geobl.validate_spatial! }.not_to raise_error }
188
189
  end
189
190
 
190
191
  context 'when invalid' do
191
- it { expect { basic_geobl.spatial_validate! }.to raise_error GeoCombine::Exceptions::InvalidGeometry }
192
+ it { expect { basic_geobl.validate_spatial! }.to raise_error GeoCombine::Exceptions::InvalidGeometry }
192
193
  end
193
194
  end
194
195
 
@@ -5,7 +5,7 @@ require 'geo_combine/harvester'
5
5
  require 'spec_helper'
6
6
 
7
7
  RSpec.describe GeoCombine::Harvester do
8
- subject(:harvester) { described_class.new(ogm_path: 'spec/fixtures/indexing', schema_version: '1.0') }
8
+ subject(:harvester) { described_class.new(ogm_path: 'spec/fixtures/indexing', logger: logger) }
9
9
 
10
10
  let(:logger) { instance_double(Logger, warn: nil, info: nil, error: nil, debug: nil) }
11
11
  let(:repo_name) { 'my-institution' }
@@ -14,11 +14,12 @@ RSpec.describe GeoCombine::Harvester do
14
14
  let(:stub_repo) { instance_double(Git::Base) }
15
15
  let(:stub_gh_api) do
16
16
  [
17
- { name: repo_name, size: 100 },
18
- { name: 'another-institution', size: 100 },
19
- { name: 'outdated-institution', size: 100, archived: true }, # archived
20
- { name: 'aardvark', size: 300 }, # on denylist
21
- { name: 'empty', size: 0 } # no data
17
+ { name: repo_name, size: 100, custom_properties: { supported_schemas: ['Aardvark'] } },
18
+ { name: 'another-institution', size: 100, custom_properties: { supported_schemas: ['Aardvark', '1.0'] } }, # multiple schemas
19
+ { name: 'v1-institution', size: 300, custom_properties: { supported_schemas: ['1.0'] } }, # schema mismatch
20
+ { name: 'outdated-institution', size: 100, custom_properties: { supported_schemas: ['Aardvark'] }, archived: true }, # archived
21
+ { name: 'empty', size: 0, custom_properties: { supported_schemas: ['Aardvark'] } }, # no data
22
+ { name: 'tool', size: 50 } # not a metadata repository
22
23
  ]
23
24
  end
24
25
 
@@ -42,17 +43,51 @@ RSpec.describe GeoCombine::Harvester do
42
43
  describe '#docs_to_index' do
43
44
  it 'yields each JSON record with its path, skipping layers.JSON' do
44
45
  expect { |b| harvester.docs_to_index(&b) }.to yield_successive_args(
45
- [JSON.parse(File.read('spec/fixtures/indexing/basic_geoblacklight.json')), 'spec/fixtures/indexing/basic_geoblacklight.json'],
46
- [JSON.parse(File.read('spec/fixtures/indexing/geoblacklight.json')), 'spec/fixtures/indexing/geoblacklight.json']
46
+ [JSON.parse(File.read('spec/fixtures/indexing/aardvark.json')), 'spec/fixtures/indexing/aardvark.json']
47
47
  )
48
48
  end
49
49
 
50
- it 'skips records with a different schema version' do
51
- harvester = described_class.new(ogm_path: 'spec/fixtures/indexing/', schema_version: 'Aardvark', logger:)
50
+ it 'can yield JSON records for a different schema version' do
51
+ harvester = described_class.new(ogm_path: 'spec/fixtures/indexing/', schema_version: '1.0', logger:)
52
52
  expect { |b| harvester.docs_to_index(&b) }.to yield_successive_args(
53
- [JSON.parse(File.read('spec/fixtures/indexing/aardvark.json')), 'spec/fixtures/indexing/aardvark.json']
53
+ [JSON.parse(File.read('spec/fixtures/indexing/basic_geoblacklight.json')), 'spec/fixtures/indexing/basic_geoblacklight.json'],
54
+ [JSON.parse(File.read('spec/fixtures/indexing/geoblacklight.json')), 'spec/fixtures/indexing/geoblacklight.json']
54
55
  )
55
56
  end
57
+
58
+ # Collect the titles of every record yielded, regardless of schema field
59
+ def yielded_titles(harvester)
60
+ harvester.docs_to_index.map { |record, _path| record['dct_title_s'] || record['dc_title_s'] }
61
+ end
62
+
63
+ context 'when skip_restricted is true (the default)' do
64
+ it 'skips records with restricted access rights' do
65
+ expect(yielded_titles(harvester)).not_to include('Property Lot, Arlington County, VA ')
66
+ end
67
+
68
+ it 'skips gbl1 records with restricted access rights' do
69
+ harvester = described_class.new(ogm_path: 'spec/fixtures/indexing', schema_version: '1.0', logger:)
70
+ expect(yielded_titles(harvester)).not_to include('Global Navigation and Planning Chart, Sheet 21 W ')
71
+ end
72
+ end
73
+
74
+ context 'when skip_restricted is false' do
75
+ it 'yields records with restricted access rights' do
76
+ harvester = described_class.new(ogm_path: 'spec/fixtures/indexing', skip_restricted: false, logger:)
77
+ expect(yielded_titles(harvester)).to include('Property Lot, Arlington County, VA ')
78
+ end
79
+
80
+ it 'yields gbl1 records with restricted access rights' do
81
+ harvester = described_class.new(ogm_path: 'spec/fixtures/indexing', schema_version: '1.0', skip_restricted: false, logger:)
82
+ expect(yielded_titles(harvester)).to include('Global Navigation and Planning Chart, Sheet 21 W ')
83
+ end
84
+
85
+ it 'can read from the OGM_SKIP_RESTRICTED environment variable' do
86
+ stub_const('ENV', ENV.to_h.merge('OGM_SKIP_RESTRICTED' => 'false'))
87
+ harvester = described_class.new(ogm_path: 'spec/fixtures/indexing', logger:)
88
+ expect(yielded_titles(harvester)).to include('Property Lot, Arlington County, VA ')
89
+ end
90
+ end
56
91
  end
57
92
 
58
93
  describe '#pull' do
@@ -79,15 +114,27 @@ RSpec.describe GeoCombine::Harvester do
79
114
  expect(harvester.pull_all).to eq(%w[my-institution another-institution])
80
115
  end
81
116
 
82
- it 'skips repositories in the denylist' do
117
+ it 'skips repositories with no schema declared' do
83
118
  harvester.pull_all
84
- expect(Git).not_to have_received(:open).with('https://github.com/OpenGeoMetadata/aardvark.git')
119
+ expect(Git).not_to have_received(:open).with('https://github.com/OpenGeoMetadata/tool.git')
85
120
  end
86
121
 
87
122
  it 'skips archived repositories' do
88
123
  harvester.pull_all
89
124
  expect(Git).not_to have_received(:open).with('https://github.com/OpenGeoMetadata/outdated-institution.git')
90
125
  end
126
+
127
+ it 'skips repositories with no data' do
128
+ harvester.pull_all
129
+ expect(Git).not_to have_received(:open).with('https://github.com/OpenGeoMetadata/empty.git')
130
+ end
131
+
132
+ it 'skips repositories that are on the skip list' do
133
+ stub_const('ENV', ENV.to_h.merge('OGM_SKIP_REPOS' => 'my-institution,another-institution'))
134
+ harvester.pull_all
135
+ expect(Git).not_to have_received(:open).with('https://github.com/OpenGeoMetadata/my-institution.git')
136
+ expect(Git).not_to have_received(:open).with('https://github.com/OpenGeoMetadata/another-institution.git')
137
+ end
91
138
  end
92
139
 
93
140
  describe '#clone' do
@@ -115,14 +162,31 @@ RSpec.describe GeoCombine::Harvester do
115
162
  expect(Git).to have_received(:clone).exactly(2).times
116
163
  end
117
164
 
118
- it 'skips repositories in the denylist' do
165
+ it 'skips repositories with no schema declared' do
166
+ harvester.clone_all
167
+ expect(Git).not_to have_received(:clone).with('https://github.com/OpenGeoMetadata/tool.git')
168
+ end
169
+
170
+ it 'skips archived repositories' do
119
171
  harvester.clone_all
120
- expect(Git).not_to have_received(:clone).with('https://github.com/OpenGeoMetadata/aardvark.git')
172
+ expect(Git).not_to have_received(:clone).with('https://github.com/OpenGeoMetadata/outdated-institution.git')
173
+ end
174
+
175
+ it 'skips repositories with no data' do
176
+ harvester.clone_all
177
+ expect(Git).not_to have_received(:clone).with('https://github.com/OpenGeoMetadata/empty.git')
121
178
  end
122
179
 
123
180
  it 'returns the names of repositories cloned' do
124
181
  expect(harvester.clone_all).to eq(%w[my-institution another-institution])
125
182
  end
183
+
184
+ it 'skips repositories that are on the skip list' do
185
+ stub_const('ENV', ENV.to_h.merge('OGM_SKIP_REPOS' => 'my-institution,another-institution'))
186
+ harvester.pull_all
187
+ expect(Git).not_to have_received(:open).with('https://github.com/OpenGeoMetadata/my-institution.git')
188
+ expect(Git).not_to have_received(:open).with('https://github.com/OpenGeoMetadata/another-institution.git')
189
+ end
126
190
  end
127
191
 
128
192
  describe '#ogm_api_uri' do
@@ -4,6 +4,7 @@ require 'spec_helper'
4
4
 
5
5
  RSpec.describe GeoCombine::Iso19139 do
6
6
  include XmlDocs
7
+
7
8
  let(:iso_object) { described_class.new(stanford_iso) }
8
9
 
9
10
  describe '#initialize' do
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: geo_combine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.2
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jack Reed
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-08-13 00:00:00.000000000 Z
10
+ date: 2026-07-16 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: activesupport
@@ -196,30 +195,30 @@ dependencies:
196
195
  name: rubocop
197
196
  requirement: !ruby/object:Gem::Requirement
198
197
  requirements:
199
- - - "~>"
198
+ - - ">="
200
199
  - !ruby/object:Gem::Version
201
- version: '1.25'
200
+ version: '0'
202
201
  type: :development
203
202
  prerelease: false
204
203
  version_requirements: !ruby/object:Gem::Requirement
205
204
  requirements:
206
- - - "~>"
205
+ - - ">="
207
206
  - !ruby/object:Gem::Version
208
- version: '1.25'
207
+ version: '0'
209
208
  - !ruby/object:Gem::Dependency
210
209
  name: rubocop-rspec
211
210
  requirement: !ruby/object:Gem::Requirement
212
211
  requirements:
213
- - - "~>"
212
+ - - ">="
214
213
  - !ruby/object:Gem::Version
215
- version: '2.8'
214
+ version: '0'
216
215
  type: :development
217
216
  prerelease: false
218
217
  version_requirements: !ruby/object:Gem::Requirement
219
218
  requirements:
220
- - - "~>"
219
+ - - ">="
221
220
  - !ruby/object:Gem::Version
222
- version: '2.8'
221
+ version: '0'
223
222
  - !ruby/object:Gem::Dependency
224
223
  name: rubocop-rake
225
224
  requirement: !ruby/object:Gem::Requirement
@@ -269,6 +268,7 @@ executables: []
269
268
  extensions: []
270
269
  extra_rdoc_files: []
271
270
  files:
271
+ - ".github/dependabot.yml"
272
272
  - ".github/workflows/ruby.yml"
273
273
  - ".gitignore"
274
274
  - ".rspec"
@@ -279,6 +279,7 @@ files:
279
279
  - README.md
280
280
  - Rakefile
281
281
  - geo_combine.gemspec
282
+ - lib/.DS_Store
282
283
  - lib/geo_combine.rb
283
284
  - lib/geo_combine/bounding_box.rb
284
285
  - lib/geo_combine/ckan_metadata.rb
@@ -304,6 +305,7 @@ files:
304
305
  - lib/xslt/fgdc2html.xsl
305
306
  - lib/xslt/iso2geoBL.xsl
306
307
  - lib/xslt/iso2html.xsl
308
+ - lib/xslt/isoAardvark.xsl
307
309
  - lib/xslt/utils/convert-enumerations.xsl
308
310
  - lib/xslt/utils/convert-latlong.xsl
309
311
  - lib/xslt/utils/decode-uri/base.css
@@ -338,6 +340,8 @@ files:
338
340
  - spec/fixtures/indexing/basic_geoblacklight.json
339
341
  - spec/fixtures/indexing/geoblacklight.json
340
342
  - spec/fixtures/indexing/layers.json
343
+ - spec/fixtures/indexing/restricted_aardvark.json
344
+ - spec/fixtures/indexing/restricted_geoblacklight.json
341
345
  - spec/fixtures/indexing/test.txt
342
346
  - spec/fixtures/json_docs.rb
343
347
  - spec/fixtures/xml_docs.rb
@@ -361,7 +365,6 @@ homepage: ''
361
365
  licenses:
362
366
  - Apache
363
367
  metadata: {}
364
- post_install_message:
365
368
  rdoc_options: []
366
369
  require_paths:
367
370
  - lib
@@ -376,8 +379,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
376
379
  - !ruby/object:Gem::Version
377
380
  version: '0'
378
381
  requirements: []
379
- rubygems_version: 3.4.19
380
- signing_key:
382
+ rubygems_version: 3.6.2
381
383
  specification_version: 4
382
384
  summary: A Ruby toolkit for managing geospatial metadata
383
385
  test_files:
@@ -402,6 +404,8 @@ test_files:
402
404
  - spec/fixtures/indexing/basic_geoblacklight.json
403
405
  - spec/fixtures/indexing/geoblacklight.json
404
406
  - spec/fixtures/indexing/layers.json
407
+ - spec/fixtures/indexing/restricted_aardvark.json
408
+ - spec/fixtures/indexing/restricted_geoblacklight.json
405
409
  - spec/fixtures/indexing/test.txt
406
410
  - spec/fixtures/json_docs.rb
407
411
  - spec/fixtures/xml_docs.rb