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.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/app/actors/geo_concerns/actors/file_actor.rb +25 -0
  3. data/app/actors/geo_concerns/actors/file_set_actor.rb +9 -0
  4. data/app/controllers/concerns/geo_concerns/file_sets_controller_behavior.rb +3 -2
  5. data/app/helpers/geo_concerns/bounding_box_helper.rb +26 -0
  6. data/app/helpers/geo_concerns/geo_works_helper.rb +22 -0
  7. data/app/models/concerns/geo_concerns/external_metadata_file_behavior.rb +1 -1
  8. data/app/models/concerns/geo_concerns/file_set/derivatives.rb +5 -5
  9. data/app/models/concerns/geo_concerns/file_set_metadata.rb +15 -0
  10. data/app/models/concerns/geo_concerns/geo_file_format_behavior.rb +4 -4
  11. data/app/models/concerns/geo_concerns/geo_file_set_behavior.rb +1 -0
  12. data/app/presenters/geo_concerns/geo_concerns_show_presenter.rb +10 -11
  13. data/app/presenters/geo_concerns/image_work_show_presenter.rb +2 -14
  14. data/app/presenters/geo_concerns/raster_work_show_presenter.rb +2 -14
  15. data/app/presenters/geo_concerns/vector_work_show_presenter.rb +1 -6
  16. data/app/renderers/geo_concerns/coverage_renderer.rb +36 -0
  17. data/app/schemas/geo_concerns/file_set_metadata_required.rb +5 -0
  18. data/app/views/curation_concerns/file_sets/_form.html.erb +1 -1
  19. data/app/views/curation_concerns/image_works/show.html.erb +2 -3
  20. data/app/views/curation_concerns/raster_works/show.html.erb +2 -3
  21. data/app/views/curation_concerns/vector_works/show.html.erb +2 -1
  22. data/app/views/geo_concerns/_related_external_metadata_files.html.erb +2 -2
  23. data/app/views/{curation_concerns/image_works/_related_image_files.html.erb → geo_concerns/_related_geo_files.html.erb} +5 -5
  24. data/app/views/{curation_concerns/image_works/_members.html.erb → geo_concerns/_related_geo_works.html.erb} +8 -6
  25. data/geo_concerns.gemspec +1 -1
  26. data/lib/generators/geo_concerns/install_generator.rb +2 -2
  27. data/lib/generators/geo_concerns/templates/actors/curation_concerns/actors/image_work_actor.rb +6 -0
  28. data/lib/generators/geo_concerns/templates/actors/curation_concerns/actors/raster_work_actor.rb +6 -0
  29. data/lib/generators/geo_concerns/templates/actors/curation_concerns/actors/vector_work_actor.rb +6 -0
  30. data/lib/generators/geo_concerns/templates/jobs/characterize_job.rb +4 -3
  31. data/lib/geo_concerns/version.rb +1 -1
  32. data/spec/actors/geo_concerns/{file_actor_spec.rb → actors/file_actor_spec.rb} +3 -3
  33. data/spec/factories/external_metadata_files.rb +2 -2
  34. data/spec/factories/image_files.rb +5 -5
  35. data/spec/factories/image_works.rb +4 -3
  36. data/spec/factories/raster_files.rb +3 -3
  37. data/spec/factories/raster_works.rb +7 -5
  38. data/spec/factories/vector_files.rb +3 -3
  39. data/spec/factories/vector_works.rb +5 -4
  40. data/spec/features/create_raster_work_spec.rb +1 -1
  41. data/spec/helpers/bounding_box_helper_spec.rb +2 -2
  42. data/spec/helpers/geo_works_helper_spec.rb +30 -0
  43. data/spec/models/concerns/basic_geo_metadata_spec.rb +1 -1
  44. data/spec/models/concerns/geo_concerns/file_set/derivatives_spec.rb +7 -7
  45. data/spec/models/concerns/geo_concerns/file_set/geo_file_format_behavior_spec.rb +5 -5
  46. data/spec/models/external_metadata_file_spec.rb +8 -8
  47. data/spec/models/image_file_spec.rb +3 -3
  48. data/spec/models/image_work_spec.rb +5 -5
  49. data/spec/models/raster_file_spec.rb +3 -3
  50. data/spec/models/raster_work_spec.rb +9 -9
  51. data/spec/models/vector_file_spec.rb +3 -3
  52. data/spec/models/vector_work_spec.rb +7 -7
  53. data/spec/presenters/geo_concerns_show_presenter_spec.rb +5 -15
  54. data/spec/presenters/image_work_show_presenter_spec.rb +14 -15
  55. data/spec/presenters/raster_work_show_presenter_spec.rb +13 -13
  56. data/spec/presenters/vector_work_show_presenter_spec.rb +10 -10
  57. data/spec/renderers/{coverage_renderer_spec.rb → geo_concerns/coverage_renderer_spec.rb} +1 -1
  58. metadata +24 -22
  59. data/app/actors/geo_concerns/file_actor.rb +0 -20
  60. data/app/actors/geo_concerns/file_set_actor.rb +0 -7
  61. data/app/helpers/bounding_box_helper.rb +0 -24
  62. data/app/renderers/coverage_renderer.rb +0 -34
  63. data/app/views/curation_concerns/raster_works/_members.html.erb +0 -30
  64. data/app/views/curation_concerns/raster_works/_related_raster_files.html.erb +0 -24
  65. data/app/views/curation_concerns/vector_works/_related_vector_files.html.erb +0 -24
  66. data/lib/generators/geo_concerns/templates/actors/curation_concerns/image_work_actor.rb +0 -4
  67. data/lib/generators/geo_concerns/templates/actors/curation_concerns/raster_work_actor.rb +0 -4
  68. data/lib/generators/geo_concerns/templates/actors/curation_concerns/vector_work_actor.rb +0 -4
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe CoverageRenderer do
3
+ describe GeoConcerns::CoverageRenderer do
4
4
  let(:coverage) { 'northlimit=2.7; eastlimit=4.0; southlimit=1.3; westlimit=2.9; units=degrees; projection=EPSG:4326' }
