Sha256: 276f8ed8ff1adfd9e3dfe1f8745798da415f0c70b157aaf715213d6069b3119c

Contents?: true

Size: 572 Bytes

Versions: 6

Compression:

Stored size: 572 Bytes

Contents

module GeoWorks
  module Discovery
    class DocumentBuilder
      class SlugBuilder
        attr_reader :geo_concern

        def initialize(geo_concern)
          @geo_concern = geo_concern
        end

        def build(document)
          document.slug = slug
        end

        # Returns the document slug for use in discovery systems.
        # @return [String] document slug
        def slug
          return geo_concern.id unless geo_concern.provenance
          "#{geo_concern.provenance.parameterize}-#{geo_concern.id}"
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
geo_works-0.2.0 app/services/geo_works/discovery/document_builder/slug_builder.rb
geo_works-0.1.4 app/services/geo_works/discovery/document_builder/slug_builder.rb
geo_works-0.1.3 app/services/geo_works/discovery/document_builder/slug_builder.rb
geo_works-0.1.2 app/services/geo_works/discovery/document_builder/slug_builder.rb
geo_works-0.1.1 app/services/geo_works/discovery/document_builder/slug_builder.rb
geo_works-0.1.0 app/services/geo_works/discovery/document_builder/slug_builder.rb