Sha256: 3e9d9bc25fab73ee7fa8b8ddedbf2fd213ca658af2da0a450058b5a98e336ba4
Contents?: true
Size: 1.14 KB
Versions: 8
Compression:
Stored size: 1.14 KB
Contents
module GeoConcerns class EventsGenerator class GeoblacklightEventGenerator < BaseEventsGenerator def record_created(record) publish_message( message("CREATED", record) ) end def record_deleted(record) publish_message( delete_message("DELETED", record) ) end def record_updated(record) publish_message( message("UPDATED", record) ) end def message(type, record) base_message(type, record).merge("exchange" => :geoblacklight, "doc" => generate_document(record)) end def delete_message(type, record) base_message(type, record).merge("exchange" => :geoblacklight, "id" => slug(record)) end private def generate_document(record) Discovery::DocumentBuilder.new(record, Discovery::GeoblacklightDocument.new) end def slug(record) return record.id unless record.respond_to?(:provenance) "#{record.provenance.parameterize}-#{record.id}" end end end end
Version data entries
8 entries across 8 versions & 1 rubygems