5
5
  let(:renderer) { described_class.new(:coverage, [coverage]) }
6
6
  subject { renderer.render }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: geo_concerns
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Griffin
@@ -12,22 +12,22 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2016-05-06 00:00:00.000000000 Z
15
+ date: 2016-05-24 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: curation_concerns
19
19
  requirement: !ruby/object:Gem::Requirement
20
20
  requirements:
21
- - - "~>"
21
+ - - '='
22
22
  - !ruby/object:Gem::Version
23
- version: 0.14.0.pre4
23
+ version: 1.0.0.beta3
24
24
  type: :runtime
25
25
  prerelease: false
26
26
  version_requirements: !ruby/object:Gem::Requirement
27
27
  requirements:
28
- - - "~>"
28
+ - - '='
29
29
  - !ruby/object:Gem::Version
30
- version: 0.14.0.pre4
30
+ version: 1.0.0.beta3
31
31
  - !ruby/object:Gem::Dependency
32
32
  name: leaflet-rails
33
33
  requirement: !ruby/object:Gem::Requirement
@@ -214,8 +214,8 @@ files:
214
214
  - LICENSE
215
215
  - README.md
216
216
  - Rakefile
217
- - app/actors/geo_concerns/file_actor.rb
218
- - app/actors/geo_concerns/file_set_actor.rb
217
+ - app/actors/geo_concerns/actors/file_actor.rb
218
+ - app/actors/geo_concerns/actors/file_set_actor.rb
219
219
  - app/assets/images/geo_concerns/.keep
220
220
  - app/assets/images/geo_concerns/images/geocoder.png
221
221
  - app/assets/images/geo_concerns/images/throbber.gif
@@ -240,8 +240,9 @@ files:
240
240
  - app/forms/geo_concerns/image_work_form.rb
