Class: GeoConcerns::Discovery::DocumentBuilder
- Inherits:
-
Object
- Object
- GeoConcerns::Discovery::DocumentBuilder
- Defined in:
- app/services/geo_concerns/discovery/document_builder.rb,
app/services/geo_concerns/discovery/document_builder/wxs.rb,
app/services/geo_concerns/discovery/document_builder/date_builder.rb,
app/services/geo_concerns/discovery/document_builder/slug_builder.rb,
app/services/geo_concerns/discovery/document_builder/document_path.rb,
app/services/geo_concerns/discovery/document_builder/document_helper.rb,
app/services/geo_concerns/discovery/document_builder/spatial_builder.rb,
app/services/geo_concerns/discovery/document_builder/composite_builder.rb,
app/services/geo_concerns/discovery/document_builder/layer_info_builder.rb,
app/services/geo_concerns/discovery/document_builder/references_builder.rb,
app/services/geo_concerns/discovery/document_builder/basic_metadata_builder.rb
Defined Under Namespace
Classes: BasicMetadataBuilder, CompositeBuilder, DateBuilder, DocumentHelper, DocumentPath, LayerInfoBuilder, ReferencesBuilder, SlugBuilder, SpatialBuilder, Wxs
Instance Attribute Summary collapse
-
#document ⇒ Object
readonly
Returns the value of attribute document.
-
#geo_concern ⇒ Object
readonly
Returns the value of attribute geo_concern.
Instance Method Summary collapse
-
#basic_metadata_builder ⇒ BasicMetadataBuilder
Instantiates a BasicMetadataBuilder object.
-
#builders ⇒ CompositeBuilder
Instantiates a CompositeBuilder object with an array of builder instances that are used to create the document.
-
#date_builder ⇒ DateBuilder
Instantiates a DateBuilder object.
-
#initialize(geo_concern, document) ⇒ DocumentBuilder
constructor
A new instance of DocumentBuilder.
-
#layer_info_builder ⇒ LayerInfoBuilder
Instantiates a LayerInfoBuilder object.
-
#references_builder ⇒ ReferencesBuilder
Instantiates a ReferencesBuilder object.
-
#root_path ⇒ DocumentPath
Returns a document path object.
-
#slug_builder ⇒ SlugBuilder
Instantiates a SlugBuilder object.
-
#spatial_builder ⇒ SpatialBuilder
Instantiates a SpatialBuilder object.
Constructor Details
#initialize(geo_concern, document) ⇒ DocumentBuilder
Returns a new instance of DocumentBuilder.
7 8 9 10 11 |
# File 'app/services/geo_concerns/discovery/document_builder.rb', line 7 def initialize(geo_concern, document) @geo_concern = geo_concern @document = document builders.build(document) end |
Instance Attribute Details
#document ⇒ Object (readonly)
Returns the value of attribute document.
4 5 6 |
# File 'app/services/geo_concerns/discovery/document_builder.rb', line 4 def document @document end |
#geo_concern ⇒ Object (readonly)
Returns the value of attribute geo_concern.
4 5 6 |
# File 'app/services/geo_concerns/discovery/document_builder.rb', line 4 def geo_concern @geo_concern end |
Instance Method Details
#basic_metadata_builder ⇒ BasicMetadataBuilder
Instantiates a BasicMetadataBuilder object. Builds fields such as id, subject, and publisher.
36 37 38 |
# File 'app/services/geo_concerns/discovery/document_builder.rb', line 36 def BasicMetadataBuilder.new(geo_concern) end |
#builders ⇒ CompositeBuilder
Instantiates a CompositeBuilder object with an array of builder instances that are used to create the document.
22 23 24 25 26 27 28 29 30 31 |
# File 'app/services/geo_concerns/discovery/document_builder.rb', line 22 def builders @builders ||= CompositeBuilder.new( , spatial_builder, date_builder, references_builder, layer_info_builder, slug_builder ) end |
#date_builder ⇒ DateBuilder
Instantiates a DateBuilder object. Builds date fields such as layer year and modified date.
50 51 52 |
# File 'app/services/geo_concerns/discovery/document_builder.rb', line 50 def date_builder DateBuilder.new(geo_concern) end |
#layer_info_builder ⇒ LayerInfoBuilder
Instantiates a LayerInfoBuilder object. Builds fields about the geospatial file such as geometry and format.
64 65 66 |
# File 'app/services/geo_concerns/discovery/document_builder.rb', line 64 def layer_info_builder LayerInfoBuilder.new(geo_concern) end |
#references_builder ⇒ ReferencesBuilder
Instantiates a ReferencesBuilder object. Builds service reference fields such as thumbnail and download url.
57 58 59 |
# File 'app/services/geo_concerns/discovery/document_builder.rb', line 57 def references_builder ReferencesBuilder.new(geo_concern, root_path) end |
#root_path ⇒ DocumentPath
Returns a document path object. Used to get urls for links in the document.
15 16 17 |
# File 'app/services/geo_concerns/discovery/document_builder.rb', line 15 def root_path @root_path ||= DocumentPath.new(geo_concern) end |
#slug_builder ⇒ SlugBuilder
Instantiates a SlugBuilder object. Builds the Geoblacklight slug field
71 72 73 |
# File 'app/services/geo_concerns/discovery/document_builder.rb', line 71 def slug_builder SlugBuilder.new(geo_concern) end |
#spatial_builder ⇒ SpatialBuilder
Instantiates a SpatialBuilder object. Builds spatial fields such as bounding box and solr geometry.
43 44 45 |
# File 'app/services/geo_concerns/discovery/document_builder.rb', line 43 def spatial_builder SpatialBuilder.new(geo_concern) end |