Sha256: 3c5365adff173387b14065b40bf1aac3311deacf62e97f0e4e2b7a759de78e20
Contents?: true
Size: 1.18 KB
Versions: 3
Compression:
Stored size: 1.18 KB
Contents
module GeoConcerns module Discovery class DocumentBuilder class SpatialBuilder attr_reader :geo_concern def initialize(geo_concern) @geo_concern = geo_concern end # Builds spatial fields such as bounding box and solr geometry. # @param [AbstractDocument] discovery document def build(document) document.geo_rss_coverage = to_geo_rss document.solr_coverage = to_solr end private # Parses coverage field from geo work and instantiates a coverage object. # @return [GeoConcerns::Coverage] coverage object def coverage @coverage ||= GeoConcerns::Coverage.parse(geo_concern.coverage.first) end # Returns the coverage as georss. # @return [String] coverage in georss format def to_geo_rss "#{coverage.s} #{coverage.w} #{coverage.n} #{coverage.e}" end # Returns the coverage in solr format. # @return [String] coverage in solr format def to_solr "ENVELOPE(#{coverage.w}, #{coverage.e}, #{coverage.n}, #{coverage.s})" end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems