geo_concerns 0.0.3 → 0.0.4
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 +4 -4
- data/app/actors/geo_concerns/actors/file_actor.rb +25 -0
- data/app/actors/geo_concerns/actors/file_set_actor.rb +9 -0
- data/app/controllers/concerns/geo_concerns/file_sets_controller_behavior.rb +3 -2
- data/app/helpers/geo_concerns/bounding_box_helper.rb +26 -0
- data/app/helpers/geo_concerns/geo_works_helper.rb +22 -0
- data/app/models/concerns/geo_concerns/external_metadata_file_behavior.rb +1 -1
- data/app/models/concerns/geo_concerns/file_set/derivatives.rb +5 -5
- data/app/models/concerns/geo_concerns/file_set_metadata.rb +15 -0
- data/app/models/concerns/geo_concerns/geo_file_format_behavior.rb +4 -4
- data/app/models/concerns/geo_concerns/geo_file_set_behavior.rb +1 -0
- data/app/presenters/geo_concerns/geo_concerns_show_presenter.rb +10 -11
- data/app/presenters/geo_concerns/image_work_show_presenter.rb +2 -14
- data/app/presenters/geo_concerns/raster_work_show_presenter.rb +2 -14
- data/app/presenters/geo_concerns/vector_work_show_presenter.rb +1 -6
- data/app/renderers/geo_concerns/coverage_renderer.rb +36 -0
- data/app/schemas/geo_concerns/file_set_metadata_required.rb +5 -0
- data/app/views/curation_concerns/file_sets/_form.html.erb +1 -1
- data/app/views/curation_concerns/image_works/show.html.erb +2 -3
- data/app/views/curation_concerns/raster_works/show.html.erb +2 -3
- data/app/views/curation_concerns/vector_works/show.html.erb +2 -1
- data/app/views/geo_concerns/_related_external_metadata_files.html.erb +2 -2
- data/app/views/{curation_concerns/image_works/_related_image_files.html.erb → geo_concerns/_related_geo_files.html.erb} +5 -5
- data/app/views/{curation_concerns/image_works/_members.html.erb → geo_concerns/_related_geo_works.html.erb} +8 -6
- data/geo_concerns.gemspec +1 -1
- data/lib/generators/geo_concerns/install_generator.rb +2 -2
- data/lib/generators/geo_concerns/templates/actors/curation_concerns/actors/image_work_actor.rb +6 -0
- data/lib/generators/geo_concerns/templates/actors/curation_concerns/actors/raster_work_actor.rb +6 -0
- data/lib/generators/geo_concerns/templates/actors/curation_concerns/actors/vector_work_actor.rb +6 -0
- data/lib/generators/geo_concerns/templates/jobs/characterize_job.rb +4 -3
- data/lib/geo_concerns/version.rb +1 -1
- data/spec/actors/geo_concerns/{file_actor_spec.rb → actors/file_actor_spec.rb} +3 -3
- data/spec/factories/external_metadata_files.rb +2 -2
- data/spec/factories/image_files.rb +5 -5
- data/spec/factories/image_works.rb +4 -3
- data/spec/factories/raster_files.rb +3 -3
- data/spec/factories/raster_works.rb +7 -5
- data/spec/factories/vector_files.rb +3 -3
- data/spec/factories/vector_works.rb +5 -4
- data/spec/features/create_raster_work_spec.rb +1 -1
- data/spec/helpers/bounding_box_helper_spec.rb +2 -2
- data/spec/helpers/geo_works_helper_spec.rb +30 -0
- data/spec/models/concerns/basic_geo_metadata_spec.rb +1 -1
- data/spec/models/concerns/geo_concerns/file_set/derivatives_spec.rb +7 -7
- data/spec/models/concerns/geo_concerns/file_set/geo_file_format_behavior_spec.rb +5 -5
- data/spec/models/external_metadata_file_spec.rb +8 -8
- data/spec/models/image_file_spec.rb +3 -3
- data/spec/models/image_work_spec.rb +5 -5
- data/spec/models/raster_file_spec.rb +3 -3
- data/spec/models/raster_work_spec.rb +9 -9
- data/spec/models/vector_file_spec.rb +3 -3
- data/spec/models/vector_work_spec.rb +7 -7
- data/spec/presenters/geo_concerns_show_presenter_spec.rb +5 -15
- data/spec/presenters/image_work_show_presenter_spec.rb +14 -15
- data/spec/presenters/raster_work_show_presenter_spec.rb +13 -13
- data/spec/presenters/vector_work_show_presenter_spec.rb +10 -10
- data/spec/renderers/{coverage_renderer_spec.rb → geo_concerns/coverage_renderer_spec.rb} +1 -1
- metadata +24 -22
- data/app/actors/geo_concerns/file_actor.rb +0 -20
- data/app/actors/geo_concerns/file_set_actor.rb +0 -7
- data/app/helpers/bounding_box_helper.rb +0 -24
- data/app/renderers/coverage_renderer.rb +0 -34
- data/app/views/curation_concerns/raster_works/_members.html.erb +0 -30
- data/app/views/curation_concerns/raster_works/_related_raster_files.html.erb +0 -24
- data/app/views/curation_concerns/vector_works/_related_vector_files.html.erb +0 -24
- data/lib/generators/geo_concerns/templates/actors/curation_concerns/image_work_actor.rb +0 -4
- data/lib/generators/geo_concerns/templates/actors/curation_concerns/raster_work_actor.rb +0 -4
- data/lib/generators/geo_concerns/templates/actors/curation_concerns/vector_work_actor.rb +0 -4
@@ -1,7 +1,7 @@
|
|
1
|
-
<% if presenter.
|
1
|
+
<% if presenter.work_presenters.present? %>
|
2
2
|
<div class="panel panel-default raster_works">
|
3
3
|
<div class="panel-heading">
|
4
|
-
<h2
|
4
|
+
<h2><%= child_geo_works_type(presenter) %> Works</h2>
|
5
5
|
</div>
|
6
6
|
<table class="table">
|
7
7
|
<thead>
|
@@ -11,13 +11,13 @@
|
|
11
11
|
</tr>
|
12
12
|
</thead>
|
13
13
|
<tbody>
|
14
|
-
<% presenter.
|
14
|
+
<% presenter.work_presenters.each do |res| %>
|
15
15
|
<tr class="file_set attributes">
|
16
16
|
<td class="thumbnail" style="margin-bottom: 0px">
|
17
17
|
<%= render_thumbnail_tag res %>
|
18
18
|
</td>
|
19
19
|
<td>
|
20
|
-
<%= link_to res.title, main_app
|
20
|
+
<%= link_to res.title.first, polymorphic_path([main_app, res]) %>
|
21
21
|
</td>
|
22
22
|
</tr>
|
23
23
|
<% end %>
|
@@ -25,6 +25,8 @@
|
|
25
25
|
</table>
|
26
26
|
</div>
|
27
27
|
<% elsif can? :edit, presenter.id %>
|
28
|
-
|
29
|
-
|
28
|
+
<% if child_geo_works_type(presenter) %>
|
29
|
+
<h2><%= child_geo_works_type(presenter) %> Works</h2>
|
30
|
+
<p class="center"><em>This <%= presenter.human_readable_type %> has no <%= child_geo_works_type(presenter).downcase %> works associated with it.</em></p>
|
31
|
+
<% end %>
|
30
32
|
<% end %>
|
data/geo_concerns.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ['lib']
|
20
20
|
|
21
|
-
spec.add_dependency 'curation_concerns', '
|
21
|
+
spec.add_dependency 'curation_concerns', '1.0.0.beta3'
|
22
22
|
spec.add_dependency 'leaflet-rails', '~> 0.7'
|
23
23
|
|
24
24
|
spec.add_development_dependency 'sqlite3'
|
@@ -102,10 +102,10 @@ module GeoConcerns
|
|
102
102
|
def install_work
|
103
103
|
name = @class_name.underscore
|
104
104
|
model_path = "app/models/#{name}.rb"
|
105
|
-
actor_path = "app/actors/curation_concerns/#{name}_actor.rb"
|
105
|
+
actor_path = "app/actors/curation_concerns/actors/#{name}_actor.rb"
|
106
106
|
controller_path = "app/controllers/curation_concerns/#{name.pluralize}_controller.rb"
|
107
107
|
copy_file "models/#{name}.rb", model_path
|
108
|
-
copy_file "actors/curation_concerns/#{name}_actor.rb", actor_path
|
108
|
+
copy_file "actors/curation_concerns/actors/#{name}_actor.rb", actor_path
|
109
109
|
copy_file "controllers/curation_concerns/#{name.pluralize}_controller.rb", controller_path
|
110
110
|
end
|
111
111
|
|
@@ -1,11 +1,12 @@
|
|
1
1
|
class CharacterizeJob < ActiveJob::Base
|
2
|
-
queue_as
|
2
|
+
queue_as CurationConcerns.config.ingest_queue_name
|
3
3
|
|
4
4
|
# @param [FileSet] file_set
|
5
5
|
# @param [String] filename a local path for the file to characterize.
|
6
6
|
def perform(file_set, filename)
|
7
|
-
|
8
|
-
|
7
|
+
error_msg = "#{file_set.class.characterization_proxy} was not found"
|
8
|
+
raise(LoadError, error_msg) unless file_set.characterization_proxy?
|
9
|
+
Hydra::Works::CharacterizationService.run(file_set.characterization_proxy, filename)
|
9
10
|
file_set.save!
|
10
11
|
CreateDerivativesJob.perform_later(file_set, filename)
|
11
12
|
end
|
data/lib/geo_concerns/version.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe GeoConcerns::FileActor do
|
3
|
+
describe GeoConcerns::Actors::FileActor do
|
4
4
|
include ActionDispatch::TestProcess
|
5
5
|
let(:user) { double }
|
6
6
|
let(:file) { double }
|
@@ -10,14 +10,14 @@ describe GeoConcerns::FileActor do
|
|
10
10
|
describe '#mime_type' do
|
11
11
|
context 'there is a mime_type attribute on the file set' do
|
12
12
|
it 'returns the file set mime type' do
|
13
|
-
allow(file_set).to receive(:
|
13
|
+
allow(file_set).to receive(:geo_mime_type).and_return('text/plain; gdal-format=USGSDEM')
|
14
14
|
expect(actor.mime_type(file)).to eq('text/plain; gdal-format=USGSDEM')
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
18
|
context 'there is not a mime_type attribute on the file set' do
|
19
19
|
it 'returns the file set mime type' do
|
20
|
-
allow(file_set).to receive(:
|
20
|
+
allow(file_set).to receive(:geo_mime_type).and_return(nil)
|
21
21
|
allow(file).to receive(:content_type).and_return('text/plain; gdal-format=USGSDEM')
|
22
22
|
expect(actor.mime_type(file)).to eq('text/plain; gdal-format=USGSDEM')
|
23
23
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
FactoryGirl.define do
|
2
2
|
factory :external_metadata_file, class: FileSet do
|
3
|
-
initialize_with { new(
|
3
|
+
initialize_with { new(geo_mime_type: 'application/xml; schema=iso19139') }
|
4
4
|
transient do
|
5
5
|
user { FactoryGirl.create(:user) }
|
6
6
|
content nil
|
@@ -13,7 +13,7 @@ FactoryGirl.define do
|
|
13
13
|
|
14
14
|
after(:create) do |file, evaluator|
|
15
15
|
if evaluator.content
|
16
|
-
Hydra::Works::
|
16
|
+
Hydra::Works::UploadFileToFileSet.call(file, evaluator.content)
|
17
17
|
end
|
18
18
|
end
|
19
19
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
FactoryGirl.define do
|
2
2
|
factory :image_file, class: FileSet do
|
3
|
-
initialize_with { new(
|
3
|
+
initialize_with { new(geo_mime_type: 'image/tiff') }
|
4
4
|
transient do
|
5
5
|
user { FactoryGirl.create(:user) }
|
6
6
|
content nil
|
@@ -13,19 +13,19 @@ FactoryGirl.define do
|
|
13
13
|
|
14
14
|
after(:create) do |file, evaluator|
|
15
15
|
if evaluator.content
|
16
|
-
Hydra::Works::
|
16
|
+
Hydra::Works::UploadFileToFileSet.call(file, evaluator.content)
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
20
20
|
factory :image_file_with_image do
|
21
21
|
after(:build) do |file, evaluator|
|
22
|
-
FactoryGirl.create(:image, user: evaluator.user).
|
22
|
+
FactoryGirl.create(:image, user: evaluator.user).members << file
|
23
23
|
end
|
24
24
|
after(:create) do |file, evaluator|
|
25
25
|
if evaluator.content
|
26
|
-
Hydra::Works::
|
26
|
+
Hydra::Works::UploadFileToFileSet.call(file, evaluator.content)
|
27
27
|
end
|
28
|
-
FactoryGirl.create(:image, user: evaluator.user).
|
28
|
+
FactoryGirl.create(:image, user: evaluator.user).members << file
|
29
29
|
end
|
30
30
|
end
|
31
31
|
end
|
@@ -30,14 +30,15 @@ FactoryGirl.define do
|
|
30
30
|
|
31
31
|
factory :image_work_with_raster_works do
|
32
32
|
before(:create) do |image_work, evaluator|
|
33
|
-
|
33
|
+
image_work.ordered_members << FactoryGirl.create(:raster_work, user: evaluator.user)
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
37
37
|
factory :image_work_with_files_and_metadata_files do
|
38
38
|
after(:create) do |image_work, evaluator|
|
39
|
-
|
40
|
-
|
39
|
+
image_work.ordered_members << FactoryGirl.create(:image_file, user: evaluator.user)
|
40
|
+
image_work.ordered_members << FactoryGirl.create(:external_metadata_file, user: evaluator.user)
|
41
|
+
image_work.save
|
41
42
|
end
|
42
43
|
end
|
43
44
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
FactoryGirl.define do
|
2
2
|
factory :raster_file, class: FileSet do
|
3
|
-
initialize_with { new(
|
3
|
+
initialize_with { new(geo_mime_type: 'image/tiff; gdal-format=GTiff') }
|
4
4
|
transient do
|
5
5
|
user { FactoryGirl.create(:user) }
|
6
6
|
content nil
|
@@ -14,7 +14,7 @@ FactoryGirl.define do
|
|
14
14
|
|
15
15
|
after(:create) do |file, evaluator|
|
16
16
|
if evaluator.content
|
17
|
-
Hydra::Works::
|
17
|
+
Hydra::Works::UploadFileToFileSet.call(file, evaluator.content)
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
@@ -24,7 +24,7 @@ FactoryGirl.define do
|
|
24
24
|
# end
|
25
25
|
after(:create) do |file, evaluator|
|
26
26
|
if evaluator.content
|
27
|
-
Hydra::Works::
|
27
|
+
Hydra::Works::UploadFileToFileSet.call(file, evaluator.content)
|
28
28
|
end
|
29
29
|
|
30
30
|
raster = FactoryGirl.create(:raster, user: evaluator.user)
|
@@ -18,7 +18,7 @@ FactoryGirl.define do
|
|
18
18
|
|
19
19
|
factory :raster_work_with_one_file do
|
20
20
|
before(:create) do |raster_work, evaluator|
|
21
|
-
raster_work.ordered_members << FactoryGirl.create(:raster_file, user: evaluator.user, title: ['A GeoTIFF file']
|
21
|
+
raster_work.ordered_members << FactoryGirl.create(:raster_file, user: evaluator.user, title: ['A GeoTIFF file'])
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
@@ -35,9 +35,10 @@ FactoryGirl.define do
|
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
38
|
-
factory :
|
38
|
+
factory :raster_work_with_vector_work do
|
39
39
|
after(:create) do |raster_work, evaluator|
|
40
|
-
|
40
|
+
raster_work.ordered_members << FactoryGirl.create(:vector_work, user: evaluator.user)
|
41
|
+
raster_work.save
|
41
42
|
end
|
42
43
|
end
|
43
44
|
|
@@ -55,8 +56,9 @@ FactoryGirl.define do
|
|
55
56
|
|
56
57
|
factory :raster_work_with_files_and_metadata_files do
|
57
58
|
after(:create) do |raster_work, evaluator|
|
58
|
-
|
59
|
-
|
59
|
+
raster_work.ordered_members << FactoryGirl.create(:raster_file, user: evaluator.user)
|
60
|
+
raster_work.ordered_members << FactoryGirl.create(:external_metadata_file, user: evaluator.user)
|
61
|
+
raster_work.save
|
60
62
|
end
|
61
63
|
end
|
62
64
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
FactoryGirl.define do
|
2
2
|
factory :vector_file, class: FileSet do
|
3
|
-
initialize_with { new(
|
3
|
+
initialize_with { new(geo_mime_type: 'application/zip; ogr-format="ESRI Shapefile"') }
|
4
4
|
transient do
|
5
5
|
user { FactoryGirl.create(:user) }
|
6
6
|
content nil
|
@@ -12,7 +12,7 @@ FactoryGirl.define do
|
|
12
12
|
|
13
13
|
after(:create) do |file, evaluator|
|
14
14
|
if evaluator.content
|
15
|
-
Hydra::Works::
|
15
|
+
Hydra::Works::UploadFileToFileSet.call(file, evaluator.content)
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
@@ -22,7 +22,7 @@ FactoryGirl.define do
|
|
22
22
|
end
|
23
23
|
after(:create) do |file, evaluator|
|
24
24
|
if evaluator.content
|
25
|
-
Hydra::Works::
|
25
|
+
Hydra::Works::UploadFileToFileSet.call(file, evaluator.content)
|
26
26
|
end
|
27
27
|
FactoryGirl.create(:vector, user: evaluator.user).vector_files << file
|
28
28
|
end
|
@@ -18,7 +18,7 @@ FactoryGirl.define do
|
|
18
18
|
|
19
19
|
factory :vector_work_with_one_file do
|
20
20
|
before(:create) do |vector_work, evaluator|
|
21
|
-
vector_work.ordered_members << FactoryGirl.create(:vector_file, user: evaluator.user, title: ['A shapefile']
|
21
|
+
vector_work.ordered_members << FactoryGirl.create(:vector_file, user: evaluator.user, title: ['A shapefile'])
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
@@ -49,10 +49,11 @@ FactoryGirl.define do
|
|
49
49
|
end
|
50
50
|
end
|
51
51
|
|
52
|
-
factory :
|
52
|
+
factory :vector_work_with_vector_and_metadata_file do
|
53
53
|
before(:create) do |vector_work, evaluator|
|
54
|
-
|
55
|
-
|
54
|
+
vector_work.ordered_members << FactoryGirl.create(:vector_file, user: evaluator.user)
|
55
|
+
vector_work.ordered_members << FactoryGirl.create(:external_metadata_file, user: evaluator.user)
|
56
|
+
vector_work.save
|
56
57
|
end
|
57
58
|
end
|
58
59
|
|
@@ -39,7 +39,7 @@ RSpec.feature 'RasterWorkController', type: :feature do
|
|
39
39
|
|
40
40
|
click_link 'Attach a Metadata File'
|
41
41
|
fill_in 'file_set[title][]', with: 'File Title'
|
42
|
-
select 'FGDC', from: '
|
42
|
+
select 'FGDC', from: 'file_set_geo_mime_type'
|
43
43
|
attach_file 'file_set[files][]', fgdc_file
|
44
44
|
click_button 'Attach to Vector Work'
|
45
45
|
|
@@ -1,11 +1,11 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe BoundingBoxHelper do
|
3
|
+
describe GeoConcerns::BoundingBoxHelper do
|
4
4
|
let(:property) { :coverage }
|
5
5
|
let(:helper) { TestingHelper.new }
|
6
6
|
before do
|
7
7
|
class TestingHelper
|
8
|
-
include BoundingBoxHelper
|
8
|
+
include GeoConcerns::BoundingBoxHelper
|
9
9
|
|
10
10
|
def curation_concern
|
11
11
|
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe GeoConcerns::GeoWorksHelper do
|
4
|
+
let(:helper) { TestingHelper.new }
|
5
|
+
let(:presenter) { instance_double('Presenter', class: GeoConcerns::ImageWorkShowPresenter) }
|
6
|
+
before do
|
7
|
+
class TestingHelper
|
8
|
+
include GeoConcerns::GeoWorksHelper
|
9
|
+
end
|
10
|
+
end
|
11
|
+
after do
|
12
|
+
Object.send(:remove_const, :TestingHelper)
|
13
|
+
end
|
14
|
+
|
15
|
+
describe '#child_geo_works_type' do
|
16
|
+
it 'returns a the child work type name' do
|
17
|
+
expect(helper.child_geo_works_type(presenter)).to eq 'Raster'
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
describe '#geo_work_type' do
|
22
|
+
before do
|
23
|
+
allow(presenter).to receive(:human_readable_type).and_return('ImageWork')
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'returns a the work type name' do
|
27
|
+
expect(helper.geo_work_type(presenter)).to eq 'Image'
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -6,7 +6,7 @@ RSpec.describe GeoConcerns::BasicGeoMetadata do
|
|
6
6
|
it 'inherits the specified properties' do
|
7
7
|
%w(title date_uploaded date_modified contributor creator date_created
|
8
8
|
description identifier language part_of publisher resource_type
|
9
|
-
rights source subject
|
9
|
+
rights source subject keyword).map(&:to_sym).each do |p|
|
10
10
|
expect(subject.respond_to?(p)).to be_truthy
|
11
11
|
expect(subject.respond_to?("#{p}=".to_sym)).to be_truthy
|
12
12
|
end
|
@@ -50,7 +50,7 @@ describe CurationConcerns::FileSet do
|
|
50
50
|
let(:file_set) { FileSet.create { |gf| gf.apply_depositor_metadata('geonerd@example.com') } }
|
51
51
|
|
52
52
|
before do
|
53
|
-
allow(file_set).to receive(:
|
53
|
+
allow(file_set).to receive(:geo_mime_type).and_return(geo_mime_type)
|
54
54
|
|
55
55
|
allow(CurationConcerns::DerivativePath).to receive(:derivative_path_for_reference) do |object, key|
|
56
56
|
"#{Rails.root}/tmp/derivatives/#{object.id}/#{key}.#{key}"
|
@@ -65,7 +65,7 @@ describe CurationConcerns::FileSet do
|
|
65
65
|
describe 'geo derivatives' do
|
66
66
|
describe 'image processing' do
|
67
67
|
context 'with a jpeg' do
|
68
|
-
let(:
|
68
|
+
let(:geo_mime_type) { 'image/jpeg' }
|
69
69
|
let(:file_name) { File.join(fixture_path, 'files', 'americas.jpg') }
|
70
70
|
it_behaves_like 'a set of image derivatives'
|
71
71
|
end
|
@@ -73,13 +73,13 @@ describe CurationConcerns::FileSet do
|
|
73
73
|
|
74
74
|
describe 'vector processing' do
|
75
75
|
context 'with a shapefile' do
|
76
|
-
let(:
|
76
|
+
let(:geo_mime_type) { 'application/zip; ogr-format="ESRI Shapefile"' }
|
77
77
|
let(:file_name) { File.join(fixture_path, 'files', 'tufts-cambridgegrid100-04.zip') }
|
78
78
|
it_behaves_like 'a set of vector derivatives'
|
79
79
|
end
|
80
80
|
|
81
81
|
context 'with a geojson file' do
|
82
|
-
let(:
|
82
|
+
let(:geo_mime_type) { 'application/vnd.geo+json' }
|
83
83
|
let(:file_name) { File.join(fixture_path, 'files', 'mercer.json') }
|
84
84
|
it_behaves_like 'a set of vector derivatives'
|
85
85
|
end
|
@@ -87,19 +87,19 @@ describe CurationConcerns::FileSet do
|
|
87
87
|
|
88
88
|
describe 'raster processing' do
|
89
89
|
context 'with a geo tiff file' do
|
90
|
-
let(:
|
90
|
+
let(:geo_mime_type) { 'image/tiff; gdal-format=GTiff' }
|
91
91
|
let(:file_name) { File.join(fixture_path, 'files', 'S_566_1914_clip.tif') }
|
92
92
|
it_behaves_like 'a set of raster derivatives'
|
93
93
|
end
|
94
94
|
|
95
95
|
context 'with a usgs ascii dem file' do
|
96
|
-
let(:
|
96
|
+
let(:geo_mime_type) { 'text/plain; gdal-format=USGSDEM' }
|
97
97
|
let(:file_name) { File.join(fixture_path, 'files', 'shandaken_clip.dem') }
|
98
98
|
it_behaves_like 'a set of raster derivatives'
|
99
99
|
end
|
100
100
|
|
101
101
|
context 'with an arc/info binary grid file' do
|
102
|
-
let(:
|
102
|
+
let(:geo_mime_type) { 'application/octet-stream; gdal-format=AIG' }
|
103
103
|
let(:file_name) { File.join(fixture_path, 'files', 'precipitation.zip') }
|
104
104
|
it_behaves_like 'a set of raster derivatives'
|
105
105
|
end
|
@@ -5,7 +5,7 @@ describe GeoConcerns::GeoFileFormatBehavior do
|
|
5
5
|
|
6
6
|
describe '#image_file?' do
|
7
7
|
before do
|
8
|
-
allow(subject).to receive(:
|
8
|
+
allow(subject).to receive(:geo_mime_type).and_return('image/tiff')
|
9
9
|
end
|
10
10
|
it 'is true' do
|
11
11
|
expect(subject.image_file?).to be true
|
@@ -14,7 +14,7 @@ describe GeoConcerns::GeoFileFormatBehavior do
|
|
14
14
|
|
15
15
|
describe '#raster_file?' do
|
16
16
|
before do
|
17
|
-
allow(subject).to receive(:
|
17
|
+
allow(subject).to receive(:geo_mime_type).and_return('image/tiff; gdal-format=GTiff')
|
18
18
|
end
|
19
19
|
it 'is true' do
|
20
20
|
expect(subject.raster_file?).to be true
|
@@ -23,7 +23,7 @@ describe GeoConcerns::GeoFileFormatBehavior do
|
|
23
23
|
|
24
24
|
describe '#vector_file?' do
|
25
25
|
before do
|
26
|
-
allow(subject).to receive(:
|
26
|
+
allow(subject).to receive(:geo_mime_type).and_return('application/zip; ogr-format="ESRI Shapefile"')
|
27
27
|
end
|
28
28
|
it 'is true' do
|
29
29
|
expect(subject.vector_file?).to be true
|
@@ -32,7 +32,7 @@ describe GeoConcerns::GeoFileFormatBehavior do
|
|
32
32
|
|
33
33
|
describe '#external_metadata_file?' do
|
34
34
|
before do
|
35
|
-
allow(subject).to receive(:
|
35
|
+
allow(subject).to receive(:geo_mime_type).and_return('application/xml; schema=iso19139')
|
36
36
|
end
|
37
37
|
it 'is true' do
|
38
38
|
expect(subject.external_metadata_file?).to be true
|
@@ -41,7 +41,7 @@ describe GeoConcerns::GeoFileFormatBehavior do
|
|
41
41
|
|
42
42
|
describe '#geo_file_format?' do
|
43
43
|
before do
|
44
|
-
allow(subject).to receive(:
|
44
|
+
allow(subject).to receive(:geo_mime_type).and_return('image/tiff; gdal-format=GTiff')
|
45
45
|
end
|
46
46
|
it 'is true' do
|
47
47
|
expect(subject.geo_file_format?).to be true
|