geo_concerns 0.0.3 → 0.0.4

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