241
241
  - app/forms/geo_concerns/raster_work_form.rb
242
242
  - app/forms/geo_concerns/vector_work_form.rb
243
- - app/helpers/bounding_box_helper.rb
244
243
  - app/helpers/geo_concerns/application_helper.rb
244
+ - app/helpers/geo_concerns/bounding_box_helper.rb
245
+ - app/helpers/geo_concerns/geo_works_helper.rb
245
246
  - app/models/concerns/geo_concerns/basic_geo_metadata.rb
246
247
  - app/models/concerns/geo_concerns/external_metadata_file_behavior.rb
247
248
  - app/models/concerns/geo_concerns/extractors/fgdc_helper.rb
@@ -249,6 +250,7 @@ files:
249
250
  - app/models/concerns/geo_concerns/extractors/iso19139_helper.rb
250
251
  - app/models/concerns/geo_concerns/extractors/mods_helper.rb
251
252
  - app/models/concerns/geo_concerns/file_set/derivatives.rb
253
+ - app/models/concerns/geo_concerns/file_set_metadata.rb
252
254
  - app/models/concerns/geo_concerns/file_set_presenter_behavior.rb
253
255
  - app/models/concerns/geo_concerns/geo_file_format_behavior.rb
254
256
  - app/models/concerns/geo_concerns/geo_file_set_behavior.rb
@@ -279,11 +281,12 @@ files:
279
281
  - app/processors/geo_concerns/processors/vector/processor.rb
280
282
  - app/processors/geo_concerns/processors/vector/shapefile.rb
281
283
  - app/processors/geo_concerns/processors/zip.rb
282
- - app/renderers/coverage_renderer.rb
284
+ - app/renderers/geo_concerns/coverage_renderer.rb
283
285
  - app/runners/geo_concerns/runners/raster_derivatives.rb
284
286
  - app/runners/geo_concerns/runners/vector_derivatives.rb
285
287
  - app/schemas/geo_concerns/basic_geo_metadata_optional.rb
286
288
  - app/schemas/geo_concerns/basic_geo_metadata_required.rb
289
+ - app/schemas/geo_concerns/file_set_metadata_required.rb
287
290
  - app/services/authority_service.rb
288
291
  - app/services/geo_concerns/derivative_path.rb
289
292
  - app/services/image_format_service.rb
@@ -295,18 +298,13 @@ files:
295
298
  - app/views/curation_concerns/file_sets/_form.html.erb
296
299
  - app/views/curation_concerns/image_works/_form.html.erb
297
300
  - app/views/curation_concerns/image_works/_image_work.html.erb
298
- - app/views/curation_concerns/image_works/_members.html.erb
299
- - app/views/curation_concerns/image_works/_related_image_files.html.erb
300
301
  - app/views/curation_concerns/image_works/_show_actions.html.erb
301
302
  - app/views/curation_concerns/image_works/show.html.erb
302
303
  - app/views/curation_concerns/raster_works/_form.html.erb
303
- - app/views/curation_concerns/raster_works/_members.html.erb
304
304
  - app/views/curation_concerns/raster_works/_raster_work.html.erb
305
- - app/views/curation_concerns/raster_works/_related_raster_files.html.erb
306
305
  - app/views/curation_concerns/raster_works/_show_actions.html.erb
307
306
  - app/views/curation_concerns/raster_works/show.html.erb
308
307
  - app/views/curation_concerns/vector_works/_form.html.erb
309
- - app/views/curation_concerns/vector_works/_related_vector_files.html.erb
310
308
  - app/views/curation_concerns/vector_works/_show_actions.html.erb
311
309
  - app/views/curation_concerns/vector_works/_vector_work.html.erb
312
310
  - app/views/curation_concerns/vector_works/show.html.erb
@@ -320,13 +318,15 @@ files:
320
318
  - app/views/geo_concerns/_form_required_information.html.erb
321
319
  - app/views/geo_concerns/_form_supplementary_fields.html.erb
322
320
  - app/views/geo_concerns/_related_external_metadata_files.html.erb
