Module: GeoConcerns::VectorWorkBehavior

Extended by:
ActiveSupport::Concern
Includes:
MetadataExtractionHelper
Included in:
VectorWork
Defined in:
app/models/concerns/geo_concerns/vector_work_behavior.rb

Overview

Attributes and methods for vector works

Instance Attribute Summary

Attributes included from MetadataExtractionHelper

#should_populate_metadata

Instance Method Summary collapse

Methods included from MetadataExtractionHelper

#extract_metadata, #populate_metadata

Instance Method Details

#external_metadata_file?Boolean

Returns:

  • (Boolean)


47
48
49
# File 'app/models/concerns/geo_concerns/vector_work_behavior.rb', line 47

def 
  false
end

#image_file?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'app/models/concerns/geo_concerns/vector_work_behavior.rb', line 27

def image_file?
  false
end

#image_work?Boolean

Defines type by what it is and isn’t

Returns:

  • (Boolean)


23
24
25
# File 'app/models/concerns/geo_concerns/vector_work_behavior.rb', line 23

def image_work?
  false
end

#metadata_filesObject



17
18
19
# File 'app/models/concerns/geo_concerns/vector_work_behavior.rb', line 17

def 
  members.select(&:external_metadata_file?)
end

#raster_file?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'app/models/concerns/geo_concerns/vector_work_behavior.rb', line 35

def raster_file?
  false
end

#raster_workGeoConcerns::RasterWork

Retrieve the only Raster Work for which feature extraction generates this Vector Work

Returns:

  • (GeoConcerns::RasterWork)


61
62
63
# File 'app/models/concerns/geo_concerns/vector_work_behavior.rb', line 61

def raster_work
  raster_works.first
end

#raster_work?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'app/models/concerns/geo_concerns/vector_work_behavior.rb', line 31

def raster_work?
  false
end

#raster_worksArray

Retrieve all Raster Works for which this Vector Work can be extracted

Returns:

  • (Array)


53
54
55
56
57
# File 'app/models/concerns/geo_concerns/vector_work_behavior.rb', line 53

def raster_works
  ordered_by.select do |parent|
    parent.class.included_modules.include?(::GeoConcerns::RasterWorkBehavior)
  end
end

#to_solr(solr_doc = {}) ⇒ Object



65
66
67
68
69
70
# File 'app/models/concerns/geo_concerns/vector_work_behavior.rb', line 65

def to_solr(solr_doc = {})
  super.tap do |doc|
    doc[solr_name("ordered_by", :symbol)] ||= []
    doc[solr_name("ordered_by", :symbol)] += send(:ordered_by_ids)
  end
end

#vector_file?Boolean

Returns:

  • (Boolean)


43
44
45
# File 'app/models/concerns/geo_concerns/vector_work_behavior.rb', line 43

def vector_file?
  false
end

#vector_filesObject



13
14
15
# File 'app/models/concerns/geo_concerns/vector_work_behavior.rb', line 13

def vector_files
  members.select(&:vector_file?)
end

#vector_work?Boolean

Returns:

  • (Boolean)


39
40
41
# File 'app/models/concerns/geo_concerns/vector_work_behavior.rb', line 39

def vector_work?
  true
end