321
+ - app/views/geo_concerns/_related_geo_files.html.erb
322
+ - app/views/geo_concerns/_related_geo_works.html.erb
323
323
  - app/vocabs/geo_concerns/geo_terms.rb
324
324
  - config/routes.rb
325
325
  - geo_concerns.gemspec
326
326
  - lib/generators/geo_concerns/install_generator.rb
327
- - lib/generators/geo_concerns/templates/actors/curation_concerns/image_work_actor.rb
328
- - lib/generators/geo_concerns/templates/actors/curation_concerns/raster_work_actor.rb
329
- - lib/generators/geo_concerns/templates/actors/curation_concerns/vector_work_actor.rb
327
+ - lib/generators/geo_concerns/templates/actors/curation_concerns/actors/image_work_actor.rb
328
+ - lib/generators/geo_concerns/templates/actors/curation_concerns/actors/raster_work_actor.rb
329
+ - lib/generators/geo_concerns/templates/actors/curation_concerns/actors/vector_work_actor.rb
330
330
  - lib/generators/geo_concerns/templates/config/authorities/image_formats.yml
331
331
  - lib/generators/geo_concerns/templates/config/authorities/metadata_formats.yml
332
332
  - lib/generators/geo_concerns/templates/config/authorities/raster_formats.yml
@@ -366,7 +366,7 @@ files:
366
366
  - solr/config/xslt/example_atom.xsl
367
367
  - solr/config/xslt/example_rss.xsl
368
368
  - solr/config/xslt/luke.xsl
369
- - spec/actors/geo_concerns/file_actor_spec.rb
369
+ - spec/actors/geo_concerns/actors/file_actor_spec.rb
370
370
  - spec/controllers/image_works_controller_spec.rb
371
371
  - spec/controllers/raster_works_controller_spec.rb
372
372
  - spec/controllers/vector_works_controller_spec.rb
@@ -386,6 +386,7 @@ files:
386
386
  - spec/forms/geo_concerns/raster_work_form_spec.rb
387
387
  - spec/forms/geo_concerns/vector_work_form_spec.rb
388
388
  - spec/helpers/bounding_box_helper_spec.rb
389
+ - spec/helpers/geo_works_helper_spec.rb
389
390
  - spec/models/concerns/basic_geo_metadata_spec.rb
390
391
  - spec/models/concerns/geo_concerns/file_set/derivatives_spec.rb
391
392
  - spec/models/concerns/geo_concerns/file_set/geo_file_format_behavior_spec.rb
@@ -415,7 +416,7 @@ files:
415
416
  - spec/processors/geo_concerns/processors/vector/processor_spec.rb
416
417
  - spec/processors/geo_concerns/processors/vector/shapefile_spec.rb
417
418
  - spec/processors/geo_concerns/processors/zip_spec.rb
418
- - spec/renderers/coverage_renderer_spec.rb
419
+ - spec/renderers/geo_concerns/coverage_renderer_spec.rb
419
420
  - spec/services/derivative_path_spec.rb
420
421
  - spec/services/raster_format_service_spec.rb
421
422
  - spec/spec_helper.rb
@@ -456,7 +457,7 @@ signing_key:
456
457
  specification_version: 4
457
458
  summary: Rails engine for Hydra Geo models. Built around Curation Concerns engine.
458
459
  test_files:
459
- - spec/actors/geo_concerns/file_actor_spec.rb
460
+ - spec/actors/geo_concerns/actors/file_actor_spec.rb
460
461
  - spec/controllers/image_works_controller_spec.rb
461
462
  - spec/controllers/raster_works_controller_spec.rb
462
463
  - spec/controllers/vector_works_controller_spec.rb
@@ -476,6 +477,7 @@ test_files:
476
477
  - spec/forms/geo_concerns/raster_work_form_spec.rb
477
478
  - spec/forms/geo_concerns/vector_work_form_spec.rb
478
479
  - spec/helpers/bounding_box_helper_spec.rb
480
+ - spec/helpers/geo_works_helper_spec.rb
479
481
  - spec/models/concerns/basic_geo_metadata_spec.rb
480
482
  - spec/models/concerns/geo_concerns/file_set/derivatives_spec.rb
481
483
  - spec/models/concerns/geo_concerns/file_set/geo_file_format_behavior_spec.rb
@@ -505,7 +507,7 @@ test_files:
505
507
  - spec/processors/geo_concerns/processors/vector/processor_spec.rb
506
508
  - spec/processors/geo_concerns/processors/vector/shapefile_spec.rb
507
509
  - spec/processors/geo_concerns/processors/zip_spec.rb
508
- - spec/renderers/coverage_renderer_spec.rb
510
+ - spec/renderers/geo_concerns/coverage_renderer_spec.rb
509
511
  - spec/services/derivative_path_spec.rb
510
512
  - spec/services/raster_format_service_spec.rb
511
513
  - spec/spec_helper.rb
@@ -1,20 +0,0 @@
1
- module GeoConcerns
2
- class FileActor < CurationConcerns::FileActor
3
- def ingest_file(file)
4
- working_file = copy_file_to_working_directory(file, file_set.id)
5
- IngestFileJob.perform_later(file_set, working_file, mime_type(file), user.user_key, relation)
6
- make_derivative(file_set, working_file)
7
- true
8
- end
9
-
10
- # Determines the correct mime type for a file. If the mime type is stored on
11
- # the file_set (set in the view), then use that value. If not, use the file
12
- # content type, if it exists.
13
- # @param [File, ActionDigest::HTTP::UploadedFile] file to get mime type from
14
- # @return [String] Mime type for the file
15
- def mime_type(file)
16
- return file_set.mime_type if file_set.mime_type
17
- file.respond_to?(:content_type) ? file.content_type : nil || file_set.mime_type
18
- end
19
- end
20
- end
@@ -1,7 +0,0 @@
1
- module GeoConcerns
2
- class FileSetActor < CurationConcerns::FileSetActor
3
- def file_actor_class
4
- ::GeoConcerns::FileActor
5
- end
6
- end
7
- end
@@ -1,24 +0,0 @@
1
- module BoundingBoxHelper
2
- ##
3
- # Builds HTML string for bounding box selector tool.
4
- # Calls boundingBoxSelector javascript function and
5
- # passes the id of the location input element that it binds to.
6
- # @param [Symbol] name of property that holds bounding box string
7
- # @return[String]
8
- def bbox(property)
9
- %(
10
- <div id='bbox'></div>
11
- <script>
12
- boundingBoxSelector({inputId: #{bbox_input_id(property)}});
13
- </script>
14
- ).html_safe
15
- end
16
-
17
- ##
18
- # Returns id of location input that is bound to bbox selector.
19
- # @param [Symbol] name of property that holds bounding box string
20
- # @return[String] id of location input element
21
- def bbox_input_id(property)
22
- "#{curation_concern.class.name.underscore}_#{property}"
23
- end
24
- end
@@ -1,34 +0,0 @@
1
- class CoverageRenderer < CurationConcerns::AttributeRenderer
2
- def render
3
- coverage = values.first if values
4
- return '' unless coverage
5
- markup(coverage).html_safe
6
- end
7
-
8
- private
9
-
10
- def markup(coverage)
11
- markup = ''
12
- markup << %(<tr><th>#{label}</th>\n<td id='accordion'><ul class='tabular'>)
13
- markup << value(coverage)
14
- markup << toggle_button
15
- markup << map(coverage)
16
- markup << %(</ul></td></tr>)
17
- markup
18
- end
19
-
20
- def value(coverage)
21
- attributes = microdata_object_attributes(field).merge(class: "attribute #{field}")
22
- %(<li#{html_attributes(attributes)}>#{attribute_value_to_html(coverage.to_s)})
23
- end
24
-
25
- def toggle_button
26
- %( <a data-toggle='collapse' data-parent='accordion' href='#bbox' class='btn btn-default'>
27
- Toggle Map</a>)
28
- end
29
-
30
- def map(coverage)
31
- %(<div id='bbox' class='collapse in'></div>
32
- <script>boundingBoxSelector({coverage: '#{coverage}', readonly: true});</script>)
33
- end
34
- end
@@ -1,30 +0,0 @@
1
- <% if presenter.vector_work_presenters.present? %>
2
- <div class="panel panel-default raster_works">
3
- <div class="panel-heading">
4
- <h2>Vector Works</h2>
5
- </div>
6
- <table class="table">
7
- <thead>
8
- <tr>
9
- <th class="col-xs-3"></th>
10
- <th>Work Name</th>
11
- </tr>
12
- </thead>
13
- <tbody>
14
- <% presenter.vector_work_presenters.each do |res| %>
15
- <tr class="file_set attributes">
16
- <td class="thumbnail" style="margin-bottom: 0px">
17
- <%= render_thumbnail_tag res %>
18
- </td>
19
- <td>
20
- <%= link_to res.title, main_app.curation_concerns_vector_work_path(res.id) %>
21
- </td>
22
- </tr>
23
- <% end %>
24
- </tbody>
25
- </table>
26
- </div>
27
- <% elsif can? :edit, presenter.id %>
28
- <h2>Vector Works</h2>
29
- <p class="center"><em>This <%= @presenter.human_readable_type %> has no vector works associated with it. You can add one using the "Attach a Vector Work" button below.</em></p>
30
- <% end %>
@@ -1,24 +0,0 @@
1
- <% if presenter.raster_file_presenters.present? %>
2
- <div class="panel panel-default related_files">
3
- <div class="panel-heading">
4
- <h2>Raster File</h2>
5
- </div>
6
- <table class="table table-striped">
7
- <thead>
8
- <tr>
9
- <th>File</th>
10
- <th>Filename</th>
11
- <th>Date Uploaded</th>
12
- <th>Visibility</th>
13
- <th>Actions</th>
14
- </tr>
15
- </thead>
16
- <tbody>
17
- <%= render partial: 'member', collection: @presenter.raster_file_presenters %>
18
- </tbody>
19
- </table>
20
- </div>
21
- <% elsif can? :edit, presenter.id %>
22
- <h2>Raster File</h2>
23
- <p class="center"><em>This <%= presenter.human_readable_type %> doesn't have a raster file associated with it. You can add one using the "Attach a File" button below.</em></p>
24
- <% end %>
@@ -1,24 +0,0 @@
1
- <% if @presenter.vector_file_presenters.present? %>
2
- <div class="panel panel-default related_files">
3
- <div class="panel-heading">
4
- <h2>Vector File</h2>
5
- </div>
6
- <table class="table table-striped">
7
- <thead>
8
- <tr>
9
- <th>File</th>
10
- <th>Filename</th>
11
- <th>Date Uploaded</th>
12
- <th>Visibility</th>
13
- <th>Actions</th>
14
- </tr>
15
- </thead>
16
- <tbody>
17
- <%= render partial: 'member', collection: @presenter.vector_file_presenters %>
18
- </tbody>
19
- </table>
20
- </div>
21
- <% elsif can? :edit, @presenter.id %>
22
- <h2>Vector Files</h2>
23
- <p class="center"><em>This <%= @presenter.human_readable_type %> doesn't have a vector file associated with it. You can add one using the "Attach a File" button below.</em></p>
24
- <% end %>
@@ -1,4 +0,0 @@
1
- module CurationConcerns
2
- class ImageWorkActor < CurationConcerns::BaseActor
3
- end
4
- end
@@ -1,4 +0,0 @@
1
- module CurationConcerns
2
- class RasterWorkActor < CurationConcerns::BaseActor
3
- end
4
- end
@@ -1,4 +0,0 @@
1
- module CurationConcerns
2
- class VectorWorkActor < CurationConcerns::BaseActor
3
- end
4
- end